/* 해피나눔 리뉴얼 — 데이터 서비스의 신뢰·탐색성 강화 */
:root {
	--renewal-ink: #16332b;
	--renewal-line: #d9e7e1;
	--renewal-soft: #f2f8f5;
	--renewal-accent: #047857;
	--renewal-shadow: 0 12px 30px rgba( 15, 63, 49, .08 );
}

body {
	font-size: 17px;
}

.label-optional,
.dl-agency {
	color: #536861;
}

.article-body p a,
.hub-note a,
.sec-lead a {
	text-decoration: underline;
	text-underline-offset: .16em;
}

.renewal-evidence {
	padding: 0 0 20px;
	background: linear-gradient(180deg, #f7fbf9 0%, #fff 100%);
}

.renewal-evidence-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.renewal-evidence-item {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	min-height: 82px;
	padding: 14px 16px;
	border: 1px solid var(--renewal-line);
	border-radius: 12px;
	background: #fff;
}

.renewal-evidence-icon,
.renewal-guide-icon {
	display: inline-grid;
	place-items: center;
	color: var(--renewal-accent);
	background: var(--renewal-soft);
	border-radius: 10px;
}

.renewal-evidence-icon {
	width: 42px;
	height: 42px;
}

.renewal-evidence-icon .ico,
.renewal-guide-icon .ico {
	width: 22px;
	height: 22px;
}

.renewal-evidence-item strong {
	display: block;
	margin-bottom: 2px;
	color: var(--renewal-ink);
	font-size: 15px;
}

.renewal-evidence-item span:last-child {
	display: block;
	color: #536861;
	font-size: 13px;
	line-height: 1.55;
}

.renewal-guide-section {
	position: relative;
	overflow: hidden;
}

.renewal-guide-section::before {
	position: absolute;
	top: -110px;
	right: -90px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: #e8f4ee;
	content: "";
	pointer-events: none;
}

.renewal-guide-head {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 24px;
}

.renewal-guide-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.renewal-guide-card a {
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: 12px;
	min-height: 176px;
	padding: 18px;
	border: 1px solid var(--renewal-line);
	border-radius: 12px;
	color: var(--renewal-ink);
	background: #fff;
	text-decoration: none;
	box-shadow: 0 1px 0 rgba(15, 63, 49, .02);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.renewal-guide-card a:hover,
.renewal-guide-card a:focus-visible {
	transform: translateY(-2px);
	border-color: #8bc4ab;
	box-shadow: var(--renewal-shadow);
}

.renewal-guide-icon {
	width: 40px;
	height: 40px;
}

.renewal-guide-title {
	font-size: 17px;
	font-weight: 750;
	line-height: 1.45;
}

.renewal-guide-arrow {
	color: var(--renewal-accent);
	font-size: 13px;
	font-weight: 700;
}

.renewal-reveal.is-visible {
	animation: renewal-enter 420ms ease-out both;
}

@keyframes renewal-enter {
	from { opacity: .88; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
	.renewal-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
	.renewal-evidence-list { grid-template-columns: 1fr; }
	.renewal-evidence-item { min-height: 72px; }
	.renewal-guide-head { display: block; }
	.renewal-guide-grid { gap: 10px; }
	.renewal-guide-card a { min-height: 158px; padding: 15px; }
}

@media (max-width: 390px) {
	.renewal-guide-grid { grid-template-columns: 1fr; }
	.renewal-guide-card a { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.renewal-guide-card a { transition: none; }
	.renewal-reveal.is-visible { animation: none; }
}
