.page-hero.service-photo {
  min-height: 540px;
  display: grid;
  align-items: center;
  background-image: linear-gradient(90deg, rgba(20, 21, 20, .93) 0%, rgba(20, 21, 20, .78) 48%, rgba(20, 21, 20, .35) 100%), var(--service-bg);
  background-position: center;
  background-size: cover;
}

.page-hero.service-photo .page-hero-lockup { grid-template-columns: 105px minmax(0, 820px); }
.page-hero.service-photo .button { margin-top: 14px; }
.breadcrumbs { display: flex; gap: 10px; align-items: center; min-height: 58px; color: #666; font-size: .9rem; }
.breadcrumbs a { color: var(--orange); font-weight: 700; }
.service-content { padding-top: 58px; }
.service-content .content > p { font-size: 1.06rem; }
.check-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.check-list li { position: relative; padding: 14px 14px 14px 42px; margin: 0; background: var(--soft); border-left: 3px solid var(--orange); }
.check-list li::before { content: "✓"; position: absolute; left: 16px; color: var(--orange); font-weight: 700; }
.guarantee-box { margin: 52px 0; padding: 34px; display: grid; grid-template-columns: 175px 1fr; gap: 30px; align-items: center; background: var(--charcoal); color: #fff; border-top: 5px solid var(--orange); }
.guarantee-box img { width: 175px; }
.guarantee-box h2 { color: #fff; margin-top: 0; font-size: 2rem; }
.guarantee-box p { margin-bottom: 10px; }
.faq { margin-top: 56px; }
.faq details { border-top: 1px solid var(--line); padding: 18px 0; }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; list-style: none; font-size: 1.06rem; font-weight: 700; padding-right: 34px; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: -5px; color: var(--orange); font-size: 1.65rem; }
.faq details[open] summary::after { content: "–"; }
.faq details p { color: #555; margin: 12px 34px 0 0; }
.related { margin-top: 56px; }
.related-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.related-links a { display: flex; justify-content: space-between; gap: 12px; padding: 18px; background: var(--soft); border-bottom: 3px solid var(--orange); font-weight: 700; }
.related-links span { color: var(--orange); }

@media (max-width: 900px) {
  .page-hero.service-photo { min-height: 500px; background-position: 58% center; }
  .check-list { grid-template-columns: 1fr; }
  .guarantee-box { grid-template-columns: 140px 1fr; }
  .guarantee-box img { width: 140px; }
}

@media (max-width: 600px) {
  .page-hero.service-photo { min-height: 560px; background-position: 62% center; }
  .page-hero.service-photo .page-hero-lockup { grid-template-columns: 60px 1fr; align-items: start; }
  .page-hero.service-photo .page-hero-icon { width: 58px; height: 58px; }
  .breadcrumbs { overflow: hidden; white-space: nowrap; }
  .guarantee-box { grid-template-columns: 1fr; padding: 28px; }
  .guarantee-box img { width: 150px; }
  .related-links { grid-template-columns: 1fr; }
}
