/* EVはもうここにある — Apple風ミニマル */
.ev-here-page {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Hiragino Sans", "Noto Sans JP", sans-serif;
  color: #1d1d1f;
  background: #fbfbfd;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.ev-here-hero {
  position: relative;
  padding-bottom: 3rem;
  background: linear-gradient(180deg, #f5f5f7 0%, #fbfbfd 100%);
}
.ev-here-hero__illus { width: 100%; overflow: hidden; }
.hero-illustration { width: 100%; height: auto; display: block; max-height: 420px; }
.ev-here-hero__copy { max-width: 720px; padding-top: 2rem; }
.ev-here-eyebrow { font-size: .875rem; color: #6e6e73; letter-spacing: .04em; text-transform: none; }
.ev-here-hero h1 { font-size: clamp(1.75rem, 4vw, 2.75rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
.ev-here-lead { font-size: 1.125rem; color: #424245; margin-top: 1rem; }
.ev-here-section { padding: clamp(2.5rem, 6vw, 4rem) 1rem; }
.ev-here-section--soft { background: #f5f5f7; }
.ev-here-section h2 { font-size: clamp(1.35rem, 3vw, 1.75rem); font-weight: 600; letter-spacing: -.01em; margin-bottom: 1rem; }
.ev-here-section-lead { color: #6e6e73; max-width: 640px; }
.ev-here-prose { max-width: 680px; font-size: 1.05rem; }
.ev-here-prose ul { padding-left: 1.25rem; }
.ev-here-muted { color: #6e6e73; }
.ev-here-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.btn-ev-here-primary, .btn-ev-here-ghost {
  display: inline-block; padding: .75rem 1.25rem; border-radius: 980px;
  font-weight: 600; text-decoration: none; font-size: .95rem;
}
.btn-ev-here-primary { background: #1d1d1f; color: #fff; }
.btn-ev-here-primary:hover { background: #333; color: #fff; }
.btn-ev-here-ghost { background: transparent; color: #1d1d1f; border: 1px solid #d2d2d7; }
.btn-ev-here-ghost:hover { background: #f5f5f7; color: #1d1d1f; }
.ev-here-timeline-wrap { overflow-x: auto; margin-top: 1.5rem; }
.timeline-illustration { min-width: 800px; width: 100%; height: auto; }
.ev-here-disclaimer { font-size: .85rem; color: #86868b; margin-bottom: 1.25rem; }
.voice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; }
.voice-card {
  background: #fff; border-radius: 18px; padding: 1.25rem;
  box-shadow: 0 2px 16px rgba(0,0,0,.06); border: 1px solid #e8e8ed;
}
.voice-card__illus { display: flex; justify-content: center; margin-bottom: .5rem; }
.manga-avatar { width: 88px; height: auto; }
.voice-card__region { font-size: .8rem; color: #86868b; margin: 0; }
.voice-card__quote { font-size: 1rem; font-weight: 500; margin: .5rem 0 0; border: none; padding: 0; }
.ev-here-article-list { columns: 2; column-gap: 2rem; padding-left: 1.2rem; }
@media (max-width: 640px) { .ev-here-article-list { columns: 1; } }
.ev-here-footer { padding: 2rem 1rem 3rem; color: #6e6e73; font-size: .875rem; }
.ev-here-footer-note { margin-top: .5rem; }
.ev-here-article-hero { padding: 2.5rem 1rem 1rem; max-width: 760px; }
.ev-here-breadcrumb { font-size: .85rem; color: #86868b; margin-bottom: 1rem; }
.ev-here-breadcrumb a { color: #424245; }
.ev-here-article-body { padding-bottom: 3rem; max-width: 760px; }
.ev-here-faq { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid #e8e8ed; }
.ev-here-faq-item h3 { font-size: 1rem; font-weight: 600; margin-top: 1rem; }
.ev-here-related { margin-top: 2.5rem; }
.ev-here-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .75rem; }
.ev-here-related-card {
  display: block; padding: 1rem; background: #fff; border-radius: 12px;
  border: 1px solid #e8e8ed; text-decoration: none; color: #1d1d1f; font-weight: 500;
}
.ev-here-related-card:hover { background: #f5f5f7; color: #1d1d1f; }
