/* Service pages extend SGS's existing Archivo/Satoshi and black/copper brand.
   Content is visible from first paint. No additional JavaScript dependency. */
.service-page .hdr { background:var(--ink); color:var(--bone); }
.service-page .hdr__tel { color:var(--bone); }
.breadcrumbs { padding-top:calc(var(--hdr-h) + 30px); color:var(--on-dark-mute); font-size:14px; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:12px; list-style:none; padding:0; margin:0; }
.breadcrumbs li + li::before { content:"/"; margin-right:12px; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.service-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:clamp(28px,5vw,76px); align-items:center; padding:40px 0 clamp(60px,7vw,100px); }
.service-hero h1 { font-size:clamp(38px,4.7vw,72px); text-transform:uppercase; line-height:1.04; overflow-wrap:normal; }
.service-hero h1 span { display:block; color:var(--copper-l); font-family:var(--sans); font-size:clamp(17px,1.7vw,24px); font-weight:500; text-transform:none; letter-spacing:0; line-height:1.4; margin-top:22px; }
.service-hero__copy > p { color:var(--on-dark-mute); font-size:18px; max-width:34em; margin-top:22px; }
.service-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:30px; }
.service-hero__image { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; object-position:center; }
.service-body { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); align-items:start; gap:clamp(36px,7vw,110px); padding:clamp(45px,6vw,80px) 0; border-top:1px solid rgba(241,236,228,.2); }
.service-copy h2,.service-prepare h2,.service-faq h2,.service-related h2 { font-size:clamp(25px,2.5vw,36px); font-weight:600; line-height:1.2; margin-bottom:20px; }
.service-copy p,.service-prepare p,.service-prepare li,.service-faq p { color:var(--on-dark-mute); line-height:1.75; }
.service-copy section { margin-top:40px; }
.service-prepare { background:var(--ink-2); padding:clamp(24px,3vw,40px); }
.service-prepare h2 { font-family:var(--sans); font-size:23px; }
.service-prepare ul { list-style:disc; padding-left:20px; margin:22px 0; }
.service-prepare li + li { margin-top:12px; }
.service-prepare p + p { margin-top:20px; }
.service-work-link { margin-top:30px; }
.service-copy a,.service-related a { color:var(--copper-l); text-decoration:underline; text-underline-offset:5px; }
.service-faq { max-width:850px; padding-bottom:60px; }
.service-faq details { border-bottom:1px solid rgba(241,236,228,.2); padding:22px 0; }
.service-faq summary { cursor:pointer; color:var(--bone); font-size:19px; font-weight:700; padding-right:12px; }
.service-faq p { padding-top:18px; max-width:46em; }
.service-related { padding:20px 0 80px; }
.service-related ul { display:flex; flex-wrap:wrap; gap:16px 32px; }
.service-related a { display:inline-block; padding:8px 0; }
.service-page a:focus-visible,.service-page summary:focus-visible { outline:2px solid var(--copper-l); outline-offset:6px; }
@media (max-width:767px) {
  .service-hero,.service-body { grid-template-columns:minmax(0,1fr); }
  .service-hero { padding-top:30px; gap:36px; }
  .service-hero h1 { font-size:clamp(26px,8vw,52px); }
  .service-hero__image { max-height:440px; }
  .service-actions { gap:20px; }
  .service-actions .btn { padding-inline:20px; }
  .service-related ul { display:grid; gap:10px; }
}
