.gate {
  max-width: 960px;
}

.gate-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.gate-card {
  background: var(--ink-2);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 1.5rem 1.35rem 1.6rem;
}

.gate-card h2 {
  margin: 0 0 0.5rem;
  font-size: 1.45rem;
}

.gate-card .section-lead {
  margin-bottom: 1.1rem;
}

.gate-label {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 0.9rem;
  font-size: 0.9rem;
  color: var(--mute);
}

.gate-label input {
  width: 100%;
  padding: 0.65rem 0.75rem;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: var(--ink);
  color: var(--fog);
  font: inherit;
}

.gate-alert {
  background: rgba(180, 60, 60, 0.2);
  border: 1px solid rgba(240, 120, 120, 0.35);
  color: #ffc9c9;
  padding: 0.75rem 1rem;
  border-radius: 4px;
  margin: 0 0 1.25rem;
}

.gate-note {
  margin-top: 1.75rem;
  color: var(--mute);
  font-size: 0.9rem;
}

.gate-table-wrap {
  overflow-x: auto;
}

.gate-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.gate-table th,
.gate-table td {
  text-align: left;
  padding: 0.45rem 0.55rem;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.gate-table th {
  color: var(--teal);
  font-family: var(--font-display);
  font-weight: 700;
}

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