.page-hero { align-items: center; padding-bottom: 0; }
.page-hero-bg { background-image: url('../images/hero-video.jpg'); }

.intro-section { padding: clamp(60px, 8vw, 100px) clamp(20px, 5vw, 80px) clamp(40px, 5vw, 60px); display: flex; flex-direction: column; align-items: center; gap: 32px; }
.intro-title-block { display: flex; flex-direction: column; align-items: center; width: 100%; }
.intro-divider-v { width: 1px; height: 80px; background: var(--navy); margin: 0 auto; }
.intro-ghost { font-family: 'Inter', sans-serif; font-weight: 800; font-size: clamp(36px, 5vw, 64px); color: var(--navy); opacity: 0.1; text-align: center; line-height: 1.4; white-space: nowrap; user-select: none; margin-top: 8px; }
.intro-title { font-family: 'Inter', sans-serif; font-weight: 800; font-size: clamp(20px, 2.5vw, 28px); color: var(--navy); text-align: center; margin-top: -8px; }
.intro-desc { max-width: 800px; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; font-size: 15px; color: #333; line-height: 2.2; }

.case-section { padding: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 80px); }
.case-heading { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-bottom: 48px; }
.case-heading-en { font-family: 'Inter', sans-serif; font-weight: 800; font-size: clamp(36px, 5vw, 48px); color: var(--navy); line-height: 1.1; }
.case-heading-ja { font-family: 'Inter', sans-serif; font-weight: 800; font-size: 16px; color: var(--dark); letter-spacing: 0.2em; }
.works-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; max-width: 1260px; margin: 0 auto; }
.work-item { display: flex; flex-direction: column; gap: 10px; }
.work-thumb { width: 100%; aspect-ratio: 406 / 220; border-radius: 4px; overflow: hidden; background: #eee; }
.work-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s; }
.work-thumb img:hover { transform: scale(1.04); }
.work-client { font-family: 'Noto Sans JP', sans-serif; font-weight: 500; font-size: 12px; color: var(--dark); letter-spacing: 0.1em; text-align: center; }
.work-title { font-family: 'Inter', sans-serif; font-weight: 800; font-size: 15px; color: var(--dark); }
.case-more { display: flex; justify-content: flex-end; margin-top: 32px; max-width: 1260px; margin-left: auto; margin-right: auto; }
.case-more-link { display: flex; align-items: center; gap: 6px; font-family: 'Inter', sans-serif; font-weight: 800; font-size: 15px; color: var(--dark); text-decoration: none; }
.case-more-link:hover { color: var(--navy); }
.case-more-link .material-icons { font-size: 18px; }

@media (max-width: 900px) { .works-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; } }
@media (max-width: 640px) {
  .works-grid { grid-template-columns: 1fr; gap: 24px; }
  .intro-ghost { white-space: normal; font-size: 28px; }
}
