.g70-service-visual { position: relative; align-self: stretch; overflow: hidden; margin: 0; background: #e8e4da; min-height: 420px; }
.g70-service-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.g70-strengths-motion { overflow: hidden; }
.g70-strengths-motion .strength-backdrop { inset: -5% 0; }
.g70-strengths-motion .strength-shade { background: linear-gradient(90deg,rgba(4,19,29,.91),rgba(4,19,29,.73)); }
.g70-strengths-motion .strength-content > h2 { max-width: 1000px; margin-bottom: 64px; text-wrap: balance; }
.g70-trust-line { height: 40px; width: 100%; }
.g70-trust-line svg { display: block; height: 40px; width: 100%; overflow: visible; }
.g70-trust-line path { fill: none; stroke-width: 1; }
.g70-trust-line .trust-base { stroke: #64727a; }
.g70-trust-line .trust-progress { stroke: #d6b56a; stroke-width: 2; }
.g70-trust-line circle { fill: #d6b56a; stroke: #112b38; stroke-width: 3; }
.g70-strengths-motion .strength-grid { border-top: 0; gap: 32px; }
.g70-strengths-motion .strength-grid article,
.g70-strengths-motion .strength-grid article + article { position: relative; padding: 24px 24px 24px 0; border-right: 0; min-height: 200px; }
.g70-strengths-motion .strength-grid h3 { margin: 0 0 18px; font-size: clamp(24px,2.4vw,34px); line-height: 1.35; transition: color .25s ease; }
.g70-strengths-motion .strength-grid p { color: #d7e0e3; max-width: 37ch; font-size: 16px; line-height: 1.8; }
.g70-strengths-motion .strength-grid article:hover h3 { color: #e6c879; }
@media (max-width:1100px) and (min-width:701px) {
  .g70-service-visual { grid-column: 1 / -1; min-height: 0; aspect-ratio: 2 / 1; }
  .g70-service-visual img { object-position: center 38%; }
}
@media (max-width:700px) {
  .g70-service-visual { min-height: 0; aspect-ratio: 4 / 3; }
  .g70-service-visual img { object-position: center 40%; }
  .g70-strengths-motion .strength-content > h2 { font-size: clamp(34px,9vw,48px); margin-bottom: 30px; }
  .g70-trust-line { display: none; }
  .g70-strengths-motion .strength-grid { display: block; }
  .g70-strengths-motion .strength-grid article,
  .g70-strengths-motion .strength-grid article + article { min-height: 0; padding: 25px 0; border-bottom: 1px solid #52626b; }
  .g70-strengths-motion .strength-grid article:last-child { border-bottom: 0; }
  .g70-strengths-motion .strength-grid h3 { font-size: 27px; margin-bottom: 12px; }
  .g70-strengths-motion .strength-grid p { font-size: 15px; max-width: none; }
}
@media (prefers-reduced-motion:reduce) {
  .g70-service-visual img, .g70-strengths-motion * { transition: none !important; }
}
