/* Special moving: customer-level explanation and authentic field photographs. */
.special-page main > section { padding: 64px 0; }
.special-page .sp-hero { padding: 24px 0 64px !important; }
.sp-hero > .glow { width: 640px; height: 520px; left: -280px; top: 0; }
.sp-hero-grid { display: grid; gap: 32px; align-items: center; }
.sp-hero-copy { min-width: 0; }
.special-page .sp-hero h1 { font: 900 clamp(36px,4.3vw,62px)/1.2 var(--hot-font); letter-spacing: -.035em; margin: 0 0 24px; }
.sp-kicker { display: block; color: var(--or); font-size: .48em; letter-spacing: .02em; margin-bottom: 16px; }
.special-page .sp-hero p.sp-lede { font-size: 18px; line-height: 1.8; max-width: 33em; }
.sp-hero-art { margin: 0 auto; width: 100%; max-width: 520px; }
.sp-hero-art img { display: block; width: 100%; height: auto; max-height: 600px; object-fit: contain; }
.sp-text-link { display: inline-flex; align-items: center; min-height: 48px; text-decoration: underline; text-underline-offset: 6px; }
.sp-quote-note { font-size: 14px; color: #a7a7a7; margin-top: 16px; }
.special-page .label { margin-bottom: 20px; }
.special-page h2 { font-size: clamp(28px,3.2vw,44px); line-height: 1.3; letter-spacing: -.025em; max-width: 26em; }
.special-page h3 { font-size: 22px; font-weight: 800; }
.sp-situation-grid, .sp-process-grid, .sp-case-grid { display: grid; gap: 32px; }
.sp-situation-grid article { border-top: 1px solid #ccc; padding-top: 24px; }
.sp-index { display: block; color: var(--or); font-weight: 700; font-size: 14px; margin-bottom: 20px; }
.wh .sp-index { color: #d62a1a; }
.sp-process-grid { list-style: none; margin: 0; padding: 0; }
.sp-process-grid li { min-width: 0; border-top: 1px solid #444; padding-top: 24px; }
.sp-process-grid img { display: block; width: 100%; height: 230px; object-fit: contain; margin: 0 0 24px; }
.special-page .sp-process-grid p.copy { max-width: 28em; }
.sp-case-grid { margin-top: 32px; }
.sp-case-grid figure { margin: 0; min-width: 0; display: flex; flex-direction: column; }
.sp-case-grid figure > a { display: block; aspect-ratio: 3 / 4; background: #eee; border-radius: 4px; overflow: hidden; }
.sp-case-grid img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sp-case-grid figcaption { padding-top: 24px; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.sp-case-grid figcaption .copy { flex: 1; }
.sp-photo-link { display: inline-flex; min-height: 44px; align-items: center; text-decoration: underline; text-underline-offset: 5px; }
.sp-enquiry-grid { display: grid; gap: 40px; align-items: start; }
.sp-checklist { list-style: none; padding: 0; margin: 24px 0 32px; }
.sp-checklist li { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 16px; border-top: 1px solid #444; padding: 16px 0; }
.sp-checklist b { color: var(--or); }
.sp-checklist span { color: #c9c9c9; }
.sp-service-notes { margin-top: 32px; }
.special-page .sp-service-notes p.copy { font-size: 14px; margin-bottom: 8px; }
.special-page .sp-form-wrap .panel { padding: 24px; margin: 0; border: 1px solid #555; background: #151515; border-radius: 4px; }
.sp-form-wrap .input { width: 100%; min-width: 0; }
.special-page .sp-form-wrap h3 { margin-bottom: 24px; }
.sp-form-wrap .consent { grid-template-columns: 24px minmax(0,1fr); }
.sp-form-wrap .field label { display: block; }
.special-page .sp-final h2 { max-width: 20em; }
.special-page .sp-final .copy { margin-top: 24px; }
@media (min-width: 840px) {
  .special-page main > section { padding: 88px 0; }
  .special-page .sp-hero { padding: 32px 0 80px !important; }
  .sp-hero-grid { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: 56px; }
  .sp-situation-grid, .sp-process-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
  .sp-case-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
  .sp-enquiry-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; }
  .sp-process-grid img { height: 240px; }
}
@media (max-width: 839.98px) {
  .sp-hero-art { max-width: 350px; }
  .sp-hero-art img { max-height: 410px; }
  .special-page .sp-form-wrap .panel { padding: 20px 16px; }
}
