.services-section .section-header.wide {
  max-width: 850px;
}

.services-section .section-header.wide h2 {
  max-width: 720px;
}

.services-accordion {
  --services-duration: 300ms;
  --services-ease: cubic-bezier(0.22, 1, 0.36, 1);
  margin-top: clamp(0.25rem, 1.2vw, 0.75rem);
}

.services-accordion__fallback {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.8fr);
  gap: var(--space-xl);
  border: 1px solid var(--color-border-strong);
  border-radius: 26px;
  background: var(--color-surface);
  padding: clamp(1.5rem, 4vw, 3rem);
}

.services-accordion__fallback article,
.services-accordion__fallback ol {
  display: grid;
  gap: var(--space-sm);
}

.services-accordion__fallback ul {
  columns: 2;
  padding-left: 1.2rem;
}

.services-accordion__fallback ol {
  padding-left: 1.4rem;
  color: var(--color-text-soft);
}

.services-accordion__items {
  display: flex;
  align-items: stretch;
  gap: 10px;
  min-height: 500px;
}

.services-accordion__item {
  position: relative;
  flex: 0 0 52px;
  min-width: 0;
  min-height: 500px;
  overflow: hidden;
  border: 1px solid var(--color-border-strong);
  border-radius: 26px;
  background: rgba(251, 248, 241, 0.76);
  transition:
    flex-basis var(--services-duration) var(--services-ease),
    flex-grow var(--services-duration) var(--services-ease),
    border-color 180ms ease,
    background-color 180ms ease;
}

.services-accordion__item.is-active {
  flex: 1 1 0;
  border-color: rgba(36, 79, 60, 0.62);
  background: var(--color-surface);
}

.services-accordion__item:not(.is-active):hover {
  border-color: rgba(36, 79, 60, 0.72);
  background: rgba(220, 231, 223, 0.35);
}

.services-accordion__tab {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  border: 0;
  background: transparent;
  padding: 0.8rem 0;
  color: var(--color-text);
}

.services-accordion__tab-number,
.services-accordion__tab-title {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.services-accordion__tab-number {
  position: absolute;
  top: 1.2rem;
  color: var(--color-text-muted);
  font-size: 0.66rem;
  font-weight: 780;
  letter-spacing: 0.08em;
}

.services-accordion__tab-title {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.015em;
  line-height: 1.15;
}

.services-accordion__tab-arrow {
  position: absolute;
  bottom: 1.1rem;
  color: var(--color-accent);
  font-size: 0.82rem;
}

.services-accordion__item.is-active > .services-accordion__tab {
  inset: 0 0 auto;
  height: 58px;
  justify-content: flex-start;
  border-bottom: 1px solid rgba(36, 79, 60, 0.14);
  padding: 0 1.45rem;
  pointer-events: none;
}

.services-accordion__item.is-active .services-accordion__tab-number,
.services-accordion__item.is-active .services-accordion__tab-title {
  position: static;
  writing-mode: horizontal-tb;
  transform: none;
}

.services-accordion__item.is-active .services-accordion__tab-title {
  font-size: 0.86rem;
}

.services-accordion__item.is-active .services-accordion__tab-arrow {
  display: none;
}

.services-accordion__panel {
  position: absolute;
  inset: 58px 0 0;
  display: grid;
  grid-template-columns: minmax(190px, 0.42fr) minmax(330px, 0.58fr);
  min-width: 650px;
  align-items: center;
  gap: clamp(1.2rem, 2.8vw, 2.5rem);
  padding: 0.7rem clamp(1.5rem, 3vw, 2.6rem);
}

.services-accordion__panel[hidden] {
  display: none;
}

.services-accordion__item.is-leaving .services-accordion__panel {
  display: grid;
  opacity: 0;
  transform: translate3d(calc(var(--services-direction) * -8px), -2px, 0);
  transition:
    opacity 180ms var(--services-ease),
    transform 180ms var(--services-ease);
}

.services-accordion__visual {
  display: grid;
  min-width: 0;
  place-items: center;
}

.services-accordion__illustration {
  width: min(100%, 260px);
  overflow: visible;
}

.services-accordion__illustration g,
.services-accordion__orbit,
.services-accordion__accent {
  fill: none;
  stroke: var(--color-accent);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
}

.services-accordion__orbit {
  stroke: var(--color-border);
  stroke-dasharray: 2 7;
}

.services-accordion__illustration .is-muted {
  stroke: var(--color-border-strong);
}

.services-accordion__accent {
  stroke: var(--color-text);
  stroke-width: 1.4;
}

.services-accordion__content {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 0.48rem;
}

.services-accordion__reference,
.services-accordion__help-label {
  color: var(--color-accent);
  font-size: 0.7rem;
  font-weight: 780;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.services-accordion__content h3 {
  max-width: 22ch;
  font-size: clamp(1.65rem, 2.5vw, 2.08rem);
  line-height: 1.12;
}

.services-accordion__description {
  max-width: 60ch;
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  line-height: 1.55;
}

.services-accordion__help-label {
  margin-top: 0.2rem;
}

.services-accordion__service-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 128px;
  overflow: auto;
  list-style: none;
  scrollbar-color: var(--color-border-strong) transparent;
}

.services-accordion__service-list li {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-items: center;
  min-height: 40px;
  border-top: 1px solid var(--color-border);
  padding: 0.55rem 0.65rem 0.55rem 0;
  color: var(--color-text);
  font-size: 0.77rem;
  font-weight: 630;
  line-height: 1.3;
}

.services-accordion__service-list li:nth-child(even) {
  padding-left: 0.65rem;
}

.services-accordion__service-list span {
  color: var(--color-text-muted);
  font-size: 0.65rem;
  font-weight: 760;
}

.services-accordion__toggle {
  justify-self: start;
  min-height: 34px;
  border: 0;
  background: transparent;
  color: var(--color-accent);
  padding: 0;
  font-size: 0.78rem;
  font-weight: 760;
}

.services-accordion__toggle:hover {
  color: var(--color-accent-hover);
}

.services-accordion__item.is-entering .services-accordion__panel {
  opacity: 0;
  transform: translate3d(calc(var(--services-direction) * 12px), 4px, 0);
  animation: services-content-enter 280ms var(--services-ease) 40ms forwards;
}

.services-accordion__footer {
  margin-top: 1rem;
  border-left: 2px solid rgba(36, 79, 60, 0.45);
  padding-left: 0.9rem;
  color: var(--color-text-soft);
  font-size: var(--text-sm);
}

@keyframes services-content-enter {
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* The introduction is the trigger for this one-time, section-specific sequence. */
.services-section.is-services-motion-ready:not(.is-services-visible) .section-header > *,
.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item,
.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__footer {
  opacity: 0;
}

.services-section.is-services-motion-ready:not(.is-services-visible) .section-header > .eyebrow {
  transform: translate3d(0, 10px, 0);
}

.services-section.is-services-motion-ready:not(.is-services-visible) .section-header > h2 {
  transform: translate3d(0, 22px, 0);
}

.services-section.is-services-motion-ready:not(.is-services-visible) .section-header > p:not(.eyebrow) {
  transform: translate3d(0, 16px, 0);
}

.services-section.is-services-motion-ready .section-header > *,
.services-section.is-services-motion-ready .services-accordion__item,
.services-section.is-services-motion-ready .services-accordion__footer {
  transition-timing-function: var(--services-ease);
}

.services-section.is-services-motion-ready.is-services-visible .section-header > .eyebrow {
  transition: opacity 400ms var(--services-ease), transform 400ms var(--services-ease);
}

.services-section.is-services-motion-ready.is-services-visible .section-header > h2 {
  transition: opacity 550ms var(--services-ease) 70ms, transform 550ms var(--services-ease) 70ms;
}

.services-section.is-services-motion-ready.is-services-visible .section-header > p:not(.eyebrow) {
  transition: opacity 500ms var(--services-ease) 160ms, transform 500ms var(--services-ease) 160ms;
}

.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item {
  transform: translate3d(0, 12px, 0);
}

.services-section.is-services-motion-ready.is-services-visible .services-accordion__item {
  transition:
    opacity 380ms var(--services-ease) var(--services-nav-delay),
    transform 380ms var(--services-ease) var(--services-nav-delay),
    flex-basis var(--services-duration) var(--services-ease),
    flex-grow var(--services-duration) var(--services-ease),
    border-color 180ms ease,
    background-color 180ms ease;
}

.services-accordion__item:nth-child(1) { --services-nav-delay: 270ms; }
.services-accordion__item:nth-child(2) { --services-nav-delay: 325ms; }
.services-accordion__item:nth-child(3) { --services-nav-delay: 380ms; }
.services-accordion__item:nth-child(4) { --services-nav-delay: 435ms; }
.services-accordion__item:nth-child(5) { --services-nav-delay: 490ms; }
.services-accordion__item:nth-child(6) { --services-nav-delay: 545ms; }

.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-active {
  border-color: var(--color-border-strong);
}

.services-section.is-services-motion-ready.is-services-visible .services-accordion__item.is-initial-active {
  transition:
    opacity 380ms var(--services-ease) var(--services-nav-delay),
    transform 380ms var(--services-ease) var(--services-nav-delay),
    flex-basis var(--services-duration) var(--services-ease),
    flex-grow var(--services-duration) var(--services-ease),
    border-color 320ms var(--services-ease) 540ms,
    background-color 180ms ease;
}

.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__panel {
  opacity: 0;
  transform: translate3d(18px, 6px, 0);
}

.services-section.is-services-motion-ready.is-services-visible .services-accordion__item.is-initial-active .services-accordion__panel {
  transition: opacity 550ms var(--services-ease) 520ms, transform 550ms var(--services-ease) 520ms;
}

.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__reference,
.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__content h3,
.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__description,
.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__help-label,
.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__service-list li,
.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__toggle {
  opacity: 0;
}

.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__reference {
  transform: translate3d(0, 8px, 0);
}

.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__content h3 {
  transform: translate3d(0, 14px, 0);
}

.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__description,
.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__help-label {
  transform: translate3d(0, 10px, 0);
}

.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item.is-initial-active .services-accordion__service-list li {
  transform: translate3d(8px, 0, 0);
}

.services-section.is-services-motion-ready.is-services-visible .services-accordion__item.is-initial-active .services-accordion__reference {
  transition: opacity 350ms var(--services-ease) 520ms, transform 350ms var(--services-ease) 520ms;
}

.services-section.is-services-motion-ready.is-services-visible .services-accordion__item.is-initial-active .services-accordion__content h3 {
  transition: opacity 450ms var(--services-ease) 570ms, transform 450ms var(--services-ease) 570ms;
}

.services-section.is-services-motion-ready.is-services-visible .services-accordion__item.is-initial-active .services-accordion__description {
  transition: opacity 420ms var(--services-ease) 640ms, transform 420ms var(--services-ease) 640ms;
}

.services-section.is-services-motion-ready.is-services-visible .services-accordion__item.is-initial-active .services-accordion__help-label {
  transition: opacity 300ms var(--services-ease) 675ms, transform 300ms var(--services-ease) 675ms;
}

.services-section.is-services-motion-ready.is-services-visible .services-accordion__item.is-initial-active .services-accordion__service-list li {
  transition:
    opacity 300ms var(--services-ease) var(--service-item-delay, 710ms),
    transform 300ms var(--services-ease) var(--service-item-delay, 710ms);
}

.services-accordion__service-list li:nth-child(1) { --service-item-delay: 710ms; }
.services-accordion__service-list li:nth-child(2) { --service-item-delay: 745ms; }
.services-accordion__service-list li:nth-child(3) { --service-item-delay: 780ms; }
.services-accordion__service-list li:nth-child(4) { --service-item-delay: 815ms; }
.services-accordion__service-list li:nth-child(5) { --service-item-delay: 850ms; }
.services-accordion__service-list li:nth-child(6) { --service-item-delay: 885ms; }

.services-section.is-services-motion-ready.is-services-visible .services-accordion__item.is-initial-active .services-accordion__toggle {
  transition: opacity 300ms var(--services-ease) 850ms;
}

.services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__footer {
  transform: translate3d(0, 12px, 0);
}

.services-section.is-services-motion-ready.is-services-visible .services-accordion__footer {
  transition: opacity 450ms var(--services-ease) 700ms, transform 450ms var(--services-ease) 700ms;
}

@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
  .services-accordion__item:not(.is-active) .services-accordion__tab {
    transition: color 180ms ease-out, transform 180ms ease-out;
  }

  .services-accordion__item:not(.is-active):hover .services-accordion__tab {
    color: var(--color-accent);
    transform: translate3d(3px, 0, 0);
  }

  .services-accordion__item:not(.is-active) .services-accordion__tab:active {
    transform: translate3d(3px, 0, 0) scale(0.99);
  }
}

@media (max-width: 1023px) {
  .services-accordion__items {
    display: grid;
    min-height: 0;
    gap: 9px;
  }

  .services-accordion__item,
  .services-accordion__item.is-active {
    display: grid;
    flex: none;
    min-height: 54px;
    border-radius: 18px;
    transition: border-color 180ms ease, background-color 180ms ease;
  }

  .services-accordion__tab,
  .services-accordion__item.is-active > .services-accordion__tab {
    position: relative;
    inset: auto;
    width: 100%;
    height: 54px;
    justify-content: flex-start;
    border-bottom: 0;
    padding: 0 1rem;
    pointer-events: auto;
  }

  .services-accordion__tab-number,
  .services-accordion__tab-title,
  .services-accordion__item.is-active .services-accordion__tab-number,
  .services-accordion__item.is-active .services-accordion__tab-title {
    position: static;
    writing-mode: horizontal-tb;
    transform: none;
  }

  .services-accordion__tab-title,
  .services-accordion__item.is-active .services-accordion__tab-title {
    font-size: 0.9rem;
  }

  .services-accordion__tab-arrow {
    position: static;
    display: block;
    margin-left: auto;
    transform: rotate(135deg);
    transition: transform 180ms ease;
  }

  .services-accordion__item.is-active .services-accordion__tab-arrow {
    display: block;
    transform: rotate(0deg);
  }

  .services-accordion__item.is-active > .services-accordion__tab {
    border-bottom: 1px solid rgba(36, 79, 60, 0.14);
  }

  .services-accordion__panel {
    position: relative;
    inset: auto;
    grid-template-columns: minmax(150px, 0.34fr) minmax(0, 0.66fr);
    min-width: 0;
    min-height: 420px;
    gap: clamp(1rem, 4vw, 2rem);
    padding: clamp(1.2rem, 4vw, 2rem);
  }

  .services-accordion__item.is-leaving .services-accordion__panel {
    display: none;
  }

  .services-accordion__item.is-entering .services-accordion__panel {
    animation-duration: 240ms;
    animation-delay: 0ms;
    transform: translate3d(calc(var(--services-direction) * 10px), 3px, 0);
  }

  .services-section.is-services-motion-ready:not(.is-services-visible) .section-header > h2 {
    transform: translate3d(0, 16px, 0);
  }

  .services-section.is-services-motion-ready:not(.is-services-visible) .section-header > p:not(.eyebrow) {
    transform: translate3d(0, 12px, 0);
  }

  .services-section.is-services-motion-ready:not(.is-services-visible) .services-accordion__item {
    transform: translate3d(0, 8px, 0);
  }

  .services-section.is-services-motion-ready.is-services-visible .services-accordion__item {
    transition:
      opacity 330ms var(--services-ease) var(--services-nav-delay),
      transform 330ms var(--services-ease) var(--services-nav-delay),
      border-color 180ms ease,
      background-color 180ms ease;
  }

  .services-accordion__item:nth-child(1) { --services-nav-delay: 230ms; }
  .services-accordion__item:nth-child(2) { --services-nav-delay: 265ms; }
  .services-accordion__item:nth-child(3) { --services-nav-delay: 300ms; }
  .services-accordion__item:nth-child(4) { --services-nav-delay: 335ms; }
  .services-accordion__item:nth-child(5) { --services-nav-delay: 370ms; }
  .services-accordion__item:nth-child(6) { --services-nav-delay: 405ms; }

  .services-section.is-services-motion-ready.is-services-visible .services-accordion__footer {
    transition-delay: 560ms;
  }
}

@media (max-width: 700px) {
  .services-accordion__fallback {
    grid-template-columns: 1fr;
  }

  .services-accordion__fallback ul {
    columns: 1;
  }

  .services-accordion__panel {
    grid-template-columns: 1fr;
    min-height: 0;
    align-items: start;
  }

  .services-accordion__visual {
    padding-block: 0.2rem;
  }

  .services-accordion__illustration {
    width: min(48vw, 170px);
  }

  .services-accordion__content h3 {
    font-size: clamp(1.45rem, 7vw, 1.9rem);
  }

  .services-accordion__service-list {
    grid-template-columns: 1fr;
    max-height: none;
  }

  .services-accordion__service-list li:nth-child(even) {
    padding-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-section.is-services-motion-ready .section-header > *,
  .services-section.is-services-motion-ready .services-accordion__item,
  .services-section.is-services-motion-ready .services-accordion__panel,
  .services-section.is-services-motion-ready .services-accordion__content > *,
  .services-section.is-services-motion-ready .services-accordion__service-list li,
  .services-section.is-services-motion-ready .services-accordion__footer {
    opacity: 1;
    transform: none;
  }

  .services-accordion__item,
  .services-accordion__tab-arrow,
  .services-accordion__item.is-leaving .services-accordion__panel,
  .services-accordion__item.is-entering .services-accordion__panel {
    animation: none;
    transition: none;
  }
}
