/* The same paper, type and palette, with room for practical service details. */
.service-page { background: var(--paper); }
.service-page .site-header { background: #f7f6f1f5; border-bottom-color: var(--line); }
.service-main { max-width: 1480px; padding-top: 135px; }
.breadcrumbs { color: var(--muted); font-size: 11px; line-height: 1.7; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px 12px; list-style: none; margin: 0; padding: 0; }
.breadcrumbs li + li::before { content: '/'; margin-right: 12px; color: var(--gold); }
.breadcrumbs a { display: inline-block; padding-block: 10px; text-decoration: underline; text-underline-offset: 4px; }
.breadcrumbs li[aria-current] { padding-block: 10px; }
.service-hero { padding-block: 75px 90px; }
.service-hero > .eyebrow, .section-heading > .eyebrow, .service-contact .eyebrow { color: var(--gold); margin-bottom: 28px; }
.service-page h1 { max-width: 1060px; font-size: clamp(52px, 6.6vw, 98px); line-height: 1.07; letter-spacing: -.055em; font-weight: 380; }
.service-page h1 em { font-size: 1.04em; line-height: inherit; letter-spacing: -.035em; }
.service-lead { max-width: 740px; margin-top: 38px; font-size: 18px; color: #4f606a; line-height: 1.8; }
.service-location { margin-top: 22px; font-size: 12px; color: var(--gold); }
.service-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 15px 26px; margin-top: 32px; }
.service-actions .text-link { margin: 0; gap: 20px; }
.service-actions .primary-link { gap: 30px; }
.service-section { border-top: 1px solid var(--line); padding-block: 70px; }
.section-heading h2, .service-contact h2 { font-size: clamp(42px, 4.5vw, 66px); line-height: 1.08; }
.section-heading > p:not(.eyebrow) { max-width: 410px; font-size: 14px; margin-top: 25px; color: var(--muted); }
.split-section { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 9%; }
.service-copy { min-width: 0; }
.service-copy h3, .process-list h3 { font-size: 21px; line-height: 1.4; letter-spacing: -.02em; font-weight: 450; margin: 0 0 13px; scroll-margin-top: 125px; }
.service-copy h3:not(:first-child) { margin-top: 38px; }
.service-copy p, .process-list p, .service-copy li { font-size: 15px; color: #4f606a; line-height: 1.85; }
.service-copy p + p { margin-top: 20px; }
.service-copy p a { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; }
.service-copy ul { padding-left: 21px; margin-block: 24px; }
.service-copy li { padding-left: 5px; margin-block: 8px; }
.service-copy .text-link { margin-block: 12px 25px; }
.service-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 45px; }
.service-card { display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--line); padding: 32px 26px; background: #fff5; transition: border-color .25s; }
.service-card:hover { border-color: var(--gold); }
.service-card .eyebrow { color: var(--gold); font-size: 9px; }
.service-card h3 { font-size: 27px; font-weight: 400; line-height: 1.25; letter-spacing: -.03em; margin-top: 26px; }
.service-card p { font-size: 14px; color: var(--muted); margin-block: 20px 30px; }
.card-link { display: flex; justify-content: space-between; gap: 15px; width: 100%; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); color: var(--blue); font-size: 12px; line-height: 1.5; }
.process-list { list-style: none; counter-reset: step; margin: 0; padding: 0; }
.process-list li { counter-increment: step; position: relative; padding-left: 45px; }
.process-list li + li { margin-top: 35px; }
.process-list li::before { content: '0' counter(step); position: absolute; left: 0; top: 4px; color: var(--gold); font-size: 11px; }
.service-faq details { border-bottom: 1px solid var(--line); }
.service-faq summary { cursor: pointer; padding-block: 22px; font-size: 16px; line-height: 1.5; }
.service-faq details:first-child summary { padding-top: 0; }
.service-faq p { font-size: 14px; color: var(--muted); line-height: 1.85; padding-bottom: 25px; }
.service-contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 9%; padding-block: 75px; border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.service-contact .service-actions { margin-bottom: 25px; }
.service-copy .service-contact-note { font-size: 12px; color: var(--muted); margin-top: 25px; }
.related-services { display: flex; flex-wrap: wrap; gap: 10px 35px; border-top: 1px solid var(--line); padding-block: 25px 60px; }
.related-services a { display: flex; gap: 18px; align-items: center; min-height: 44px; color: var(--blue); font-size: 12px; }
.related-services a:hover { color: var(--gold); }
.service-page .site-footer { padding-bottom: 60px; padding-top: 30px; }
@media(max-width:1000px) {
  .service-cards { gap: 16px; }
  .service-card { padding: 26px 20px; }
  .service-card h3 { font-size: 24px; }
  .split-section, .service-contact { gap: 6%; }
}
@media(max-width:760px) {
  .service-main { padding-top: 110px; }
  .breadcrumbs { font-size: 10px; }
  .service-hero { padding-block: 45px 60px; }
  .service-page h1 { font-size: clamp(40px, 9.2vw, 65px); }
  .service-lead { margin-top: 28px; font-size: 16px; }
  .service-location { font-size: 11px; }
  .service-actions { gap: 12px 20px; margin-top: 25px; }
  .service-section { padding-block: 50px; }
  .split-section, .service-contact { grid-template-columns: 1fr; gap: 38px; }
  .section-heading h2, .service-contact h2 { font-size: clamp(40px, 10vw, 58px); }
  .service-cards { grid-template-columns: 1fr; gap: 20px; margin-top: 35px; }
  .service-card { padding: 28px; }
  .service-card h3 { font-size: 27px; }
  .service-copy p, .process-list p, .service-copy li { font-size: 14px; }
  .service-contact { padding-block: 50px; }
  .related-services { flex-direction: column; gap: 6px; padding-bottom: 45px; }
  .service-page .site-footer { padding-bottom: 100px; }
}
@media(forced-colors:active) {
  .service-card, .service-section, .service-contact, .service-faq details, .related-services { border-color: CanvasText; }
}
