/* Additional layouts used only by the six service-detail pages. */
.service-detail h1 { font-size: clamp(36px, 4.15vw, 60px); overflow-wrap: anywhere; hyphens: manual; }
.service-detail .sd-hero-photo .op-photo img { aspect-ratio: 1 / 1; }
.service-detail .sd-hero-photo .op-hero-layout { gap: clamp(32px, 4vw, 64px); }
.service-detail .sd-hero-photo .op-hero-note { font-size: 14px; }
.service-detail .sd-editorial-hero { padding-block: 48px 64px; }
.service-detail .sd-editorial-hero h1 { max-width: 1000px; margin: 0 0 32px; }
.service-detail .sd-lead-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(250px, .7fr); gap: clamp(40px, 7vw, 100px); }
.service-detail .sd-lead-layout .op-lead { margin-top: 0; }
.service-detail .sd-aside { border-top: 3px solid var(--rh-yellow); padding-top: 22px; align-self: start; }
.service-detail .sd-aside > strong { display: block; font-size: 22px; line-height: 1.3; }
.service-detail .sd-aside p { font-size: 16px; color: #cbd0c5; margin: 14px 0 0; }
.service-detail .sd-light-hero { background: #e9ebe4; color: #151515; }
.service-detail .sd-light-hero .op-breadcrumb, .service-detail .sd-light-hero .op-lead, .service-detail .sd-light-hero .sd-aside p { color: #50564d; }
.service-detail .sd-light-hero .eyebrow { color: #645800; }
.service-detail .sd-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; }
.service-detail .sd-summary > article { border-top: 2px solid #171b14; padding-top: 24px; }
.service-detail .sd-summary h3 { margin: 0 0 14px; }
.service-detail .sd-summary p { color: #50564d; }
.service-detail .sd-question { padding: 28px 0; border-top: 1px solid #c7cbbf; }
.service-detail .sd-question:first-child { padding-top: 0; border: 0; }
.service-detail .sd-question h3 { margin: 0 0 12px; }
.service-detail .sd-question p { margin: 0; color: #50564d; }
.service-detail .sd-copy-note { max-width: 900px; font-size: 15px; color: #63665f; margin-top: 28px; }
.service-detail .sd-related { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 36px; }
.service-detail .sd-related a { display: block; color: #151515; text-decoration: none; border-top: 2px solid #151515; padding-top: 20px; }
.service-detail .sd-related a strong { display: block; font-size: 20px; margin-bottom: 12px; }
.service-detail .sd-related a span { display: block; color: #50564d; font-size: 16px; line-height: 1.6; }
.service-detail .sd-related a:hover strong { text-decoration: underline; text-underline-offset: 5px; }
.service-detail .op-checks li:last-child { margin-bottom: 0; }
.service-detail .op-faq summary { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .service-detail h1 { font-size: clamp(32px, 8.3vw, 46px); }
  .service-detail .sd-hero-photo .op-photo img { aspect-ratio: 4 / 3; }
  .service-detail .sd-editorial-hero { padding-block: 32px 44px; }
  .service-detail .sd-editorial-hero h1 { margin-bottom: 24px; }
  .service-detail .sd-lead-layout, .service-detail .sd-summary, .service-detail .sd-related { grid-template-columns: 1fr; gap: 30px; }
  .service-detail .sd-aside { padding-top: 18px; }
  .service-detail .sd-aside > strong { font-size: 20px; }
}
