/* /69 BRANDING - service page blocks (svc-*) */
.page-hero { padding-bottom: 60px; }
.svc-hero__title { font-weight: 400; font-size: clamp(44px, 6.7vw, 96px); }
.page-hero .page-hero__line { max-width: 500px; margin-top: 36px; }

.svc-eyebrow { font-weight: 400; margin-bottom: 20px; }
.svc-eyebrow--dim { color: #646464; }

/* intro */
.svc-intro { padding: 135px 0 130px; }
.svc-statement { font-size: clamp(30px, 3.9vw, 56px); line-height: 1.52; font-weight: 400; color: #010101; letter-spacing: -.02em; }
.svc-statement b { font-weight: 700; }
.svc-lead { margin-top: 33px; font-size: clamp(17px, 1.67vw, 24px); line-height: 1.65; color: #212121; }
.svc-lead b { font-weight: 700; }
.svc-lead__gap { margin-top: 1.65em; }

/* process */
.svc-process { background: #233056; padding: 146px 0 60px; color: #fff; }
.svc-process__title { font-family: var(--font-en); font-weight: 700; font-size: clamp(34px, 4.2vw, 60px); line-height: 1.1; color: #de8ea6; }
.svc-process__img { width: 100%; margin: 60px auto 0; }
.svc-process__text { margin-top: 96px; text-align: center; font-size: clamp(16px, 1.6vw, 23px); line-height: 1.87; }

/* title + right-aligned case list */
.svc-block { padding: 151px 0 80px; background: #fff; }
.svc-block--soft { background: #f7f7f7; }
.svc-block--dark { background: #131313; color: #fff; padding-top: 129px; padding-bottom: 124px; }
.svc-block .svc-eyebrow { margin-bottom: 34px; }
.svc-title { font-size: clamp(32px, 4.2vw, 60px); line-height: 1.1; font-weight: 700; color: #131313; letter-spacing: -.02em; }
.svc-title--black { color: #000; }
.svc-title--white { color: #fff; }
.svc-cases { max-width: 850px; margin: 80px 0 0 auto; border-top: 2px solid #131313; border-bottom: 2px solid #131313; }
.svc-case { padding: 36px 27px 40px; }
.svc-case + .svc-case { border-top: 1px solid #212121; }
.svc-case__title { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.2; font-weight: 700; color: #131313; margin-bottom: 28px; }
.svc-block--soft .svc-case__title { color: #000; }
.svc-case__list { font-size: clamp(16px, 1.4vw, 20px); line-height: 1.6; color: #212121; }
.svc-case__list li + li { margin-top: .1em; }
.svc-case__list--dot { padding-left: 36px; list-style: disc; }
.svc-case__list--dot li::marker { font-size: .8em; }

/* dark: sub, check list, CTA */
.svc-sub { margin-top: 26px; padding-bottom: 30px; border-bottom: 2px solid #fff; font-size: clamp(18px, 1.8vw, 26px); line-height: 1.5; font-weight: 700; color: #fcfcfc; }
.svc-checks { padding: 15px 0 30px; border-bottom: 1px solid #fff; }
.svc-checks li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; min-height: 91px; padding: 15px 0 15px 41px; position: relative; color: #fff; }
.svc-checks li::before { content: ''; position: absolute; left: 0; top: 50%; width: 35px; height: 33px; transform: translateY(-50%); background: url('/assets/img/0a62c620108ff.png') center / contain no-repeat; }
.svc-checks b { font-size: clamp(19px, 1.9vw, 27px); line-height: 1.5; font-weight: 700; }
.svc-checks span { font-size: clamp(15px, 1.4vw, 20px); line-height: 1.5; }
.svc-cta { display: flex; justify-content: flex-end; margin-top: 62px; padding-right: 14px; }
.svc-cta__btn { display: inline-flex; align-items: center; justify-content: center; width: 290px; height: 57px; border-radius: 9999px; background: #fff; color: #de8ea6; font-family: var(--font-en); font-size: 21px; letter-spacing: .02em; transition: background .25s, color .25s; }
.svc-cta__btn:hover { background: #de8ea6; color: #fff; }

@media (max-width: 960px) {
  .svc-intro { padding: 90px 0; }
  .svc-process { padding: 90px 0 60px; }
  .svc-process__img { margin-top: 50px; }
  .svc-process__text { margin-top: 60px; }
  .svc-process__text p { display: inline; }
  .svc-block, .svc-block--dark { padding: 90px 0 70px; }
  .svc-cases { margin-top: 50px; max-width: none; }
  .svc-case { padding: 28px 4px 30px; }
  .svc-case__title { margin-bottom: 16px; }
}
@media (max-width: 640px) {
  .svc-case__list--dot { padding-left: 22px; }
  .svc-checks li { padding-left: 46px; min-height: 0; padding-top: 18px; padding-bottom: 18px; }
  .svc-checks li::before { width: 30px; height: 28px; top: 20px; transform: none; }
  .svc-checks span { flex-basis: 100%; }
  .svc-cta { justify-content: center; margin-top: 44px; padding-right: 0; }
  .svc-cta__btn { width: 100%; max-width: 290px; }
}
