/* One consistent service sequence, with related details grouped together. */
.sd-section { padding-block: clamp(32px, 3.2vw, 52px); }
.sd-expectations, .sd-faq { background: #f2f2f2; }
.sd-work, .sd-enquiry { background: #fff; }
.sd-heading { margin-bottom: 30px; }
.sd-heading h2 { max-width: 27ch; }
.sd-expectations .sd-benefit-grid { gap: 0; background: #fff; border: 1px solid #d5d5d5; border-top: 3px solid #222; }
.sd-expectations .sd-benefit-card { border: 0; border-radius: 0; padding: 22px; gap: 13px; }
.sd-expectations .sd-benefit-card + .sd-benefit-card { border-left: 1px solid #dedede; }
.sd-expectations .icon-tile { flex: 0 0 28px; width: 28px; height: 28px; background: none; }
.sd-expectations .icon-tile .ui-icon { width: 21px; height: 21px; }
.sd-expectations .sd-benefit-card h3 { font-size: 1.05rem; }
.sd-expectations .sd-benefit-card p { font-size: .88rem; line-height: 1.65; }
.sd-expectations-process { padding-top: 25px; }
.sd-subheading { margin: 0 0 17px; font-size: 1.05rem; line-height: 1.4; }
.sd-expectations .sd-process-steps { gap: 24px; }
.sd-expectations .sd-process-steps li { padding-top: 16px; gap: 12px; }
.sd-expectations .sd-process-steps h4 { font-size: 1rem; line-height: 1.4; margin: 0 0 7px; }
.sd-expectations .sd-process-steps p { font-size: .88rem; line-height: 1.65; }
.sd-expectations .sd-step-number { width: 30px; height: 32px; flex-basis: 30px; font-size: .7rem; }
.sd-work .section-heading { margin-bottom: 24px; }
.sd-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.sd-work-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); min-width: 0; background: #f6f6f6; border: 1px solid #d5d5d5; border-radius: 3px; overflow: hidden; color: #171717; text-decoration: none; }
.sd-work-image { position: relative; min-width: 0; min-height: 225px; overflow: hidden; }
.sd-work-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.sd-work-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 23px; min-width: 0; }
.sd-work-copy h3 { font-size: clamp(1.1rem, 1.4vw, 1.5rem); line-height: 1.25; margin: 0 0 11px; }
.sd-work-copy p { color: #555; font-size: .88rem; line-height: 1.65; margin: 0 0 13px; }
.sd-work-copy .text-link { font-size: .8rem; min-height: 36px; }
.sd-work-card:hover { border-color: #94192d; }
.sd-section-intro { color: #555; font-size: .93rem; line-height: 1.7; max-width: 42ch; margin-top: 16px; }
.sd-related { background: #f2f2f2; padding-block: 25px; }
.sd-related-inner { display: flex; align-items: flex-start; gap: 20px 44px; }
.sd-related h2 { font-size: 1.05rem; line-height: 1.5; min-width: 180px; margin-top: 9px; }
.sd-related-links { display: flex; flex-wrap: wrap; gap: 0 24px; }
.sd-related-links a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-size: .85rem; line-height: 1.5; text-decoration: none; color: #333; }
.sd-related-links a:hover { color: #94192d; text-decoration: underline; }
.sd-related-links .sd-all-services { color: #94192d; font-weight: 650; }

/* The inquiry and direct contact routes share the first content section. */
.page-contact .contact-form-layout { grid-template-columns: minmax(250px, .8fr) minmax(0, 1.5fr); grid-template-areas: 'intro form' 'direct form'; grid-template-rows: auto 1fr; gap: 30px clamp(30px, 4vw, 70px); }
.page-contact .contact-form-intro { grid-area: intro; max-width: 46ch; }
.page-contact .contact-form-layout > .enquiry-card { grid-area: form; }
.page-contact .contact-direct { grid-area: direct; min-width: 0; }
.page-contact .contact-direct > h3 { font-size: .88rem; margin: 0 0 12px; color: #555; font-weight: 500; line-height: 1.5; }
.page-contact .contact-direct-route { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 14px; padding-block: 17px; border-top: 1px solid #ccc; }
.page-contact .contact-direct-route h4 { font-size: .98rem; line-height: 1.4; margin: 0 0 5px; }
.page-contact .contact-direct-route p { color: #555; font-size: .83rem; line-height: 1.6; margin: 0 0 3px; }
.page-contact .contact-direct-route a { display: inline-flex; align-items: center; min-height: 44px; color: #94192d; font-size: 1.2rem; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; max-width: 100%; }
.page-contact .contact-direct-route a:hover { text-decoration: underline; }
.page-contact .contact-direct-route .contact-direct-email { font-size: .9rem; }
.page-contact .contact-local-grid { margin-top: 0; }
.page-contact .contact-accounting { border-top-width: 1px; }

@media (min-width: 1800px) {
  .page-contact .contact-form-layout { grid-template-columns: minmax(280px, .8fr) minmax(0, 1.5fr); }
}
@media (max-width: 1100px) {
  .sd-work-card { grid-template-columns: 1fr; }
  .sd-work-image { height: 240px; min-height: 0; }
  .sd-work-copy { padding: 22px; }
  .sd-related-inner { display: block; }
  .sd-related h2 { margin: 0 0 7px; }
}
@media (max-width: 800px) {
  .sd-expectations .sd-benefit-card { padding: 18px; }
  .sd-work-grid { gap: 16px; }
  .sd-work-image { height: 225px; }
}
@media (max-width: 760px) {
  .page-contact .contact-form-layout { grid-template-columns: 1fr; grid-template-areas: 'intro' 'form' 'direct'; grid-template-rows: auto; gap: 28px; }
  .page-contact .contact-direct-route { grid-template-columns: 36px minmax(0, 1fr); padding-block: 15px; }
  .page-contact .contact-direct-route p { max-width: 55ch; }
}
@media (max-width: 600px) {
  .sd-expectations .sd-benefit-grid { display: block; }
  .sd-expectations .sd-benefit-card { padding: 19px; }
  .sd-expectations .sd-benefit-card + .sd-benefit-card { border-left: 0; border-top: 1px solid #dedede; }
  .sd-expectations .sd-process-steps { gap: 17px; }
  .sd-work-grid { grid-template-columns: 1fr; }
  .sd-work-card { grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); }
  .sd-work-image { height: auto; min-height: 220px; }
  .sd-work-copy { padding: 18px; }
  .sd-work-copy p { font-size: .82rem; }
  .sd-work .section-heading { align-items: flex-start; gap: 13px; }
  .sd-related-links { display: grid; grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 390px) {
  .sd-work-card { grid-template-columns: 1fr; }
  .sd-work-image { height: 210px; min-height: 0; }
}
@media print {
  .sd-related { display: none; }
  .sd-expectations, .sd-work, .sd-faq { background: #fff; }
  .page-contact .contact-form-layout { display: block; }
  .page-contact .contact-direct { margin-top: 25px; }
}
