/* Four service groups, in the reference order. Existing local fonts only. */
.ribbon.service-ribbon {
  display:block;
  padding:34px 5%;
  color:var(--ink);
  background:var(--lime);
  scroll-margin-top:calc(var(--header-height,98px) + 20px);
}
.service-ribbon .service-list {
  display:grid;
  grid-template-columns:1.13fr 1.32fr 1fr 1.05fr;
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:0;
  list-style:none;
  gap:0;
}
.service-ribbon .service-item { position:relative; min-width:0; padding:0 26px; }
.service-ribbon .service-item:first-child { padding-left:0; }
.service-ribbon .service-item:last-child { padding-right:0; }
.service-ribbon .service-content {
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:76px;
  min-width:0;
}
.service-ribbon .service-icon { flex:0 0 28px; width:28px; height:28px; margin-top:3px; }
.service-ribbon .service-copy { min-width:0; }
.service-ribbon h2 {
  margin:0 0 6px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.25rem,1.65vw,1.5rem);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.02em;
}
.service-ribbon p { margin:0; font-family:var(--sans); font-size:.75rem; line-height:1.65; font-weight:400; }
.service-ribbon .service-phone { white-space:nowrap; }
.service-ribbon .service-email { overflow-wrap:anywhere; }
.service-ribbon a:hover h2 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.service-ribbon a:focus-visible { outline:2px solid var(--ink); outline-offset:6px; }

@media (min-width:1600px) {
  .service-ribbon p { font-size:.8125rem; }
  .service-ribbon .service-item { padding-left:34px; padding-right:34px; }
}
@media (max-width:1100px) and (min-width:601px) {
  .service-ribbon .service-list { grid-template-columns:1fr 1fr; gap:32px 0; max-width:780px; }
  .service-ribbon .service-item { padding:0 28px; }
  .service-ribbon .service-item:nth-child(odd) { padding-left:0; }
  .service-ribbon .service-item:nth-child(even) { padding-right:0; }
  .service-ribbon h2 { font-size:1.5rem; }
  .service-ribbon p { font-size:.8125rem; }
}
@media (max-width:600px) {
  .ribbon.service-ribbon { padding:30px 7%; }
  .service-ribbon .service-list { grid-template-columns:1fr; gap:34px; max-width:380px; }
  .service-ribbon .service-item { padding:0; }
  .service-ribbon .service-content { min-height:62px; gap:14px; }
  .service-ribbon h2 { font-size:1.5rem; margin-bottom:5px; }
  .service-ribbon p { font-size:.8125rem; line-height:1.6; }
  .service-ribbon .service-icon { flex-basis:26px; width:26px; height:26px; margin-top:2px; }
}

.service-ribbon .service-item:not(:last-child)::after{content:"";position:absolute;right:0;top:4px;bottom:4px;width:1px;background:currentColor;opacity:.22}
@media(max-width:1100px) and (min-width:601px){.service-ribbon .service-item:nth-child(even)::after{display:none}}
@media(max-width:600px){.service-ribbon .service-item:not(:last-child)::after{top:auto;bottom:-17px;left:40px;right:0;width:auto;height:1px}}
