마진 겹침 규칙: 인접한 블록 요소들의 수직 마진은 더 큰 값으로 합쳐집니다.
부모에 padding이나 border가 없으면, 자식의 margin-top이 부모의 margin-top과 겹쳐서 부모 요소 위쪽에 30px 마진이 생성됩니다.
부모에 padding, border, 또는 다른 블록 포맷팅 컨텍스트를 만드는 속성이 있으면 마진 겹침이 발생하지 않습니다.
빈 블록 요소는 자신의 margin-top과 margin-bottom도 겹치고, 주변 요소들과도 겹칩니다.
Flexbox나 Grid 컨테이너에서는 마진 겹침이 발생하지 않습니다. gap 속성으로 일정한 간격을 유지할 수 있습니다.
padding, border, overflow: hidden 등이 있으면 방지display: flex나 display: grid에서는 발생하지 않음