.detail-page { overflow-x: hidden; }
.detail-page .site-header { background: rgba(246, 241, 232, .98); color: var(--ink); box-shadow: 0 1px 0 var(--line); }

.space-hero { padding: clamp(150px, 13vw, 210px) 0 clamp(86px, 9vw, 140px); background: var(--paper); }
.space-hero-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(52px, 7vw, 100px); align-items: center; }
.space-hero h1 { max-width: 620px; margin-bottom: 26px; }
.space-hero .section-copy { max-width: 570px; }
.space-overview-media { aspect-ratio: 3 / 2; min-height: 390px; }

.space-feature-list { margin-top: 64px; border-top: 1px solid var(--line); }
.space-feature { display: grid; grid-template-columns: 110px .65fr 1fr; gap: 34px; padding: 34px 0; border-bottom: 1px solid var(--line); align-items: start; }
.space-feature b, .space-step b { color: var(--red); font-family: var(--serif); font-size: 2rem; font-weight: 500; line-height: 1; }
.space-feature h3 { margin: 0; font-family: var(--serif); font-size: 1.45rem; }
.space-feature p { margin: 0; color: var(--muted); }

.space-usage { background: var(--paper); }
.space-usage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 56px; }
.space-usage-card { min-width: 0; }
.space-usage-card .media { aspect-ratio: 3 / 2; min-height: 330px; }
.space-usage-card h3 { margin: 22px 0 8px; font-family: var(--serif); font-size: 1.45rem; }
.space-usage-card p { color: var(--muted); }

.activity-list { display: grid; grid-template-columns: repeat(3, 1fr); margin: 58px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.activity-list li { min-height: 112px; display: flex; align-items: center; padding: 24px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.12rem; }
.activity-list li:nth-child(3n) { border-right: 0; }

.space-process { background: var(--green); color: #fff; }
.space-process .eyebrow { color: #ded5c8; }
.space-process-list { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 60px; border-top: 1px solid rgba(255,255,255,.35); }
.space-step { position: relative; padding: 28px 22px 12px 0; border-right: 1px solid rgba(255,255,255,.25); }
.space-step:last-child { border-right: 0; }
.space-step b { display: block; margin-bottom: 28px; color: #e4c1b7; }
.space-step span { display: block; max-width: 170px; font-weight: 650; line-height: 1.55; }

.space-check-grid { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(55px, 9vw, 130px); align-items: start; }
.inquiry-list { margin: 0; padding: 28px 0 0; border-top: 1px solid var(--line); list-style: none; }
.inquiry-list li { padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--red); font-weight: 650; }

.space-location { background: var(--deep-red); color: #fff; }
.space-location .eyebrow { color: #e4c1b7; }
.space-location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 8vw, 120px); align-items: end; }
.location-details { padding: 34px 0 0; margin: 38px 0 0; border-top: 1px solid rgba(255,255,255,.32); }
.location-details dt { margin-top: 18px; color: #e4c1b7; font-size: .8rem; font-weight: 700; }
.location-details dd { margin: 3px 0 0; font-size: 1.08rem; }
.space-location .button { background: #fff; border-color: #fff; color: var(--deep-red); }
.space-location .button-secondary { background: transparent; color: #fff; }

@media (max-width: 1024px) {
  .space-hero-grid { grid-template-columns: 1fr; }
  .space-overview-media { order: -1; }
  .space-usage-card .media { width: 100%; aspect-ratio: auto; }
  .space-feature { grid-template-columns: 80px .75fr 1.25fr; }
  .activity-list { grid-template-columns: 1fr 1fr; }
  .activity-list li:nth-child(3n) { border-right: 1px solid var(--line); }
  .activity-list li:nth-child(2n) { border-right: 0; }
  .space-process-list { grid-template-columns: repeat(3, 1fr); }
  .space-step { padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.25); }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .detail-page .mobile-menu[aria-hidden="true"] { display: none; }
  .detail-page.menu-open .mobile-menu { display: block; }
}

@media (max-width: 767px) {
  .detail-page .site-footer { padding-bottom: 100px; }
  .space-hero { padding: 104px 0 78px; }
  .space-overview-media { min-height: 360px; aspect-ratio: auto; }
  .space-feature { grid-template-columns: 58px 1fr; gap: 20px; }
  .space-feature p { grid-column: 2; }
  .space-usage-grid, .space-check-grid, .space-location-grid { grid-template-columns: 1fr; }
  .space-usage-card .media { min-height: 350px; aspect-ratio: auto; }
  .activity-list { grid-template-columns: 1fr; }
  .activity-list li, .activity-list li:nth-child(2n), .activity-list li:nth-child(3n) { min-height: 80px; border-right: 0; }
  .space-process-list { grid-template-columns: 1fr; }
  .space-step { display: grid; grid-template-columns: 56px 1fr; align-items: center; padding: 22px 0; border-right: 0; }
  .space-step b { margin: 0; font-size: 1.55rem; }
  .space-location-grid { align-items: start; }
}
