/* REJOUICE services composition, with the existing Buro type roles.
 * Measured source and intentional adaptations: evidence/services-reference-v1.
 */
.paak-services {
  padding: 0 var(--paak-lower-gutter);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 2rem;
  align-items: start;
  --services-indent: 15.278vw;
  --services-gap: 2rem;
  scroll-margin-top: 8rem;
}
.paak-service-intro {
  grid-column: 1 / span 4;
  min-height: 0;
  padding: 0 3rem 0 0;
}
.paak-content .paak-services-lead {
  width: 100%;
  font-size: var(--paak-type-section);
  line-height: var(--paak-leading-heading);
  letter-spacing: var(--paak-tracking-heading);
  text-indent: 0;
  font-weight: 400;
}
.paak-service-capabilities {
  display: grid;
  grid-column: 5 / -1;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  column-gap: var(--services-gap);
  margin-inline: 0;
  padding-bottom: var(--paak-lower-section-compact);
}
.paak-content .paak-services-label {
  grid-column: 1 / span 4;
  font: inherit;
}
.paak-services-label > span {
  display: block;
  position: sticky;
  top: calc(50svh - 0.5lh);
}
.paak-services-summary {
  grid-column: 1 / -1;
  max-width: var(--paak-lower-copy-measure);
  margin-bottom: 4.8rem;
}
.paak-services-label {
  grid-row: 1 / span 3;
}
.paak-services-list {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
  list-style: none;
}
.paak-services-item {
  position: relative;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  column-gap: var(--services-gap);
  padding-top: 1.4rem;
}
.paak-services-item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: currentColor;
  opacity: 0.25;
  transform-origin: left;
  transition: transform 1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.paak-services-item h3 {
  grid-column: 1 / span 2;
  margin: 0;
  font: inherit;
  text-align: center;
}
.paak-services-item > ul {
  grid-column: 3 / span 4;
  list-style: none;
  font-size: var(--paak-type-label);
  line-height: var(--paak-leading-body);
  letter-spacing: var(--paak-tracking-body);
}
.paak-engagements {
  padding: 0 var(--paak-lower-gutter) var(--paak-lower-section-compact);
}
.paak-engagement-layout {
  border-top: 1px solid var(--paak-border-on-light);
  padding-top: var(--paak-lower-row-space);
  align-items: start;
}
.paak-engagement-layout h2 {
  grid-column: 1 / span 4;
  text-wrap: balance;
}
.paak-engagement-options {
  grid-column: 5 / -1;
}
.paak-engagement-options ul {
  list-style: none;
}
.paak-engagement-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--paak-lower-gap);
  padding-block: var(--paak-lower-row-space);
  border-top: 1px solid var(--paak-border-on-light);
}
.paak-engagement-row:first-child {
  padding-top: 0;
  border-top: 0;
}
.paak-engagement-row h3 {
  font: inherit;
}
.paak-engagement-options .paak-action {
  margin-top: var(--paak-lower-gap);
}
.paak-services-link {
  grid-column: 5 / -1;
  margin-top: 6rem;
}
.paak-service-word {
  display: inline-block;
  vertical-align: top;
  overflow: clip;
  text-indent: 0;
  max-width: 100%;
}
.paak-service-word > span {
  display: inline-block;
  text-indent: 0;
  max-width: 100%;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--word-delay, 0ms);
}
.paak-services.motion-ready
  [data-service-reveal]:not(.is-visible)
  .paak-service-word
  > span {
  transform: translateY(110%);
}
.paak-services.motion-ready .paak-services-item:not(.is-visible)::before {
  transform: scaleX(0);
}
@media (width >= 1512px) {
  .paak-services {
    --services-indent: var(--paak-indent-wide);
  }
}
@media (width < 1024px) {
  .paak-services {
    --services-indent: 0px;
    --services-gap: 0.4rem;
  }
  .paak-services {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 4rem;
  }
  .paak-service-intro {
    grid-column: 1;
    padding: 0;
    max-width: 28ch;
  }
  .paak-service-capabilities {
    grid-column: 1;
  }
  .paak-service-capabilities {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .paak-content .paak-services-label {
    grid-column: 1 / -1;
    margin-bottom: 2.8rem;
    font-size: var(--paak-type-heading);
    line-height: var(--paak-leading-heading);
    letter-spacing: var(--paak-tracking-heading);
  }
  .paak-services-label > span {
    position: static;
  }
  .paak-services-label {
    grid-row: auto;
  }
  .paak-services-summary,
  .paak-services-list,
  .paak-services-link {
    grid-column: 1 / -1;
  }
  .paak-services-item {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (width < 768px) {
  .paak-engagement-layout h2,
  .paak-engagement-options {
    grid-column: 1 / -1;
  }
  .paak-engagement-layout {
    row-gap: var(--paak-lower-row-space);
  }
  .paak-engagement-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--paak-lower-gap);
  }
}
@media (prefers-reduced-motion: reduce) {
  .paak-services .paak-service-word > span,
  .paak-services .paak-services-item::before {
    transition: none;
  }
  .paak-services.motion-ready
    [data-service-reveal]:not(.is-visible)
    .paak-service-word
    > span {
    transform: none;
  }
  .paak-services.motion-ready .paak-services-item:not(.is-visible)::before {
    transform: none;
  }
}

/* Bring the approved phone ordinal treatment onto larger screens. */
@media (width >= 768px) {
  .page-home .paak-services-item h3 {
    line-height: 1.1;
  }
  .page-home .paak-services-item h3 .paak-service-number {
    display: block;
    font-size: 48px;
    line-height: 1;
    letter-spacing: -0.055em;
    margin-bottom: 12px;
  }
}
/* Keep the section label beside the list throughout the desktop chapter. */
@media (width >= 1024px) {
  .page-home .paak-service-intro {
    align-self: stretch;
  }
  .page-home .paak-service-intro .paak-services-lead {
    position: sticky;
    top: 96px;
  }
}
