html{
	-webkit-text-size-adjust:100%;
	text-size-adjust:100%;
	scroll-behavior:smooth;
}

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

html,
body{
	margin:0;
	padding:0;
}

body{
	min-width:320px;
	font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:1.6;
	color:#222;
	background:#fff;
	word-break:keep-all;
	overflow-wrap:break-word;
}

/* ===========================
   Typography
=========================== */

h1,h2,h3,h4,h5,h6{
	margin:0;
	padding:0;
	font-weight:700;
	line-height:1.4;
	color:#111;
}

h1{font-size:2.5rem;}
h2{font-size:2rem;}
h3{font-size:1.75rem;}
h4{font-size:1.5rem;}
h5{font-size:1.25rem;}
h6{font-size:1.125rem;}

p{
	margin:0;
	padding:0;
}

/* ===========================
   Link / List / Image
=========================== */

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

a:hover{
	text-decoration:none;
}

ul,ol,li{
	margin:0;
	padding:0;
	list-style:none;
}

img{
	max-width:100%;
	height:auto;
	border:0;
	vertical-align:top;
	-webkit-user-drag:none;
	user-select:none;
}

/* ===========================
   Form
=========================== */

button,
input,
select,
textarea{
	font-family:inherit;
	font-size:16px;
	color:inherit;
	-webkit-tap-highlight-color:transparent;
}

button{
	margin:0;
	padding:0;
	border:0;
	background:none;
	cursor:pointer;
}

input,
select,
textarea{
	margin:0;
	border:1px solid #dcdcdc;
	border-radius:4px;
	background:#fff;
}

textarea{
	resize:vertical;
}

/* ===========================
   Table
=========================== */

table{
	border-collapse:collapse;
	border-spacing:0;
}

caption{
	display:none;
}

th,
td{
	padding:0;
	text-align:left;
}

/* ===========================
   Accessibility
=========================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
	outline:2px solid #111;
	outline-offset:2px;
}

.blind,
.screen_reader{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	border:0;
	white-space:nowrap;
}

/* ===========================
   Selection
=========================== */

::selection{
	background:#222;
	color:#fff;
}

/* ===========================
   Mobile
=========================== */

@media (max-width:768px){

	body{
		font-size:15px;
	}

	h1{font-size:2rem;}
	h2{font-size:1.75rem;}
	h3{font-size:1.5rem;}
	h4{font-size:1.375rem;}
	h5{font-size:1.125rem;}
	h6{font-size:1rem;}

	input,
	select,
	textarea,
	button{
		font-size:16px;
	}
}