/* Services index only. Keep both existing themes and all native content fallbacks. */
@media (min-width: 761px) {
body.service-overview-polish {
  --so-ink: #182b38;
  --so-copy: #455963;
  --so-muted: #586d78;
  --so-link: #2c7488;
  --so-link-hover: #225d6f;
  --so-line: #d3dee3;
  --so-surface: #f3f7f8;
}

html body.service-overview-polish #main-content :is(section[id], details[id], .capability-panel, .capability-nav) {
  scroll-margin-top: 106px;
}
html body.service-overview-polish #main-content .service-banner {
  min-height: 0 !important;
  padding: 48px clamp(28px, 5vw, 64px) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
html body.service-overview-polish #main-content .service-banner > .container {
  width: 100%;
  max-width: none;
  padding: 0;
}
html body.service-overview-polish #main-content .service-banner .eyebrow {
  margin: 0 0 16px !important;
  font-size: 14px !important;
  font-weight: 500;
  color: #c5d4dc !important;
}
html body.service-overview-polish #main-content .service-banner h1 {
  max-width: 700px !important;
  margin: 0 0 18px !important;
  font-size: clamp(32px, 3.4vw, 46px) !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em;
  color: #fff !important;
  text-wrap: balance;
  text-shadow: none !important;
}
html body.service-overview-polish #main-content .service-banner :is(.service-hero-disciplines, .service-hero-intro) {
  max-width: 660px;
  font-size: 16px !important;
  line-height: 1.8 !important;
  font-weight: 400;
  text-shadow: none !important;
}
html body.service-overview-polish #main-content .service-banner .service-hero-disciplines {
  margin: 0 0 6px !important;
  color: #edf3f6 !important;
}
html body.service-overview-polish #main-content .service-banner .service-hero-intro {
  margin: 0 !important;
  color: #c5d4dc !important;
}
html body.service-overview-polish #main-content .service-hero-actions { margin-top: 24px; }
html body.service-overview-polish #main-content .service-hero-actions .button {
  min-width: 168px;
  min-height: 48px;
  padding-inline: 24px;
  border: 1px solid transparent;
  border-radius: 999px !important;
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none !important;
}
html body.service-overview-polish #main-content .service-hero-actions .button:not(.secondary) {
  background: linear-gradient(135deg, #2670ca, #246bb7) !important;
  color: #fff !important;
}
html body.service-overview-polish #main-content .service-hero-actions .button:not(.secondary):hover { background: #245e9f !important; }
html body.service-overview-polish #main-content .service-hero-actions .button.secondary {
  border-color: rgba(255,255,255,.72);
  background: rgba(3,19,39,.38);
  color: #fff;
}

html body.service-overview-polish #main-content .capability-showcase {
  padding-block: 48px !important;
}
html body.service-overview-polish #main-content .entry-heading {
  max-width: none;
  margin-bottom: 20px;
}
html body.service-overview-polish #main-content .entry-heading h2 {
  margin-bottom: 10px;
  font-size: 30px;
  color: var(--so-ink);
}
html body.service-overview-polish #main-content .entry-heading p {
  max-width: 800px;
  font-size: 16px;
  line-height: 1.8;
  color: var(--so-copy);
}
html body.service-overview-polish #main-content #project-needs .capability-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-bottom: 1px solid var(--so-line);
}
html body.service-overview-polish #main-content #project-needs .capability-nav a {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-width: 0;
  min-height: 76px;
  padding: 12px 14px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent !important;
  color: var(--so-copy) !important;
  font-size: 17px;
  line-height: 1.4;
  box-shadow: none;
}
html body.service-overview-polish #main-content .capability-tab-icon {
  display: block;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  pointer-events: none;
  background-image: url('/assets/service-tab-icons-20260920.webp');
  background-repeat: no-repeat;
  /* The source has a white background, so blend it into both tab surfaces. */
  mix-blend-mode: multiply;
}
html body.service-overview-polish #main-content .capability-tab-copy {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
html body.service-overview-polish #main-content #project-needs .capability-nav a[aria-selected="true"] {
  border-bottom-color: var(--so-link);
  color: var(--so-ink) !important;
  background: var(--so-surface) !important;
}
html body.service-overview-polish #main-content .capability-tab-caption {
  color: var(--so-muted);
  font-size: 13px;
  font-weight: 400;
}
@media (max-width: 1100px) {
  html body.service-overview-polish #main-content #project-needs .capability-nav a {
    gap: 10px;
    padding-inline: 10px;
  }
  html body.service-overview-polish #main-content .capability-tab-icon {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
  }
}
html body.service-overview-polish #main-content .capability-panel {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(28px, 4vw, 48px);
  padding-top: 24px;
  margin-bottom: 40px;
}
html body.service-overview-polish #main-content .capability-panel[hidden] { display: none; }
html body.service-overview-polish #main-content .capability-copy {
  padding: 0;
  max-width: 560px;
}
html body.service-overview-polish #main-content .capability-copy h3 {
  margin: 0 0 10px;
  font-size: 26px;
  color: var(--so-ink);
}
html body.service-overview-polish #main-content .capability-copy p {
  margin: 0 0 18px;
  color: var(--so-copy);
  font-size: 16px;
  line-height: 1.85;
}
html body.service-overview-polish #main-content .capability-copy .capability-scope {
  margin-bottom: 18px;
  color: var(--so-muted);
  font-size: 14px;
}
html body.service-overview-polish #main-content .capability-image img {
  height: auto !important;
  max-height: none;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: none !important;
}
html body.service-overview-polish #main-content .capability-image figcaption {
  color: var(--so-muted);
  padding-top: 8px;
}
html body.service-overview-polish #main-content .capability-copy .service-detail-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
}
html body.service-overview-polish #main-content .service-detail-links .service-main-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin: 0;
  font-size: 16px;
}

/* Native disclosures retain content, link destinations, search and no-JS access. */
html body.service-overview-polish #main-content .service-disclosure {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--so-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
html body.service-overview-polish #main-content .service-disclosure > summary {
  position: relative;
  display: block;
  padding: 17px 32px 17px 0;
  min-height: 56px;
  list-style: none;
  color: var(--so-ink);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 600;
  cursor: pointer;
}
html body.service-overview-polish #main-content .service-disclosure > summary::-webkit-details-marker { display: none; }
html body.service-overview-polish #main-content .service-disclosure > summary::after {
  content: '+';
  position: absolute;
  right: 5px;
  top: 16px;
  color: var(--so-link);
  font-size: 22px;
  line-height: 24px;
  font-weight: 400;
}
html body.service-overview-polish #main-content .service-disclosure[open] > summary::after { content: '−'; }
html body.service-overview-polish #main-content .service-disclosure > summary :is(h2, h3) {
  margin: 0 !important;
  padding: 0;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
html body.service-overview-polish #main-content .service-disclosure-body {
  padding: 0 0 24px;
  color: var(--so-copy);
}
html body.service-overview-polish #main-content .service-disclosure-body p {
  color: var(--so-copy);
  font-size: 15px;
  line-height: 1.85;
}
html body.service-overview-polish #main-content .capability-continuation {
  margin-top: 0;
  border-top: 1px solid var(--so-line);
}
html body.service-overview-polish #main-content .capability-continuation > .service-disclosure-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 40px;
}
html body.service-overview-polish #main-content .capability-continuation .service-detail-links { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
html body.service-overview-polish #main-content .capability-continuation .service-detail-links a { min-height: 44px; }
html body.service-overview-polish #main-content .capability-footer {
  display: block;
  margin-top: 16px;
  padding-top: 0;
  border: 0;
}
html body.service-overview-polish #main-content .capability-footer .project-invitation {
  max-width: none;
  font-size: 14px;
  line-height: 1.8;
}
html body.service-overview-polish #main-content .service-cooperation {
  padding-block: 44px !important;
  border-block: 1px solid #e1e8ef;
  background: #f2f6fb !important;
}
html body.service-overview-polish #main-content .service-cooperation .entry-heading { margin-bottom: 24px; }
html body.service-overview-polish #main-content .service-cooperation .entry-heading p { margin: 0; font-size: 15px; }
html body.service-overview-polish #main-content .service-cooperation .service-disclosure > summary { padding-block: 20px; font-size: 18px; }
html body.service-overview-polish #main-content .service-cooperation .service-disclosure > summary::after { top: 22px; }
html body.service-overview-polish #main-content .delivery-steps { gap: 28px; margin-top: 24px; }
html body.service-overview-polish #main-content .delivery-step { padding-top: 16px; }
html body.service-overview-polish #main-content .delivery-step::before { font-size: 22px; margin-bottom: 10px; color: var(--so-link); }
html body.service-overview-polish #main-content .delivery-step h4 { margin: 0 0 12px; color: var(--so-ink) !important; font-size: 17px; line-height: 1.5; }
html body.service-overview-polish #main-content .service-purchase-faq { padding-block: 48px !important; background: #fff !important; }
html body.service-overview-polish #main-content .purchase-questions { display: block; }
html body.service-overview-polish #main-content .service-faq-item:first-child { border-top: 1px solid var(--so-line); }
html body.service-overview-polish #main-content .service-faq-item > p {
  max-width: 900px;
  margin: 0;
  padding-bottom: 20px;
  color: var(--so-copy);
  font-size: 15px;
  line-height: 1.85;
}
html body.service-overview-polish #main-content .service-purchase-faq .section-more { margin-top: 20px; }

html body.service-overview-polish #main-content :is(.entry-heading, .capability-copy, .capability-continuation, .capability-footer, .service-cooperation) a {
  color: var(--so-link) !important;
}
html body.service-overview-polish #main-content :is(a, summary):focus-visible {
  outline: 2px solid var(--so-link);
  outline-offset: 4px;
}
@media (hover: hover) and (pointer: fine) {
  html body.service-overview-polish #main-content :is(.entry-heading, .capability-copy, .capability-continuation, .capability-footer, .service-cooperation) a:hover { color: var(--so-link-hover) !important; }
  html body.service-overview-polish #main-content .service-disclosure > summary:hover { color: var(--so-link); }
}

}

/* Small decorative service symbols share the existing heading color on both themes. */
html body.service-overview-polish #main-content .service-icon-heading {
  display: flex;
  align-items: center;
  gap: 10px;
}
html body.service-overview-polish #main-content .service-title-icon {
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: inherit;
  opacity: 0.8;
}
html body.service-overview-polish #main-content .service-icon-heading > span {
  min-width: 0;
}
