@charset "utf-8";
/* reset.css — 프로젝트 공통 리셋 (사이트 하위 전체 공유)
 *
 * 위치: /_res/{resProject}/_share/css/reset.css
 *   `_share` 는 한 지니웍스 프로젝트 아래 **모든 사이트가 함께 쓰는** 영역이다.
 *   사이트별 CSS(/_res/{resProject}/{siteName}/css/…) 보다 **먼저** link 된다.
 *
 * 주의: 이 파일은 사이트 여러 개가 함께 쓴다 — 특정 사이트에서만 필요한 규칙은
 *   여기 넣지 말고 그 사이트의 전역 토큰 CSS(cms-common.css | root.css)에 넣는다.
 */

/* ── box model ── */
*, *::before, *::after { box-sizing: border-box; }

/* ── margin/padding 초기화 ── */
html, body,
h1, h2, h3, h4, h5, h6,
p, blockquote, figure, figcaption,
dl, dd, ol, ul,
fieldset, legend, pre { margin: 0; padding: 0; }

/* ── 문서 기본 ── */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  min-height: 100%;
  line-height: 1.5;
  color: #222;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-break: keep-all;
}

/* ── 타이포 ── */
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
b, strong { font-weight: 700; }
address, em, i { font-style: normal; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
hr { height: 0; border: 0; border-top: 1px solid currentColor; opacity: .2; }

/* ── 리스트 ── */
ol, ul { list-style: none; }

/* ── 링크 ── */
a { color: inherit; text-decoration: none; background-color: transparent; }

/* ── 미디어 ── */
img, picture, video, canvas, svg, iframe { display: block; max-width: 100%; border: 0; }
img { height: auto; }

/* ── 폼 ── */
button, input, select, textarea {
  font: inherit;
  color: inherit;
  margin: 0;
  border-radius: 0;
}
button, [type="button"], [type="reset"], [type="submit"] {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: default; }
textarea { resize: vertical; overflow: auto; }
select { -webkit-appearance: none; appearance: none; }
input::-ms-clear, input::-ms-reveal { display: none; }
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
legend { border: 0; }
fieldset { border: 0; min-width: 0; }

/* ── 표 ── */
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
caption, th { text-align: left; }

/* ── 접근성 ── */
/* 스크린리더 전용 — 프로젝트 전역에서 이 클래스 하나만 쓴다(.harness/rules/a11y.md B). */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.sr-only:focus, .sr-only:active {
  position: static;
  width: auto; height: auto;
  margin: 0; overflow: visible;
  clip: auto; clip-path: none;
  white-space: normal;
}
:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
[hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
