
/* Skins Ganlyo 9.2 — estructuras únicas */
.nv-s1__topline, .nv-s4__meta-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px;
  margin-bottom: 0.75rem; font-size: 0.85rem; color: var(--nv-text-muted, #64748b);
}
.nv-s1__date, .nv-s4__date { color: var(--nv-text-muted, #64748b); }
.nv-s1__byline, .nv-s2__byline, .nv-s3__byline, .nv-s4__byline {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 12px; margin: 1rem 0 1.25rem; padding-bottom: 1rem;
  border-bottom: 1px solid var(--gn-border, #e2e8f0);
}
.nv-s1__title, .nv-s2__title, .nv-s3__title, .nv-s4__title {
  font-family: "Source Serif 4", Georgia, serif !important;
  font-size: clamp(1.85rem, 4.5vw, 2.75rem) !important;
  font-weight: 700 !important; line-height: 1.15; letter-spacing: -0.03em;
  margin: 0.35rem 0 0.75rem;
}
.nv-s1__excerpt, .nv-s2__dek, .nv-s3__excerpt, .nv-s4__excerpt {
  font-size: 1.12rem; color: #64748b; line-height: 1.5; margin: 0 0 0.5rem;
  border: none !important; padding: 0 !important;
}
.nv-s2__hero { margin: 0 0 1.25rem; border-radius: 14px; overflow: hidden; }
.nv-s2__hero img { width: 100%; display: block; max-height: 480px; object-fit: cover; }
.nv-s3__rule { height: 1px; background: #e2e8f0; margin: 0 0 1.25rem; border: 0; }
.nv-s3__title { font-size: clamp(1.95rem, 4.8vw, 2.9rem) !important; }
.nv-s4__title { font-size: clamp(2rem, 5vw, 3rem) !important; }

.nv-s5 { border-top: 4px solid #dc2626; padding-top: 0.75rem; }
.nv-s5__kicker {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 0.75rem;
  padding: 5px 12px; background: #dc2626; color: #fff !important;
  font-size: 0.72rem !important; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase; border-radius: 4px;
}
.nv-s5__title { font-weight: 900 !important; letter-spacing: -0.03em; }

.nv-s6 { background: linear-gradient(180deg, var(--nv-skin-soft, #fef9c3) 0%, transparent 120px); border-radius: 16px; padding: 1rem 1rem 0; }
.nv-s6__verdict {
  background: #fff; border: 1px solid #e2e8f0; border-left: 4px solid var(--nv-skin-accent, #ca8a04);
  border-radius: 12px; padding: 14px 18px !important; font-weight: 600;
}
.nv-s7 { border-left: 4px solid #1e3a8a; padding-left: 1.25rem; }
.nv-s7__title { font-family: Inter, sans-serif !important; font-weight: 800 !important; font-size: clamp(1.55rem, 3.6vw, 2.2rem) !important; }

.nv-s8 { max-width: 38rem; margin: 0 auto; }
.nv-s8__title { font-family: "Source Serif 4", Georgia, serif !important; text-align: center; font-size: clamp(1.9rem, 4.5vw, 2.7rem) !important; }
.nv-s8__lead { text-align: center; font-size: 1.2rem !important; color: #64748b; border: none !important; }
.nv-s8 .nv-meta-line { justify-content: center; }
.nv-s8 .nv-single__content { font-family: "Source Serif 4", Georgia, serif; font-size: 1.12rem; line-height: 1.8; }

/* Author */
.nv-author-hero {
  display: grid; grid-template-columns: 160px 1fr; gap: 28px; align-items: start;
  margin-bottom: 1.5rem; padding: 8px 0 8px;
}
@media (max-width: 700px) {
  .nv-author-hero { grid-template-columns: 1fr; text-align: center; justify-items: center; }
}
.nv-author-hero__img { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; display: block; box-shadow: 0 8px 28px rgba(15,23,42,.1); }
.nv-author-hero__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: #64748b; margin: 0 0 4px; }
.nv-author-hero__name { font-family: "Source Serif 4", Georgia, serif; font-size: clamp(1.75rem, 4vw, 2.4rem); margin: 0 0 12px; letter-spacing: -0.03em; }
.nv-author-hero__bio { color: #475569; line-height: 1.6; max-width: 40rem; }
.nv-author-hero__meta { color: #64748b; font-size: 0.9rem; }
.nv-author-hero__rule { border: 0; border-top: 2px solid #0f172a; margin: 0 0 1.75rem; }

/* 404 */
.nv-404 { padding: 3rem 16px 4rem; }
.nv-404__hero { text-align: center; max-width: 560px; margin: 0 auto 3rem; }
.nv-404__code {
  font-size: clamp(4rem, 12vw, 7rem); font-weight: 900; line-height: 1;
  background: linear-gradient(135deg, #1d4ed8, #0ea5e9); -webkit-background-clip: text; color: transparent;
  margin: 0;
}
.nv-404__title { font-family: "Source Serif 4", Georgia, serif; font-size: 1.75rem; margin: 0.5rem 0; }
.nv-404__text { color: #64748b; }
.nv-404__search { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin: 1.5rem 0; }
.nv-404__search input {
  flex: 1; min-width: 200px; max-width: 320px; padding: 12px 14px;
  border: 1px solid #e2e8f0; border-radius: 10px; font: inherit;
}
.nv-btn--ghost { background: transparent !important; color: #1d4ed8 !important; border: 1px solid #cbd5e1 !important; box-shadow: none !important; }
.nv-404__latest h2 { font-size: 1.15rem; margin-bottom: 1rem; font-family: Inter, sans-serif; }
