.detail-hero { background: var(--ink); color: #fff; padding: 90px 0; }
.detail-hero__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 7vw; align-items: center; }
.detail-hero h1 { font-size: clamp(2.8rem,5.8vw,5.4rem); }
.detail-hero p { color: rgba(255,255,255,.67); font-size: 1.2rem; }
.detail-hero__visual img { border-radius: 30px; max-height: 600px; width: 100%; object-fit: cover; }
.back-link { margin-bottom: 28px; color: rgba(255,255,255,.76); font-weight: 720; }
.back-link:not(.back-link--icon) { display: flex; align-items: center; width: max-content; max-width: 100%; min-height: 44px; }
.back-link--icon { width: 48px; height: 48px; display: inline-grid; place-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; background: rgba(255,255,255,.06); color: #fff; font-size: 1.55rem; line-height: 1; transition: background .2s, border-color .2s, color .2s, box-shadow .2s, transform .2s; }
.back-link--icon span { display: block; transform: translateY(-1px); }
.back-link--icon:hover { border-color: rgba(255,255,255,.58); background: rgba(255,255,255,.12); color: var(--accent); box-shadow: 0 8px 18px rgba(0,0,0,.16); }
.back-link--icon:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(217,255,79,.24); }
.back-link--icon:active { transform: translateY(1px); background: rgba(255,255,255,.16); }
.detail-copy-grid { display: grid; grid-template-columns: .7fr 1fr; gap: 9vw; }
.ideal-panel { margin-top: 56px; padding: 32px; background: #fff; border-radius: 16px; }
.detail-help-panel { margin-top: 28px; padding: 32px; background: #fff; border-radius: 16px; display: grid; grid-template-columns: .7fr 1fr; gap: 7vw; }
.ideal-panel .check-list { grid-template-columns: repeat(2,1fr); }
@media (max-width: 1080px) {
  .detail-hero__grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .detail-hero { padding: 74px 0; }
  .detail-hero h1 { font-size: clamp(2.5rem, 12vw, 4.2rem); }
  .detail-hero p { font-size: 1.08rem; }
  .detail-hero__visual img { border-radius: 24px; max-height: 460px; }
  .detail-copy-grid, .detail-help-panel { grid-template-columns: 1fr; }
  .ideal-panel .check-list { grid-template-columns: 1fr; }
}
