/* A continuous light canvas; the existing hero and sidebar keep their layout. */
.homepage {
  --section-spacing: 48px;
  background: #fff;
}
.homepage .content > .section:not(.hero) {
  min-height: auto;
  padding-block: var(--section-spacing);
  background: #fff;
  color: #17232d;
  border: 0;
  box-shadow: none;
}
.homepage .content > .section.hero {
  min-height: auto;
  padding-bottom: var(--section-spacing);
  border: 0;
  box-shadow: none;
}
.homepage .section-head { margin-bottom: 36px; }
.homepage .content *, .homepage .content *::before, .homepage .content *::after {
  animation: none !important;
}
.homepage .pulse { animation: none; }
.homepage .experience-facts,
.homepage .method-process article,
.homepage .method-process .method-result {
  background: #f5f8fa;
  color: #17232d;
  border-color: #dce4ea;
}
.homepage .experience-facts div { border-color: #dce4ea; }
.homepage .experience-facts span,
.homepage .method-process .method-content > p,
.homepage .method-process .method-content li,
.homepage .method-process aside span { color: #52616d; }
.homepage .experience-facts strong,
.homepage .method-process .method-content > small,
.homepage .method-process aside small { color: #25639b; }
.homepage .method-process aside { background: #fff; border-color: #dce4ea; }
.homepage .method-process .method-index span {
  background: #e9f1f7;
  color: #25639b;
  border-color: #c2d4e2;
  box-shadow: 0 0 0 7px #f5f8fa;
}
.homepage .method-process .method-index i { background: #c2d4e2; }
.homepage .process-diagram {
  margin: 0;
  padding: clamp(22px, 2.5vw, 36px);
  border: 1px solid #dce4ea;
  border-radius: 16px;
  background: #f5f8fa;
  color: #17232d;
}
.process-diagram figcaption { margin-bottom: 28px; }
.process-diagram figcaption > span {
  display: block;
  margin-bottom: 12px;
  color: #25639b;
  font: 700 11px/1.5 ui-monospace, monospace;
  letter-spacing: .1em;
}
.process-diagram figcaption > strong {
  display: block;
  max-width: 780px;
  font-size: clamp(22px, 2.1vw, 32px);
  line-height: 1.25;
  letter-spacing: -.025em;
}
.process-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.process-steps > li {
  position: relative;
  padding: 22px 18px;
  background: #fff;
  border: 1px solid #d5e0e9;
  border-radius: 10px;
}
.process-steps > li:not(:last-child)::after {
  content: '→';
  position: absolute;
  top: 50%;
  right: -26px;
  width: 24px;
  text-align: center;
  transform: translateY(-50%);
  font-size: 22px;
  color: #527b9a;
}
.process-number {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid #d3e1ec;
  border-radius: 50%;
  background: #eef4f8;
  color: #25639b;
  font: 700 11px ui-monospace, monospace;
}
.homepage .process-steps h3 {
  margin: 18px 0 10px;
  font-size: 17px;
  line-height: 1.35;
  color: #17232d;
  overflow-wrap: anywhere;
}
.process-steps p { margin: 0; color: #52616d; font-size: 13px; line-height: 1.65; }
.process-foundation {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 24px;
  padding: 18px 20px;
  border-left: 3px solid #7398b6;
  background: #eaf1f6;
  font-size: 13px;
  line-height: 1.6;
}
.process-foundation span { color: #52616d; }
.process-note { margin: 24px 0 0; color: #52616d; font-size: 13px; line-height: 1.7; }
.homepage .ebusiness-capabilities { margin-top: 28px; }
@media (max-width: 1200px) {
  .process-steps { grid-template-columns: 1fr; gap: 26px; }
  .process-steps > li { padding: 20px 20px 20px 68px; }
  .process-number { position: absolute; left: 20px; top: 20px; }
  .homepage .process-steps h3 { margin-top: 2px; }
  .process-steps > li:not(:last-child)::after {
    content: '↓';
    top: auto;
    bottom: -26px;
    left: 23px;
    right: auto;
    transform: none;
    line-height: 25px;
  }
}
@media (max-width: 760px) {
  .homepage { --section-spacing: 36px; }
  .homepage .process-diagram { padding: 22px 16px; }
}
.homepage .ebusiness-capabilities article {
  background: #f5f8fa;
  color: #17232d;
  border-color: #dce4ea;
  box-shadow: none;
}
.homepage .ebusiness-capabilities article::before { color: #d6e2eb; }
.homepage .ebusiness-capabilities article::after { display: none; }
.homepage .ebusiness-capabilities article > span {
  background: #eaf1f6;
  color: #25639b;
  border-color: #d3e1ec;
}
.homepage .ebusiness-capabilities p { color: #52616d; }
.homepage .ebusiness-capabilities article:hover h3 { color: #25639b; }
.homepage :is(#services, #erp, #qualification, #contact) {
  background: #fff;
  border: 0;
  box-shadow: none;
}

/* Subtle surface and spacing for the complete SV.01 section. */
.homepage #services {
  margin-top: 40px;
  background: #f5f7f9;
}

/* Light service links on the muted SV.01 background. */
.homepage #services .seo-entry-grid a {
  background: #fff;
  color: #17232d;
  border-color: #dce4ea;
}
.homepage #services .seo-entry-grid small { color: #25639b; }
.homepage #services .seo-entry-grid span { color: #52616d; }
.homepage #services .seo-entry-grid a:hover {
  background: #f8fbfd;
  border-color: #9dbbd3;
}

/* Additional space before the complete METHOD.02 section. */
.homepage #assessment {
  margin-top: 80px;
}

/* Consistent section gaps on large desktop and QHD viewports. */
@media (min-width: 1920px) {
  .homepage #home ~ .section {
    margin-top: 100px;
  }
}
