.service-content { padding-block:64px 96px; }
.service-intro-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 26px; margin-top:28px; }
.service-intro-actions .button { margin-top:0; }
.service-intro-actions>a:not(.button) { font-size:14px; padding-block:12px; text-decoration:underline; text-underline-offset:4px; }
.service-detail.service-detail-text { grid-template-columns:minmax(0,760px); }
.service-category { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:64px; padding-bottom:56px; margin-bottom:56px; border-bottom:1px solid var(--line); }
.service-category-intro h2,.service-detail h2,.service-contact h2,.service-related h2 { font-size:clamp(22px,2.4vw,30px); font-weight:500; letter-spacing:-.035em; line-height:1.2; }
.service-category-intro p { margin:18px 0 24px; color:var(--muted); font-size:15px; line-height:1.7; max-width:380px; }
.service-directory { list-style:none; padding:0; margin:0; }
.service-directory li+li { border-top:1px solid var(--line); }
.service-directory a { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:24px 0; }
.service-directory li:first-child a { padding-top:0; }
.service-directory strong { display:block; font-size:20px; font-weight:500; letter-spacing:-.02em; }
.service-directory span>span { display:block; margin-top:8px; max-width:520px; font-size:14px; line-height:1.65; color:var(--muted); }
.service-directory .icon { flex:none; width:20px; }
.service-directory a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.service-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:start; }
.service-detail-copy p,.service-detail-copy li { font-size:15px; line-height:1.8; color:var(--muted); }
.service-detail-copy ol { margin:22px 0 42px; padding-left:22px; }
.service-detail-copy li { padding-left:9px; margin-bottom:12px; }
.service-detail-copy h2+p { margin-top:18px; }
.service-detail-photo { margin:0; }
.service-detail-photo img { display:block; width:100%; height:auto; max-height:620px; object-fit:cover; }
.service-detail-photo figcaption { margin-top:12px; font-size:12px; line-height:1.6; color:var(--muted); }
.service-resources { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-top:32px; }
.service-resources .text-link { min-height:28px; }
.service-contact { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-block:38px; margin-top:54px; border-block:1px solid var(--line); }
.service-contact p { margin-top:12px; max-width:580px; font-size:15px; line-height:1.7; color:var(--muted); }
.service-contact p a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.service-related { margin-top:50px; max-width:760px; }
.service-related h2 { margin-bottom:28px; }
.service-content .text-link { font-size:14px; }
.remodel-service-related { padding-bottom:70px; }
.remodel-service-related h2 { margin-bottom:28px; }
@media(max-width:760px) {
  .service-content { padding-block:38px 64px; }
  .service-category,.service-detail { grid-template-columns:1fr; gap:30px; }
  .service-category { padding-bottom:32px; margin-bottom:36px; }
  .service-category-intro p { max-width:none; }
  .service-contact { align-items:flex-start; flex-direction:column; margin-top:36px; }
  .service-directory strong { font-size:18px; }
  .service-resources .text-link { min-height:40px; }
}
