.approach-intro .roles-intro-text { max-width: 85ch; }
.approach-content { padding-bottom: clamp(40px, 6vw, 72px); overflow-wrap: anywhere; }
.approach-steps { display: grid; gap: 24px; margin: 0; padding: 0; list-style: none; }
.approach-step { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 20px; padding: clamp(20px, 3vw, 32px); border: 1px solid rgba(148, 163, 184, .25); border-radius: var(--radius-md, 16px); background: #fff; }
.approach-number { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #eff6ff; color: var(--accent, #2563eb); font-weight: 700; font-size: 1.2rem; }
.approach-step h2 { margin: 4px 0 16px; color: #334155; font-size: clamp(1.2rem, 2.5vw, 1.5rem); line-height: 1.4; }
.approach-step p, .approach-principle p, .approach-contact p { max-width: 90ch; color: #42536d; line-height: 1.8; }
.approach-step p { margin: 0 0 12px; }
.approach-step p:last-child { margin-bottom: 0; }
.approach-principles, .approach-contact { margin-top: clamp(40px, 6vw, 64px); }
.approach-principles-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
.approach-principle:last-child { grid-column: 1 / -1; }
.approach-principle p { margin-bottom: 0; }
.approach-contact .btn { margin-top: 12px; }
@media (max-width: 640px) {
    .approach-step { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .approach-principles-grid { grid-template-columns: minmax(0, 1fr); }
}
