.gv-hero { padding-top: 88px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 16px; }
.gv-hero h1 { font-size: clamp(2.4rem, 5vw, 3.8rem); line-height: 1.06; letter-spacing: -0.035em; max-width: 14ch; margin: 0; }
.gv-lead { margin: 0; font-size: 18px; line-height: 1.6; color: var(--text-2); max-width: 36rem; }
.gv-note {
  margin: 4px 0 0; padding: 14px 16px; max-width: 36rem; font-size: 14px; line-height: 1.5; color: var(--text-body);
  border-radius: 14px; background: var(--surface); box-shadow: 0 0 0 1px var(--line);
}

.gv-list { margin: 0; list-style: none; }
.gv-item {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px 64px;
  padding: 32px 0; border-top: 1px solid var(--line);
}
.gv-item:last-child { border-bottom: 1px solid var(--line); }
.gv-item h2 { margin: 0; display: flex; align-items: baseline; gap: 12px; font-size: 22px; letter-spacing: -0.01em; }
.gv-num { font-family: 'Bodoni Moda', 'Didot', Georgia, serif; font-weight: 400; font-size: 30px; line-height: 1; color: #8E1B4B; }
.gv-body p { margin: 0 0 12px; font-size: 16px; line-height: 1.65; color: var(--text-2); max-width: 40rem; }
.gv-links { margin: 8px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.gv-links a {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; color: var(--text);
  text-decoration: underline; text-underline-offset: 3px;
}
.gv-links a::after { content: "\2197"; margin-left: 8px; font-size: 13px; text-decoration: none; }
.gv-links a:hover { color: #8E1B4B; }
.gv-reviewed { margin: 0; padding-top: 28px; padding-bottom: 72px; font-size: 14px; color: var(--text-2); }

@media (min-width: 900px) {
  .gv-item { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); }
}
