.services-intro {max-width: 1320px;}
.services-intro > p:not(.eyebrow) {font-size: 20px; line-height: 1.7; max-width: 750px;}
.services-actions {display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; margin-top: 32px;}
.services-index {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 var(--pad); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line);}
.services-index a {display: flex; gap: 16px; align-items: baseline; padding: 22px 18px 22px 0; font-size: 13px;}
.services-index a > span:first-child {font-size: 10px; color: #575952; flex-shrink: 0; white-space: nowrap;}
.services-index a:hover > span:last-child {text-decoration: underline; text-underline-offset: 5px;}
.services-list {padding: 0 var(--pad);}
.service-offering {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 8vw; padding: 65px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 25px;}
.service-offering h2, .services-delivery h2, .services-programme h2 {font-size: clamp(30px, 3.4vw, 48px); font-weight: 500; letter-spacing: -.04em; line-height: 1.16; margin-top: 22px;}
.service-lead {font-size: 20px; line-height: 1.7; max-width: 700px;}
.service-scope {list-style: none; padding: 0; margin: 24px 0; font-size: 15px;}
.service-scope li {padding: 11px 0; border-bottom: 1px solid var(--line);}
.service-scope li:first-child {border-top: 1px solid var(--line);}
.service-copy .text-link {font-size: 14px;}
.services-delivery {padding: 65px var(--pad); background: #e5e5e1;}
.delivery-intro {display: grid; grid-template-columns: 1fr 1fr; gap: 0 8vw;}
.delivery-intro .eyebrow {grid-column: 1 / -1;}
.delivery-intro > p:last-child {align-self: end; font-size: 18px; line-height: 1.7; max-width: 560px; margin-top: 22px;}
.delivery-steps {list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding: 0; margin: 45px 0 0;}
.delivery-steps li {border-top: 1px solid var(--ink); padding-top: 18px;}
.delivery-steps h3 {font-size: 24px; font-weight: 500; letter-spacing: -.025em; line-height: 1.3; margin: 18px 0 14px;}
.delivery-steps p {font-size: 15px; line-height: 1.75; max-width: 370px;}
.services-programme {display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; padding: 65px var(--pad);}
.services-programme > div:last-child {align-self: center;}
.services-programme p:not(.eyebrow) {font-size: 18px; line-height: 1.75; max-width: 650px; margin-bottom: 22px;}
html[lang=ja] .service-offering h2, html[lang=ja] .services-delivery h2, html[lang=ja] .services-programme h2 {font-size: clamp(28px, 3vw, 42px); line-height: 1.5;}
html[lang=ja] .service-lead {font-size: 18px; line-height: 1.9;}
@media (max-width: 1000px) {
  .services-index {grid-template-columns: 1fr 1fr;}
  .service-offering {gap: 5vw;}
}
@media (max-width: 700px) {
  .services-intro h1 {font-size: 42px;}
  html[lang=ja] .services-intro h1 {font-size: clamp(30px, 8vw, 36px);}
  .services-intro > p:not(.eyebrow) {font-size: 17px;}
  .services-index a {font-size: 12px; padding: 16px 12px 16px 0; gap: 10px;}
  .service-offering {grid-template-columns: 1fr; gap: 24px; padding: 38px 0;}
  .service-offering h2 {margin-top: 16px;}
  .service-lead {font-size: 17px;}
  html[lang=ja] .service-lead {font-size: 16px;}
  .service-scope {font-size: 14px; margin: 20px 0;}
  .services-delivery, .services-programme {padding-top: 40px; padding-bottom: 40px;}
  .delivery-intro, .services-programme {grid-template-columns: 1fr; gap: 0;}
  .delivery-intro > p:last-child, .services-programme p:not(.eyebrow) {font-size: 16px;}
  .delivery-steps {grid-template-columns: 1fr; gap: 28px; margin-top: 30px;}
  .delivery-steps h3 {font-size: 22px; margin-top: 12px;}
  .delivery-steps p {max-width: none;}
  .services-programme > div:last-child {margin-top: 24px;}
}
