.ts-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.5rem;
  min-height: 44px;
  border-radius: 8px;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid #185FA5;
  transition: transform .12s ease, background-color .12s ease;
}
.ts-btn--primary { background: #185FA5; color: #fff; }
.ts-btn--secondary { background: transparent; color: #185FA5; }

.ts-btn:hover { transform: translateY(-1px); }
.ts-btn--primary:hover { background: #0C447C; }
.ts-btn--secondary:hover { background: #E6F1FB; }
.ts-btn:active { transform: translateY(0); }
.ts-btn:focus-visible { outline: 2px solid #185FA5; outline-offset: 2px; }

.ts-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .625rem;
  justify-content: center;
  margin: 1.5rem 0 2rem;
}

.wrapper > .content {
  flex-direction: column;
}

.home-intro {
  display: block;
  text-align: left;
  max-width: 60rem;
  width: 100%;
  margin: 1rem auto 3rem;
  padding: 0 1rem;
  line-height: 1.6;
}
.home-intro h2 {
  margin-top: 2.5rem;
  margin-bottom: 0.5rem;
}
.home-intro p {
  margin-bottom: 1rem;
}

.post-list-item {
  margin: 0 0 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(128, 128, 128, 0.2);
}
.post-list-item {
  margin: 0 0 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(128, 128, 128, 0.2);
}
.post-list-item:last-of-type {
  border-bottom: none;
}
.post-list-title {
  margin: 0 0 0.3rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3;
}
.post-list-meta {
  font-size: 1.4rem;
  opacity: 0.65;
  margin-bottom: 0.8rem;
}
.post-list-tag {
  margin-right: 0.3rem;
}
.post-list-summary {
  margin: 0 0 0.6rem;
  line-height: 1.6;
  opacity: 0.9;
}
.post-list-more {
  font-size: 1.4rem;
}

.container.page p,
.container.page li,
.container.list p,
.container.list li,
.post-list-summary {
  line-height: 1.6;
}

.container.page article img {
  display: block;
  max-width: 480px;
  width: 100%;
  height: auto;
  margin: 1.5rem auto;
  border: 1px solid rgba(128, 128, 128, 0.25);
  border-radius: 4px;
  cursor: zoom-in;
}
