/* Inline service accordion; other sections retain their existing styles. */
.service-accordion-item {
  min-width: 0;
  background: #19191c;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(0,0,0,.1);
  transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.service-accordion-item + .service-accordion-item { margin-top: 16px; }
.service-accordion-item.is-open { background: #202024; border-color: rgba(255,255,255,.2); box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.service-heading { margin: 0; font: inherit; }
.service-accordion-item .service-row {
  width: 100%;
  background: transparent;
  color: inherit;
  border: 0;
  border-radius: 16px;
  padding: 28px 24px;
  grid-template-columns: 25px minmax(0, 1fr) 36px;
  cursor: pointer;
  text-align: left;
  font: inherit;
  scroll-margin-top: 16px;
}
.service-summary { display: block; min-width: 0; }
.service-title { display: block; font-size: 28px; font-weight: 500; letter-spacing: -.03em; }
.service-intro { display: block; color: #a9a9b2; font-size: 16px; line-height: 1.8; margin: 10px 0 13px; max-width: 480px; }
.service-accordion-item .service-row > span:last-child { display: grid; place-items: center; align-self: start; width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; background: rgba(255,255,255,.035); padding: 0; margin-top: 0; transition: transform .32s ease, background-color .22s ease; }
.service-accordion-item.is-open .service-row > span:last-child { transform: rotate(90deg); }
.service-row:focus-visible { outline-color: #fff; outline-offset: 4px; }
.service-panel {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows .32s ease, visibility 0s linear .32s;
}
.service-accordion-item.is-open .service-panel {
  grid-template-rows: 1fr;
  visibility: visible;
  transition: grid-template-rows .32s ease, visibility 0s;
}
.service-panel-inner { min-height: 0; overflow: hidden; }
.service-detail-copy {
  max-width: 708px;
  padding: 4px 24px 32px 69px;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .24s ease, transform .32s ease;
}
.is-open .service-detail-copy { opacity: 1; transform: none; }
.service-detail-copy h4 { max-width: 29ch; margin: 0 0 22px; font-size: clamp(22px, 2vw, 28px); line-height: 1.4; letter-spacing: -.025em; font-weight: 500; }
.service-detail-copy > p { margin: 0 0 18px; color: #bcbcc4; font-size: 16px; line-height: 1.8; }
.service-detail-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; list-style: none; margin: 28px 0; padding: 0; }
.service-detail-benefits li { padding: 13px 0; border-top: 1px solid var(--dark-line); color: #d2d2d7; font-size: 14px; line-height: 1.65; }
.service-panel .button { background: #fff; color: #171719; min-height: 56px; border-radius: 6px; max-width: 100%; }
.service-panel .button:focus-visible { outline-color: #fff; }
@media (hover: hover) and (pointer: fine) {
  .service-accordion-item:hover { background: #232327; border-color: rgba(255,255,255,.2); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.2); }
  .service-accordion-item:not(.is-open) .service-row:hover > span:last-child { transform: translate(2px,-2px); background: rgba(255,255,255,.09); }
  .service-panel .button:hover { background: #eaeaec; }
}
@media (max-width: 760px) {
  .service-accordion-item .service-row { padding: 22px 18px; grid-template-columns: minmax(0,1fr) 32px; gap: 14px; }
  .service-accordion-item .service-row > span:last-child { width: 32px; height: 32px; }
  .service-title { font-size: 24px; line-height: 1.3; }
  .service-intro { line-height: 1.65; }
  .service-detail-copy { padding: 0 18px 26px; }
  .service-detail-copy h4 { font-size: 22px; }
  .service-detail-copy > p { line-height: 1.75; }
  .service-detail-benefits { grid-template-columns: minmax(0, 1fr); margin-block: 24px; }
  .service-detail-benefits li { font-size: 15px; }
  .service-panel .button { width: 100%; font-size: 14px; gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .service-accordion-item, .service-panel, .service-detail-copy, .service-accordion-item .service-row > span:last-child, .service-panel .button { transition: none; }
  .service-accordion-item:hover { transform: none; }
  .service-detail-copy, .service-panel .button { transform: none; }
}
