/* 메인 화면 (모바일) */

/* 대표 영역 */
.m-index-hero { position: relative; min-height: 330px; background: var(--green); padding: 30px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; overflow: hidden; }
.m-index-hero__copy { position: relative; z-index: 1; }
.m-index-hero__en { font-family: var(--en); font-size: 11px; font-weight: 600; letter-spacing: 4px; color: var(--beige); margin-bottom: 12px; }
.m-index-hero__title { margin: 0 0 10px; padding: 0 24px; font-size: 26px; line-height: 38px; font-weight: 700; color: #FFFFFF; letter-spacing: -0.5px; }
.m-index-hero__sub { padding: 0 24px; font-size: 14px; line-height: 22px; color: #E9ECEA; }

/* 구역 제목(영문 큰 글자 + 한글 설명) */
.m-index-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 14px; }
.m-index-head__en { margin: 0; font-family: var(--en); font-weight: 800; font-size: 19px; line-height: 28px; color: var(--green); }
.m-index-head__ko { font-size: 13px; line-height: 20px; color: var(--text-2); }
.m-index-head__more { flex: none; min-height: 44px; display: inline-flex; align-items: flex-end; padding-bottom: 1px; font-size: 13px; line-height: 20px; font-weight: 500; }

/* 업무분야 단추 */
.m-index-practice { padding: 22px 20px 28px; }
.m-index-practice > .m-index-head__en { margin-bottom: 12px; }
.m-index-practice__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.m-index-practice__grid a svg { flex: none; color: var(--green); }
.m-index-practice__grid a span { min-width: 0; }
.m-index-practice__grid a { min-height: 60px; background: var(--beige-light); padding: 10px 12px; display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 20px; font-weight: 700; }

/* 최근 성공사례 1건 */
.m-index-latest { margin-top: 24px; min-height: 72px; background: var(--green); padding: 14px 16px; display: flex; flex-direction: column; justify-content: center; gap: 4px; }
.m-index-latest__cat { font-size: 12px; line-height: 18px; font-weight: 700; color: var(--beige); }
.m-index-latest__title { font-size: 15px; line-height: 22px; font-weight: 700; color: #FFFFFF; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 아래쪽 구역 */
.m-index-sec { padding: 32px 20px; background: #FFFFFF; }
.m-index-sec--beige { background: var(--beige-light); }
.m-index-sec--dark { background: var(--green); }
.m-index-sec--dark .m-index-head__en { color: var(--beige); }
.m-index-sec--dark .m-index-head__ko { color: var(--on-dark); }
.m-index-sec--dark .m-index-head__more { color: var(--beige); }
.m-index-sec--dark .m-empty { color: var(--on-dark); }

/* 변호사 6인 */
.m-index-lawyers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 8px; }
.m-index-lawyer { display: block; min-width: 0; color: var(--text); }
.m-index-lawyer img, .m-index-lawyer__noimg { display: block; width: 100%; aspect-ratio: 3 / 4; height: auto; object-fit: cover; object-position: top; background: var(--beige-mid); }
.m-index-lawyer__name { display: block; margin-top: 8px; font-size: 15px; line-height: 22px; font-weight: 700; color: var(--green); }
.m-index-lawyer__name span { font-size: 12px; font-weight: 400; color: var(--text-3); }
.m-index-lawyer__fields { display: block; font-size: 12px; line-height: 18px; color: var(--text-3); }

/* 법률칼럼 전체 보기 */
.m-index-more { margin-top: 16px; min-height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); font-size: 14px; font-weight: 500; }

/* 인스타그램 */
.m-index-insta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.m-index-insta a { position: relative; aspect-ratio: 1 / 1; background: var(--beige-mid); display: flex; align-items: center; justify-content: center; color: var(--text-3); overflow: hidden; }
.m-index-insta img { display: block; width: 100%; height: 100%; object-fit: cover; }
.m-index-insta-empty { min-height: 120px; background: var(--beige-mid); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; font-size: 14px; color: var(--text-3); }

/* 어두운 배경 위의 초점 테두리는 밝은 색으로 */
.m-index-hero a:focus-visible, .m-index-sec--dark a:focus-visible { outline-color: #FFFFFF; }

/* 띄어쓰기 없는 긴 글이 들어와도 화면이 옆으로 밀리지 않게 */
.m-index-hero__copy { max-width: 100%; min-width: 0; }
.m-index-hero__title, .m-index-hero__sub, .m-index-practice__grid a, .m-index-latest__title, .m-index-latest__cat, .m-index-lawyer__name { overflow-wrap: anywhere; }
.m-index-head > div { min-width: 0; }
