/* Ribbonline News Lead 1.0.2 — layout is CSS-only; the optional script matches breaking typography. */
.rln-nlf-shell {
	--rln-nlf-lead: 67;
	--rln-nlf-gap: 20px;
	--rln-nlf-image-ratio: 37 / 20;
	--rln-nlf-thumb: 64px;
	--rln-nlf-row-padding: 16px;
	--rln-nlf-rule: #d7d7d7;
	--rln-nlf-hover: #2d5089;
	container: rln-nlf / inline-size;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	color: #111;
	font-family: 'Pretendard', 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
	font-size: 16px;
	font-style: normal;
	line-height: 1.5;
	text-align: left;
}
.rln-nlf-shell, .rln-nlf-shell *, .rln-nlf-shell *::before, .rln-nlf-shell *::after { box-sizing: border-box; }
.rln-nlf-shell .rln-nlf {
	display: grid;
	grid-template-columns: minmax(0, calc((100% - var(--rln-nlf-gap)) * var(--rln-nlf-lead) / 100)) minmax(0, 1fr);
	align-items: start;
	gap: var(--rln-nlf-gap);
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
.rln-nlf-shell .rln-nlf--solo { grid-template-columns: minmax(0, 1fr); }
.rln-nlf-shell .rln-nlf__lead, .rln-nlf-shell .rln-nlf__story { min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.rln-nlf-shell a { color: inherit; text-decoration: none; box-shadow: none; }
.rln-nlf-shell a:focus-visible { outline: 2px solid var(--rln-nlf-hover); outline-offset: 4px; border-radius: 0; }
.rln-nlf-shell .rln-nlf__media {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: var(--rln-nlf-image-ratio);
	overflow: hidden;
	background: #f1f2f4;
	border: 0;
	border-radius: 0;
}
.rln-nlf-shell .rln-nlf__image { display: block; width: 100%; height: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; object-fit: cover; object-position: center; box-shadow: none; }
.rln-nlf-shell .rln-nlf__placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: #9a9fa9; background: #f1f2f4; }
.rln-nlf-shell .rln-nlf__copy { padding: 15px 0 0; text-align: center; }
.rln-nlf-shell .rln-nlf__kicker { margin: 0 0 13px; padding: 0; color: #2d5089; font-family: inherit; font-size: 17px; font-weight: 700; line-height: 1.4; letter-spacing: -.025em; text-transform: none; }
.rln-nlf-shell .rln-nlf__title { margin: 0; padding: 0; border: 0; color: #080808; font-family: inherit; font-size: 37px; font-size: clamp(26px, 4cqi, 37px); font-style: normal; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; text-transform: none; word-break: keep-all; overflow-wrap: anywhere; }
.rln-nlf-shell .rln-nlf__title a { display: inline; font: inherit; letter-spacing: inherit; color: inherit; }
.rln-nlf-shell .rln-nlf__title a:hover, .rln-nlf-shell .rln-nlf__title a:focus-visible { color: var(--rln-nlf-hover); }
.rln-nlf-shell .rln-nlf__excerpt { margin: 12px 0 0; padding: 0; color: #252525; font-family: inherit; font-size: 17px; font-weight: 400; line-height: 1.45; letter-spacing: -.02em; word-break: keep-all; overflow-wrap: anywhere; }
.rln-nlf-shell .rln-nlf__list { display: block; min-width: 0; margin: 0; padding: 0; list-style: none; border: 0; }
.rln-nlf-shell .rln-nlf__item { display: block; margin: 0; padding: var(--rln-nlf-item-padding, var(--rln-nlf-row-padding)) 0; list-style: none; border: 0; border-bottom: 1px solid var(--rln-nlf-rule); background: transparent; }
.rln-nlf-shell .rln-nlf__item::before, .rln-nlf-shell .rln-nlf__item::after { content: none; }
.rln-nlf-shell .rln-nlf__item:first-child { padding-top: 0; }
.rln-nlf-shell .rln-nlf__item:last-child { padding-bottom: 0; border-bottom: 0; }
.rln-nlf-shell .rln-nlf__row { display: grid; grid-template-columns: minmax(0, 1fr) var(--rln-nlf-thumb); align-items: start; gap: 16px; min-width: 0; min-height: var(--rln-nlf-thumb); margin: 0; padding: 0; }
.rln-nlf-shell .rln-nlf__row--text { grid-template-columns: minmax(0, 1fr); min-height: 44px; }
.rln-nlf-shell .rln-nlf__row-copy { min-width: 0; align-self: center; }
.rln-nlf-shell .rln-nlf__list-title { margin: 0; padding: 0; border: 0; color: #111; font-family: var(--body-font, inherit); font-size: 15px; font-style: normal; font-weight: 500; line-height: 1.55; letter-spacing: -.025em; text-transform: none; word-break: normal; overflow-wrap: anywhere; }
.rln-nlf-shell[data-rln-nlf-font="breaking"] .rln-nlf__list-title {
	font-family: var(--rln-nlf-breaking-family, var(--nav-font, var(--h-font, var(--body-font, inherit))));
	font-size: var(--rln-nlf-breaking-size, 15px);
	font-style: var(--rln-nlf-breaking-style, normal);
	font-weight: var(--rln-nlf-breaking-weight, 500);
	line-height: var(--rln-nlf-breaking-line, 1.55);
	letter-spacing: var(--rln-nlf-breaking-spacing, -.025em);
}
.rln-nlf-shell .rln-nlf__row:hover .rln-nlf__list-title, .rln-nlf-shell .rln-nlf__row:focus-visible .rln-nlf__list-title { color: var(--rln-nlf-hover); }
.rln-nlf-shell .rln-nlf__thumb { display: block; width: var(--rln-nlf-thumb); aspect-ratio: 1; overflow: hidden; background: #f1f2f4; border: 0; border-radius: 0; }
.rln-nlf-shell .rln-nlf__date { display: block; margin-top: 7px; color: #666; font-family: inherit; font-size: 12px; font-weight: 400; line-height: 1.5; letter-spacing: 0; }
.rln-nlf-shell .rln-nlf__empty { margin: 0; padding: 20px; border: 1px dashed #c8c8c8; color: #555; font-size: 14px; }
@container rln-nlf (max-width: 759px) {
	.rln-nlf-shell .rln-nlf { grid-template-columns: minmax(0, 1fr); row-gap: var(--rln-nlf-gap, 24px); }
	.rln-nlf-shell .rln-nlf__title { font-size: 26px; }
	.rln-nlf-shell .rln-nlf__list { border-top: 1px solid var(--rln-nlf-rule); }
	.rln-nlf-shell .rln-nlf__item:first-child { padding-top: var(--rln-nlf-item-padding, var(--rln-nlf-row-padding)); }
}
@container rln-nlf (max-width: 479px) {
	.rln-nlf-shell .rln-nlf__title { font-size: 24px; line-height: 1.4; letter-spacing: -.05em; }
	.rln-nlf-shell .rln-nlf__copy { padding-top: 12px; }
	.rln-nlf-shell .rln-nlf__kicker { margin-bottom: 9px; font-size: 15px; }
	.rln-nlf-shell .rln-nlf__excerpt { margin-top: 10px; font-size: 15px; }
	.rln-nlf-shell .rln-nlf__row { gap: 14px; }
}
/* Safe fallback for older browsers without container queries. */
@supports not (container-type: inline-size) {
	@media (max-width: 767px) {
		.rln-nlf-shell .rln-nlf { grid-template-columns: minmax(0, 1fr); }
		.rln-nlf-shell .rln-nlf__title { font-size: 26px; }
		.rln-nlf-shell .rln-nlf__list { border-top: 1px solid var(--rln-nlf-rule); }
		.rln-nlf-shell .rln-nlf__item:first-child { padding-top: var(--rln-nlf-item-padding, var(--rln-nlf-row-padding)); }
	}
	@media (max-width: 479px) {
		.rln-nlf-shell .rln-nlf__title { font-size: 24px; }
	}
}
