/* Service pages share the site's typography, palette and assets. */
.service-page { -webkit-user-select: text; user-select: text; }
.service-page a:focus-visible, .service-page summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 5px; }
.service-header { padding: 24px 0; color: var(--cream); background: var(--ink); border-bottom: 1px solid var(--white-line); }
.service-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.service-header img { width: 200px; height: auto; }
.service-header nav { display: flex; flex-wrap: wrap; gap: 24px; font-size: 13px; }
.service-header a:hover { color: var(--gold-bright); }
.service-phone { white-space: nowrap; font-size: 14px; }
.service-intro { color: var(--ivory); background: var(--ink-soft); padding: 24px 0 70px; }
.service-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; color: #c7b9a9; font-size: 12px; margin-bottom: 52px; }
.service-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.service-intro-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }
.service-intro h1 { font-size: clamp(34px, 4.2vw, 63px); overflow-wrap: break-word; }
.service-lead { margin: 26px 0 30px; color: #dfd3c6; font-size: 17px; }
.service-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.service-secondary { font-size: 12px; color: var(--gold-bright); }
.service-intro figure { margin: 0; }
.service-intro figure img { width: 100%; height: auto; aspect-ratio: 16 / 11; object-fit: cover; }
.service-intro figcaption { margin-top: 10px; font-size: 11px; color: #c7b9a9; }
.service-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 90px; padding: 74px 0 90px; align-items: start; }
.service-article section + section { margin-top: 48px; }
.service-article h2 { font-size: clamp(27px, 3vw, 38px); margin-bottom: 22px; line-height: 1.2; }
.service-article p { color: #5d5148; margin-bottom: 18px; }
.service-article p a { color: var(--coffee); text-decoration: underline; text-underline-offset: 4px; }
.service-aside { position: sticky; top: 28px; }
.service-aside-inner { background: var(--cream); padding: 28px; }
.service-aside nav { display: grid; margin-bottom: 24px; }
.service-aside nav a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.service-aside nav a[aria-current="page"] { font-weight: 700; }
.service-aside nav a span { color: var(--coffee-light); }
.service-aside-inner > p:not(.eyebrow) { font-size: 13px; color: var(--coffee); }
.service-aside .btn { padding-inline: 15px; }
.service-article details { border-top: 1px solid var(--line); padding: 18px 0; }
.service-article details:last-child { border-bottom: 1px solid var(--line); }
.service-article summary { cursor: pointer; font-weight: 600; }
.service-article details p { margin: 16px 0 0; }
.service-contact { background: var(--coffee); color: var(--ivory); padding: 68px 0; }
.service-contact > .container { display: grid; grid-template-columns: 1.3fr 1fr; gap: 100px; }
.service-contact h2 { font-size: clamp(34px, 4vw, 50px); margin-bottom: 24px; }
.service-contact h3 { font-size: 17px; }
.service-contact p { max-width: 490px; color: #e0d2c4; }
.service-contact address { font-style: normal; margin-bottom: 18px; }
.service-contact > .container > div:last-child > a { display: block; margin-top: 8px; color: var(--gold-bright); }
.service-footer { color: #c7b9a9; background: #0e0b09; padding: 30px 0; font-size: 12px; }
.service-footer > .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.service-footer nav { display: flex; gap: 22px; flex-wrap: wrap; }
@media (max-width: 1000px) {
  .service-header-inner { flex-wrap: wrap; gap: 20px; }
  .service-header nav { order: 3; width: 100%; gap: 25px; }
  .service-intro-grid { gap: 30px; }
  .service-content-grid { grid-template-columns: minmax(0, 1fr) 260px; gap: 40px; }
  .service-aside-inner { padding: 22px; }
  .service-contact > .container { gap: 45px; }
}
@media (max-width: 700px) {
  .service-page .container { width: calc(100% - 36px); }
  .service-header { padding: 18px 0; }
  .service-header img { width: 165px; }
  .service-phone { font-size: 12px; }
  .service-header nav { justify-content: space-between; gap: 10px; font-size: 12px; }
  .service-intro { padding-bottom: 36px; }
  .service-breadcrumb { margin-bottom: 32px; font-size: 11px; }
  .service-intro-grid, .service-content-grid, .service-contact > .container { grid-template-columns: 1fr; }
  .service-intro-grid { gap: 32px; }
  .service-lead { font-size: 16px; }
  .service-intro figure img { aspect-ratio: 16 / 9; }
  .service-content-grid { padding: 42px 0 48px; gap: 40px; }
  .service-article section + section { margin-top: 36px; }
  .service-aside { position: static; }
  .service-contact { padding: 44px 0; }
  .service-footer > .container { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 370px) {
  .service-header img { width: 140px; }
  .service-phone { font-size: 11px; }
  .service-intro h1 { font-size: 31px; }
}
