/* ==========================================================================
   reset.css — 브라우저 기본 스타일 초기화
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, address, em, img, small, strong, sub, sup, b, u, i,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption,
footer, header, main, menu, nav, output, section, summary, time, mark {
  margin: 0; padding: 0; border: 0; font: inherit; vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header,
main, menu, nav, section { display: block; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { line-height: 1.5; }

ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote::before, blockquote::after,
q::before, q::after { content: ''; content: none; }

table { border-collapse: collapse; border-spacing: 0; }
th { text-align: left; font-weight: inherit; }

img, picture, video, canvas, svg { display: block; max-width: 100%; }
img { height: auto; border-style: none; }

a { color: inherit; text-decoration: none; background-color: transparent; }

button, input, select, textarea {
  font: inherit; color: inherit; margin: 0;
  background: none; border: 0; border-radius: 0;
  -webkit-appearance: none; appearance: none;
}
button { cursor: pointer; }
button:disabled { cursor: default; }

input::-ms-clear { display: none; }
textarea { resize: vertical; }

[hidden] { display: none !important; }

/* 포커스: 마우스 클릭 시엔 감추고 키보드 탐색 시엔 반드시 표시 */
:focus:not(:focus-visible) { outline: none; }
:focus-visible { outline: 2px solid #2870B8; outline-offset: 2px; }
