/* Open editorial service rows: a typographic pause between hero and portfolio. */
.services--editorial {
  width:100%;
  max-width:none;
  padding:72px 0 30px;
  background:var(--color-pearl);
  border-top:1px solid var(--color-line);
}
.services--editorial .services__heading { margin-bottom:38px; }
.services__list { border-top:1px solid #15223830; }
.service-row {
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  column-gap:20px;
  row-gap:14px;
  align-items:start;
  padding:30px 0;
  border-bottom:1px solid #15223826;
}
.service-row::after {
  content:'';
  position:absolute;
  bottom:-1px;
  left:0;
  right:0;
  height:2px;
  background:var(--color-orange);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .65s var(--ease);
  pointer-events:none;
}
.service-row__leading {
  grid-column:1;
  grid-row:1 / 3;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:17px;
}
.service-row__number {
  font-size:2rem;
  line-height:1;
  font-weight:var(--weight-light);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.06em;
  color:#747e8d;
}
.service-row__icon {
  width:38px;
  height:38px;
  fill:none;
  stroke:var(--color-bordeaux);
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .5s var(--ease);
}
.service-row__heading { grid-column:2; min-width:0; }
.service-row__category {
  font-size:.875rem;
  font-weight:var(--weight-medium);
  letter-spacing:.035em;
  line-height:1.6;
  color:var(--color-muted);
  margin-bottom:9px;
}
.service-row__title {
  font-size:clamp(1.55rem,3.1vw,2.2rem);
  line-height:1.2;
  letter-spacing:-.045em;
  font-weight:var(--weight-bold);
  color:var(--color-navy);
  transition:color .3s;
}
.service-row__description {
  grid-column:2;
  margin:0;
  max-width:40ch;
  color:var(--color-muted);
  font-size:1.125rem;
  line-height:1.75;
}
.services--editorial .services__closing { margin-top:25px; }
@media(hover:hover) {
  .service-row:hover::after { transform:scaleX(1); }
  .service-row:hover .service-row__title { color:var(--color-bordeaux); }
  .service-row:hover .service-row__icon { transform:rotate(-8deg) translateY(-2px); }
}
@media(min-width:768px) {
  .service-row {
    grid-template-columns:115px minmax(0,1fr) minmax(230px,.9fr);
    column-gap:26px;
    align-items:center;
    padding:33px 0;
    min-height:155px;
  }
  .service-row__leading { grid-row:1; flex-direction:row; align-items:center; gap:22px; }
  .service-row__number { font-size:2.5rem; }
  .service-row__icon { width:42px; height:42px; flex-shrink:0; }
  .service-row__description { grid-column:3; }
  .service-row__title { font-size:1.8rem; }
}
@media(min-width:1180px) {
  .service-row { grid-template-columns:155px minmax(0,1fr) minmax(300px,.85fr); gap:42px; padding:35px 0; min-height:160px; }
  .service-row__leading { gap:30px; }
  .service-row__number { font-size:2.9rem; }
  .service-row__icon { width:47px; height:47px; }
  .service-row__title { font-size:2.15rem; }
  .service-row__description { font-size:1.125rem; padding-right:18px; }
}
@media(max-width:599px) {
  .services--editorial { padding-top:54px; }
  .services--editorial .services__heading { margin-bottom:30px; }
}
@media(prefers-reduced-motion:reduce) {
  .service-row::after,.service-row__icon,.service-row__title { transition:none; }
}
