/* Service articles use a readable introduction and keep related links after the article on mobile. */
.servicePage .postHero { height: auto; min-height: 0; }
.servicePage .postHero .aboutHeroCopy {
  position: relative;
  left: auto;
  bottom: auto;
  width: auto;
  padding: clamp(64px, 7vw, 96px) 6vw;
}
.servicePage .postHero .aboutHeroCopy h1 {
  max-width: 24ch;
  font-size: clamp(36px, 4.5vw, 64px);
  line-height: 1.08;
  margin: 16px 0 24px;
}
.servicePage .postHero .aboutHeroCopy > p:last-child {
  max-width: 60ch;
  font: 18px/1.6 Arial, sans-serif;
  letter-spacing: normal;
  text-transform: none;
  opacity: 1;
  margin: 0;
}
.servicePage .postWrap { padding: 40px 5vw 0; max-width: 1280px; margin: 0 auto; }
.servicePage .postBack { display: inline-block; margin-bottom: 32px; }
.servicePage .postLayout {
  grid-template-columns: minmax(0, 680px) minmax(240px, 280px);
  gap: clamp(40px, 5vw, 64px);
  justify-content: start;
}
.servicePage .post { max-width: none; padding: 0 0 64px; font: 17px/1.7 Arial, sans-serif; }
.servicePage .post p { margin: 0 0 20px; }
.servicePage .post h2 {
  margin: 48px 0 16px;
  font-size: clamp(28px, 2.6vw, 38px);
  line-height: 1.15;
  letter-spacing: -.025em;
  text-transform: none;
  text-wrap: initial;
}
.servicePage .post > h2:first-child { margin-top: 0; }
.servicePage .post h3 { margin: 28px 0 12px; font-size: 22px; line-height: 1.3; text-wrap: initial; }
.servicePage .post ul, .servicePage .post ol { margin: 0 0 24px; padding-left: 24px; }
.servicePage .post ul { list-style: disc; }
.servicePage .post ol { list-style: decimal; }
.servicePage .post li { margin-bottom: 12px; }
.servicePage .post summary { display: flex; gap: 16px; align-items: baseline; justify-content: space-between; text-transform: none; }
.servicePage .post summary h3 { margin: 0; font-size: 19px; line-height: 1.4; letter-spacing: normal; }
.servicePage .post summary::after { float: none; flex-shrink: 0; }
.servicePage .post details p { margin: 16px 0 0; }
.servicePage .postAside { padding-top: 0; gap: 32px; }

@media (max-width: 1080px) {
  .servicePage .postLayout { grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 680px; margin: 0 auto; }
  .servicePage .post { order: 0; padding-bottom: 48px; }
  .servicePage .postAside { order: 1; position: static; max-width: none; padding: 0 0 64px; }
}
@media (max-width: 800px) {
  .servicePage .postHero .aboutHeroCopy { padding: 48px 5vw; }
  .servicePage .postHero .aboutHeroCopy h1 { max-width: none; font-size: clamp(34px, 7.6vw, 48px); }
  .servicePage .postHero .aboutHeroCopy > p:last-child { font-size: 16px; }
  .servicePage .postWrap { padding-top: 32px; }
  .servicePage .postBack { margin-bottom: 24px; font-size: 12px; }
  .servicePage .post { font-size: 16px; }
  .servicePage .post h2 { margin-top: 40px; }
  .servicePage .post h3 { font-size: 21px; }
}
