/* ─── Article page (light editorial) ──────────────────────────────── */
.post {
  max-width: 740px; margin: 0 auto; padding: 64px 40px 32px;
}
.post__meta {
  display: flex; align-items: center; gap: 14px; font-family: var(--mono);
  font-size: 12px; color: var(--fg-3); margin-bottom: 28px; flex-wrap: wrap;
  letter-spacing: 0.04em;
}
.post__date, .post__time { font-family: var(--mono); }
.post__title {
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 48px); line-height: 1.08; margin: 0 0 28px;
  font-weight: 400; letter-spacing: -0.025em;
  font-variation-settings: "SOFT" 30, "opsz" 144;
}
.post__lead {
  font-family: var(--sans); font-size: 20px; line-height: 1.55;
  color: var(--fg); margin: 0 0 40px; padding-bottom: 32px;
  border-bottom: 1px solid var(--line); font-weight: 400;
}

.post__body { font-size: 17px; line-height: 1.78; color: var(--fg); max-width: 680px; }
.post__body h2 {
  font-family: var(--serif); font-size: 28px; margin: 56px 0 20px;
  font-weight: 400; letter-spacing: -0.015em;
  font-variation-settings: "SOFT" 30, "opsz" 144;
}
.post__body p { margin: 0 0 22px; color: var(--fg); }
.post__body em { font-style: italic; }
.post__body strong, .post__body b { font-weight: 600; color: var(--fg); }
.post__body a { color: var(--accent); border-bottom: 1px solid var(--accent); }
.post__body a:hover { background: rgba(196,74,20,0.08); }

.post__body p:first-of-type::first-letter {
  font-family: var(--serif); font-size: 72px; line-height: 0.85;
  float: left; padding-right: 14px; padding-top: 6px;
  color: var(--accent); font-weight: 400;
  font-variation-settings: "SOFT" 30, "opsz" 144;
}

.post__take {
  background: var(--bg-1); border-left: 4px solid var(--accent);
  padding: 24px 28px; margin: 40px 0 0 !important; font-size: 17px;
  font-family: var(--serif); font-weight: 400; line-height: 1.6;
  font-variation-settings: "SOFT" 30, "opsz" 144;
}
.post__take strong { color: var(--accent); font-family: var(--sans); font-weight: 600; font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; }

.post__ft {
  max-width: 680px; margin: 64px auto 0; padding: 24px 0;
  border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--mono); font-size: 12px;
}
.post__back { color: var(--fg-3); }
.post__back:hover { color: var(--accent); }

@media (max-width: 720px) {
  .post { padding: 40px 20px 24px; }
  .post__title { font-size: 28px; }
  .post__lead { font-size: 17px; }
  .post__body { font-size: 16px; }
  .post__body h2 { font-size: 22px; }
}
