/* ---------- Expertise ---------- */
.expertise { background: var(--bg-black); padding: 110px 0 70px; text-align: center; }
.expertise .sec-top { text-align: left; }
.expertise .intro { font-size: clamp(24px, 3vw, 34px); font-weight: 500; line-height: 1.25; letter-spacing: -.02em; max-width: 620px; margin: 30px auto 50px; }
.svc { display: grid; gap: 22px; }
.svc li p { max-width: 460px; margin: 2px auto 0; font-size: 13px; color: var(--dim); }
.svc a { display: inline-flex; justify-content: center; align-items: center; font-size: clamp(32px, 5vw, 58px); font-weight: 500; letter-spacing: -.02em; line-height: 1.2; color: transparent; -webkit-text-stroke: 1px #9a9a9a; transition: color .35s, -webkit-text-stroke-color .35s; }
.svc .pic { display: inline-block; width: 0; height: .62em; margin: 0 .13em; border-radius: 6px; overflow: hidden; transition: width .45s cubic-bezier(.2,.7,.2,1), margin .45s; }
.svc .pic img { width: 100%; height: 100%; object-fit: cover; }
.svc a:hover { color: #fff; -webkit-text-stroke-color: transparent; }
.svc a:hover .pic { width: 1.35em; margin: 0 .22em; }
.svc-more { border-top: 1px solid var(--line); margin-top: 50px; padding-top: 30px; }
.svc-more > span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 16px; }
.chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.chips a { padding: 7px 14px; border: 1px solid var(--line); border-radius: 100px; font-size: 13px; transition: background .3s, border-color .3s; }
.chips a:hover { background: var(--accent); border-color: var(--accent); }
