/* -------------------------
   Header States
-------------------------- */

.header {
  transition: all 0.45s cubic-bezier(.4,0,.2,1);
}

/* Landing */
.header.landing {
  min-height: 65vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.header.landing h1 {
  font-size: 3.2rem;
}

.header.landing .intro {
  max-width: 520px;
  margin: 12px 0 24px;
  opacity: 0.75;
}

/* List */
.header.list {
  text-align: center;
  margin: 20px 0;
}

.header.list h1 {
  font-size: 1.6rem;
  opacity: 0.85;
}

/* Detail */
.header.detail {
  text-align: left;
  margin: 12px 0;
}

.header.detail h1 {
  font-size: 1.2rem;
  opacity: 0.7;
}

/* -------------------------
   Document UI
-------------------------- */

.doc-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.doc-card {
  width: 300px;
  padding: 18px;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.doc-card:hover {
  transform: translateY(-4px);
}

.doc-details {
  max-width: 720px;
  margin: 40px auto 120px;
  text-align: center;
}

.doc-details h2 {
  margin-top: 40px;
  font-size: 2rem;
}

.doc-links {
  display: flex;
  justify-content: center;
  gap: 14px;
}

.doc-links a {
  padding: 12px 22px;
  background: var(--accent);
  color: #fff;
  border-radius: 14px;
  text-decoration: none;
}

/* Footer */
footer {
  font-size: 11px;
  text-align: center;
  margin-top: auto;
}