.service-hero { position: relative; min-height: var(--visual-hero-height); overflow: hidden; color: #fff; background: #111315; }
.service-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.service-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,9,13,.9) 0%, rgba(5,9,13,.7) 46%, rgba(5,9,13,.22) 76%, rgba(5,9,13,.14) 100%); }
.service-hero-copy { position: relative; z-index: 1; display: flex; min-height: var(--visual-hero-height); padding: 48px 0 58px; flex-direction: column; justify-content: center; align-items: flex-start; }
.service-hero h1 { max-width: 790px; margin: 0; font-size: var(--visual-hero-title); line-height: 1.08; letter-spacing: -.055em; word-break: keep-all; }
.service-hero-copy > p:not(.solution-breadcrumb) { max-width: 620px; margin: 24px 0 0; color: rgba(255,255,255,.82); font-size: var(--visual-hero-subtitle); line-height: 1.7; word-break: keep-all; }

.service-section { padding: 100px 0; }
.service-route, .service-check { background: #fff; }
.service-enterprise-figure, .service-scale-figure { width: min(100%, 1040px); margin: 0 auto; }
.service-enterprise-figure > img, .service-scale-figure > img { display: block; width: 100%; height: auto; object-fit: contain; }
.service-enterprise-figure > img { aspect-ratio: auto; }
.service-stage-legend { position: relative; display: grid; width: min(100%, 1040px); margin: 0; padding: 38px 0 0; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; }
.service-stage-legend::before { position: absolute; top: 17px; right: 12.5%; left: 12.5%; height: 2px; background: linear-gradient(90deg, #e60012 0 50%, #ef7d00 50% 100%); content: ""; }
.service-stage-legend li { position: relative; min-width: 0; padding: 0 22px; text-align: center; }
.service-stage-legend li::before { position: absolute; top: -27px; left: 50%; width: 11px; height: 11px; border: 3px solid #fff; background: #e60012; content: ""; transform: translateX(-50%); }
.service-stage-legend li:nth-child(n+3)::before { background: #ef7d00; }
.service-stage-legend span { display: block; margin-bottom: 7px; color: #e60012; font-size: 12px; font-weight: 780; }
.service-stage-legend li:nth-child(n+3) span { color: #d96f00; }
.service-stage-legend strong { display: block; color: #17191b; font-size: 21px; letter-spacing: -.035em; }
.service-stage-legend p { margin: 10px 0 0; color: #606568; font-size: 13px; line-height: 1.65; word-break: keep-all; }

.service-patterns { color: #fff; background: #111315; }
.service-patterns .solution-section-head p { color: #aeb2b4; }
.service-scale-figure > img { aspect-ratio: auto; border-bottom: 3px solid #ef7d00; }
.service-scale-legend { width: min(100%, 1040px); margin: 22px 0 0; padding: 0; border-top: 1px solid #55595c; list-style: none; }
.service-scale-legend li { display: grid; padding: 22px 0; grid-template-columns: 170px minmax(0, 1fr) minmax(250px, auto); align-items: baseline; gap: 28px; border-bottom: 1px solid #3c4043; }
.service-scale-legend li::before { display: block; width: var(--scale-width, 32px); height: 3px; margin-bottom: 9px; grid-column: 1 / -1; background: #ef7d00; content: ""; }
.service-scale-legend li:nth-child(2) { --scale-width: 96px; }
.service-scale-legend li:nth-child(3) { --scale-width: 160px; }
.service-scale-legend h3 { margin: 0 0 12px; font-size: 25px; letter-spacing: -.04em; }
.service-scale-legend p { margin: 0; color: #b9bdc0; font-size: 14px; line-height: 1.7; word-break: keep-all; }
.service-scale-legend strong { color: #fff; font-size: 12px; line-height: 1.6; }

.service-checklist { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid #17191b; border-bottom: 1px solid #adb1b3; list-style: none; }
.service-checklist li { display: grid; min-height: 122px; padding: 25px 26px; grid-template-columns: 36px minmax(0, 1fr); align-items: start; gap: 14px; border-right: 1px solid #d4d7d8; border-bottom: 1px solid #d4d7d8; }
.service-checklist li:nth-child(even) { border-right: 0; }
.service-checklist li:nth-last-child(-n+2) { border-bottom: 0; }
.service-checklist li > span { display: grid; width: 28px; height: 28px; color: #fff; background: #e60012; place-items: center; font-size: 17px; font-weight: 800; }
.service-checklist li:nth-child(even) > span { background: #ef7d00; }
.service-checklist h3 { margin: 1px 0 9px; color: #17191b; font-size: 19px; letter-spacing: -.03em; }
.service-checklist p { margin: 0; color: #5c6164; font-size: 13px; line-height: 1.65; word-break: keep-all; }
.service-note { margin: 18px 0 0; color: #7d8285; font-size: 12px; }

@media (max-width: 980px) {
  .service-stage-legend li { padding: 0 14px; }
  .service-scale-legend li { grid-template-columns: 140px minmax(0, 1fr); gap: 12px 24px; }
  .service-scale-legend strong { grid-column: 2; }
}

@media (max-width: 720px) {
  .service-hero, .service-hero-copy { min-height: 510px; }
  .service-hero > img { object-position: 58% center; }
  .service-hero-shade { background: rgba(5,9,13,.64); }
  .service-hero-copy { padding: 34px 0 48px; justify-content: flex-end; }
  .service-hero .solution-breadcrumb { margin-bottom: auto; }
  .service-hero h1 { font-size: var(--visual-hero-title-mobile); line-height: 1.13; }
  .service-hero-copy > p:not(.solution-breadcrumb) { max-width: 100%; margin-top: 19px; font-size: var(--visual-hero-subtitle-mobile); line-height: 1.65; word-break: keep-all; }
  .service-section { padding: 70px 0; }
  .service-enterprise-figure > img { aspect-ratio: auto; object-position: center; }
  .service-stage-legend { display: block; padding: 0 0 0 22px; }
  .service-stage-legend::before { top: 0; right: auto; bottom: 0; left: 5px; width: 2px; height: auto; background: linear-gradient(180deg, #e60012 0 50%, #ef7d00 50% 100%); }
  .service-stage-legend li { display: grid; padding: 18px 0; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 5px 8px; text-align: left; }
  .service-stage-legend li::before { top: 50%; left: -17px; transform: translateY(-50%); }
  .service-stage-legend span { margin: 0; }
  .service-stage-legend strong { font-size: 17px; }
  .service-stage-legend p { margin: 0; grid-column: 2; font-size: 12px; }
  .service-scale-figure > img { aspect-ratio: auto; object-position: center; }
  .service-scale-legend li { display: block; padding: 21px 0 23px; }
  .service-scale-legend li::before { margin-bottom: 14px; }
  .service-scale-legend h3 { margin-bottom: 8px; font-size: 21px; }
  .service-scale-legend p { margin-bottom: 11px; }
  .service-checklist { grid-template-columns: 1fr; }
  .service-checklist li, .service-checklist li:nth-child(even), .service-checklist li:nth-last-child(-n+2) { min-height: 0; padding: 21px 0; border-right: 0; border-bottom: 1px solid #d4d7d8; }
  .service-checklist li:last-child { border-bottom: 0; }
}
