:root {
	--npo-accent: #5f6f52;
	--npo-accent-dark: color-mix(in srgb, var(--npo-accent) 82%, #182016);
	--npo-text: #202420;
	--npo-muted: #6d746d;
	--npo-bg: #fff;
	--npo-card: #fff;
	--npo-bg-soft: color-mix(in srgb, var(--npo-bg) 96%, var(--npo-text));
	--npo-bg-tint: color-mix(in srgb, var(--npo-accent) 14%, var(--npo-bg));
	--npo-line: color-mix(in srgb, var(--npo-text) 12%, var(--npo-bg));
	--npo-shadow: 0 18px 55px rgb(26 36 25 / 9%);
	--npo-radius: 18px;
	--npo-body-size: 17px;
	--npo-container: 1180px;
	--npo-font: -apple-system, BlinkMacSystemFont, "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Segoe UI", sans-serif;
	--npo-serif: "Iropke Batang", "Noto Serif KR", Georgia, serif;
}

html { scroll-behavior: smooth; }
*,
*::before,
*::after { box-sizing: border-box; }
body {
	margin: 0;
	background: var(--npo-bg);
	color: var(--npo-text);
	font-family: var(--npo-font);
	font-size: var(--npo-body-size);
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}
body.is-dark,
body.npo-dark-default:not(.is-light) {
	--npo-bg: #171a17;
	--npo-bg-soft: #1f231f;
	--npo-bg-tint: #283027;
	--npo-text: #f1f3ee;
	--npo-muted: #acb4aa;
	--npo-line: #343a33;
	--npo-card: #1c201c;
	--npo-shadow: 0 18px 55px rgb(0 0 0 / 24%);
	color-scheme: dark;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--npo-accent); }
button,
input,
textarea,
select { font: inherit; }
button,
input[type="submit"] { cursor: pointer; }
::selection { background: var(--npo-bg-tint); color: var(--npo-text); }

.npo-container { width: min(var(--npo-container), calc(100% - 40px)); margin-inline: auto; }
.npo-container--reading { width: min(820px, calc(100% - 40px)); }
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}
.screen-reader-text:focus,
.skip-link:focus {
	top: 12px; left: 12px; z-index: 99999;
	width: auto; height: auto; padding: 10px 16px; margin: 0;
	clip: auto; background: var(--npo-text); color: var(--npo-bg);
	border-radius: 8px;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: color-mix(in srgb, var(--npo-card) 91%, transparent);
	backdrop-filter: blur(16px);
}
.npo-static-header .site-header { position: relative; top: auto; }
.admin-bar .site-header { top: 32px; }
.site-header__inner {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	min-height: 76px;
	gap: 32px;
}
.site-branding { min-width: 0; }
.site-brand {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	min-width: 0;
	color: var(--npo-text);
}
.site-brand:hover { color: var(--npo-text); }
.custom-logo { width: auto; max-width: 180px; max-height: 46px; }
.site-title-text {
	display: inline-block;
	max-width: 220px;
	overflow: hidden;
	font-size: 19px;
	font-weight: 820;
	line-height: 1.2;
	letter-spacing: -.035em;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.site-title__mark { width: 12px; height: 12px; background: var(--npo-accent); border-radius: 50% 50% 50% 3px; transform: rotate(-45deg); }
.site-header__right { display: flex; align-items: center; justify-content: flex-end; gap: 22px; min-width: 0; }
.npo-brand-center .site-header__inner { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.npo-brand-center .site-branding { grid-column: 2; justify-self: center; }
.npo-brand-center .site-header__right { grid-column: 3; justify-self: end; }
.npo-header-compact .site-header__inner { min-height: 58px; }
.npo-header-compact .custom-logo { max-height: 38px; }
.npo-header-compact .site-title-text { font-size: 17px; }
.npo-header-compact .primary-menu > li > a { padding-block: 15px; }
.npo-header-compact .primary-menu > .current-menu-item > a::after,
.npo-header-compact .primary-menu > .current-menu-ancestor > a::after { bottom: 8px; }
.primary-menu,
.primary-menu ul,
.footer-menu { list-style: none; margin: 0; padding: 0; }
.primary-menu { display: flex; align-items: center; justify-content: flex-end; gap: clamp(18px, 2.2vw, 32px); }
.primary-menu > li { position: relative; }
.primary-menu > li > a { display: block; padding: 24px 0; font-size: 14px; font-weight: 680; white-space: nowrap; }
.primary-menu > .current-menu-item > a::after,
.primary-menu > .current-menu-ancestor > a::after {
	content: "";
	position: absolute;
	left: 50%; bottom: 16px;
	width: 5px; height: 5px;
	background: var(--npo-accent);
	border-radius: 50%;
	transform: translateX(-50%);
}
.primary-menu .sub-menu {
	position: absolute; top: calc(100% - 10px); left: 50%;
	min-width: 190px; padding: 10px;
	background: var(--npo-card); border: 1px solid var(--npo-line);
	border-radius: 12px; box-shadow: var(--npo-shadow);
	opacity: 0; visibility: hidden; transform: translate(-50%, 8px);
	transition: .18s ease;
}
.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.primary-menu .sub-menu a { display: block; padding: 8px 10px; border-radius: 8px; font-size: 14px; }
.primary-menu .sub-menu a:hover { background: var(--npo-bg-soft); }
.header-actions { display: flex; justify-content: flex-end; gap: 8px; flex: 0 0 auto; }
.icon-button {
	display: inline-grid; place-items: center;
	width: 40px; height: 40px; padding: 0;
	color: var(--npo-text); background: transparent;
	border: 1px solid var(--npo-line); border-radius: 50%;
}
.icon-button:hover { background: var(--npo-bg-soft); border-color: var(--npo-accent); }
.icon-button__sun { font-size: 21px; line-height: 1; }
.menu-toggle { display: none; }
.menu-toggle__lines,
.menu-toggle__lines::before,
.menu-toggle__lines::after {
	display: block; width: 17px; height: 1.5px; background: currentColor; transition: .2s;
}
.menu-toggle__lines { position: relative; }
.menu-toggle__lines::before,
.menu-toggle__lines::after { content: ""; position: absolute; left: 0; }
.menu-toggle__lines::before { top: -5px; }
.menu-toggle__lines::after { top: 5px; }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines::after { top: 0; transform: rotate(-45deg); }

.category-navigation {
	background: var(--npo-card);
	border: solid var(--npo-line);
	border-width: 1px 0;
}
.category-navigation__inner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 45px;
}
.category-navigation__scroll {
	flex: 1 1 auto;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.category-navigation__scroll::-webkit-scrollbar { display: none; }
.category-menu {
	display: flex;
	align-items: center;
	gap: clamp(22px, 3vw, 38px);
	width: max-content;
	margin: 0;
	padding: 0 24px 0 0;
	list-style: none;
}
.category-menu a {
	display: block;
	padding: 10px 0;
	color: var(--npo-muted);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}
.category-menu a:hover,
.category-menu .current-menu-item > a,
.category-menu .current-post-ancestor > a { color: var(--npo-accent); }
.all-categories-toggle {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	padding: 0 0 0 20px;
	color: var(--npo-text);
	background: var(--npo-card);
	border: 0;
	border-left: 1px solid var(--npo-line);
	font-size: 12px;
	font-weight: 800;
}
.all-categories-toggle:hover { color: var(--npo-accent); }
.all-categories-toggle__icon {
	display: inline-grid;
	place-items: center;
	width: 20px;
	height: 20px;
	background: var(--npo-bg-soft);
	border-radius: 50%;
	font-size: 14px;
	line-height: 1;
	transition: transform .2s;
}
.all-categories-toggle[aria-expanded="true"] .all-categories-toggle__icon { transform: rotate(45deg); }
.all-categories {
	position: absolute;
	top: calc(100% + 1px);
	right: 0;
	z-index: 110;
	width: min(820px, 100%);
	max-height: min(68vh, 620px);
	overflow-y: auto;
	padding: 28px;
	background: var(--npo-card);
	border: 1px solid var(--npo-line);
	border-radius: 0 0 16px 16px;
	box-shadow: var(--npo-shadow);
}
.all-categories[hidden] { display: none; }
.all-categories__heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--npo-line);
}
.all-categories__heading strong { font-size: 18px; }
.all-categories__heading span { color: var(--npo-muted); font-size: 11px; }
.all-categories__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.all-categories__grid a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 10px;
	border-radius: 8px;
	font-size: 13px;
}
.all-categories__grid a:hover { color: var(--npo-text); background: var(--npo-bg-soft); }
.all-categories__grid small { color: var(--npo-muted); font-size: 10px; }

.eyebrow {
	margin: 0 0 14px;
	color: var(--npo-accent);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	line-height: 1.4;
}
.home-hero .eyebrow {
	font-size: 14px;
	letter-spacing: .08em;
	line-height: 1.5;
}
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 52px;
	padding: 0 23px;
	border: 1px solid transparent;
	border-radius: 11px;
	font-size: 15px;
	font-weight: 750;
	transition: transform .2s, box-shadow .2s, background .2s;
}
.button:hover { transform: translateY(-2px); }
.button--primary { color: #fff; background: var(--npo-accent); box-shadow: 0 12px 30px color-mix(in srgb, var(--npo-accent) 25%, transparent); }
.button--primary:hover { color: #fff; background: var(--npo-accent-dark); }
.button--light { color: #243022; background: #fff; }
.button--light:hover { color: #243022; box-shadow: 0 10px 28px rgb(0 0 0 / 13%); }
.text-link { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; font-weight: 700; }

.home-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(72px, 10vw, 130px) 0 clamp(72px, 9vw, 116px);
	background:
		radial-gradient(circle at 78% 44%, color-mix(in srgb, var(--npo-accent) 15%, transparent), transparent 30%),
		linear-gradient(180deg, var(--npo-bg-soft), var(--npo-bg));
}
.home-hero::before {
	content: "";
	position: absolute; inset: 0;
	background-image: radial-gradient(color-mix(in srgb, var(--npo-text) 10%, transparent) .6px, transparent .6px);
	background-size: 18px 18px;
	mask-image: linear-gradient(to right, #000, transparent 44%);
	opacity: .35;
}
.home-hero__grid { position: relative; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 80px; }
.home-hero h1 {
	max-width: 720px;
	margin: 0 0 26px;
	font-size: clamp(42px, 6vw, 76px);
	line-height: 1.14;
	letter-spacing: -.065em;
	word-break: keep-all;
}
.home-hero__lead {
	max-width: 580px;
	margin: 0 0 36px;
	color: var(--npo-muted);
	font-size: clamp(17px, 2vw, 20px);
	line-height: 1.75;
	word-break: keep-all;
}
.home-hero__visual { position: relative; min-height: 390px; }
.hero-card {
	position: absolute;
	border-radius: 26px;
	box-shadow: var(--npo-shadow);
}
.hero-card--back {
	inset: 10px 65px 40px 5px;
	background: var(--npo-accent);
	transform: rotate(-7deg);
	opacity: .88;
}
.hero-card--front {
	inset: 32px 10px 7px 54px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 46px;
	background: var(--npo-card);
	border: 1px solid var(--npo-line);
	transform: rotate(3deg);
}
.hero-card--front::before {
	content: "N";
	position: absolute; top: 42px; right: 42px;
	display: grid; place-items: center;
	width: 64px; height: 64px;
	color: #fff; background: var(--npo-accent);
	border-radius: 50% 50% 50% 12px;
	font: 800 30px/1 var(--npo-serif);
}
.hero-card__label { margin-bottom: 8px; color: var(--npo-muted); font-size: 13px; }
.hero-card strong { margin-bottom: 30px; font: 700 clamp(26px, 4vw, 42px)/1.2 var(--npo-serif); letter-spacing: -.04em; }
.hero-card__line { display: block; width: 100%; height: 7px; margin-top: 11px; background: var(--npo-bg-tint); border-radius: 99px; }
.hero-card__line--short { width: 68%; }

.quick-links {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: -1px;
	border: solid var(--npo-line);
	border-width: 0 1px 1px;
}
.quick-links a {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 16px;
	min-height: 88px;
	padding: 20px 24px;
	border-left: 1px solid var(--npo-line);
}
.quick-links a:first-child { border-left: 0; }
.quick-links a > span:first-child { color: var(--npo-muted); font-size: 11px; font-weight: 800; }
.quick-links a > span:last-child { opacity: 0; transform: translate(-4px, 4px); transition: .2s; }
.quick-links a:hover { color: var(--npo-text); background: var(--npo-bg-soft); }
.quick-links a:hover > span:last-child { opacity: 1; transform: none; }
.quick-links strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }

.home-section { padding-top: clamp(80px, 10vw, 130px); padding-bottom: clamp(80px, 10vw, 130px); }
.section-heading { margin-bottom: 38px; }
.section-heading h2 { margin: 0; font-size: clamp(30px, 4vw, 46px); line-height: 1.25; letter-spacing: -.045em; }
.section-heading--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.featured-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr); gap: 46px; }
.featured-story__image,
.post-card__image,
.compact-story__image { display: block; overflow: hidden; background: var(--npo-bg-tint); }
.featured-story__image { aspect-ratio: 16 / 10; margin-bottom: 28px; border-radius: var(--npo-radius); }
.featured-story__image img,
.post-card__image img,
.compact-story__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.featured-story:hover .featured-story__image img,
.post-card:hover .post-card__image img,
.compact-story:hover .compact-story__image img { transform: scale(1.025); }
.image-placeholder {
	display: block; width: 100%; height: 100%;
	background:
		linear-gradient(135deg, transparent 48%, color-mix(in srgb, var(--npo-accent) 25%, transparent) 49% 51%, transparent 52%),
		radial-gradient(circle at 72% 32%, color-mix(in srgb, var(--npo-accent) 40%, transparent) 0 12%, transparent 12.5%),
		var(--npo-bg-tint);
}
.entry-categories { margin-bottom: 10px; color: var(--npo-accent); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.featured-story h3 { max-width: 740px; margin: 0 0 14px; font-size: clamp(28px, 4vw, 44px); line-height: 1.27; letter-spacing: -.045em; }
.featured-story__content > p { margin: 0 0 18px; color: var(--npo-muted); }
.entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--npo-muted); font-size: 12px; }
.featured-list { border-top: 1px solid var(--npo-line); }
.compact-story {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	align-items: center;
	gap: 20px;
	padding: 20px 0;
	border-bottom: 1px solid var(--npo-line);
}
.compact-story__image { aspect-ratio: 1; border-radius: 12px; }
.compact-story .entry-categories { margin: 0 0 5px; }
.compact-story h3 { margin: 0 0 8px; font-size: 17px; line-height: 1.45; letter-spacing: -.025em; }
.compact-story time { color: var(--npo-muted); font-size: 11px; }

.home-categories { width: 100%; background: var(--npo-bg-soft); }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.category-card {
	display: flex;
	flex-direction: column;
	min-height: 280px;
	padding: 32px;
	background: var(--npo-card);
	border: 1px solid var(--npo-line);
	border-radius: var(--npo-radius);
	transition: .25s ease;
}
.category-card:hover { color: var(--npo-text); border-color: var(--npo-accent); transform: translateY(-5px); box-shadow: var(--npo-shadow); }
.category-card > span { margin-bottom: auto; color: var(--npo-muted); font-size: 12px; }
.category-card strong { margin-top: 34px; font-size: 28px; letter-spacing: -.04em; }
.category-card p { margin: 10px 0 22px; color: var(--npo-muted); font-size: 14px; }
.category-card em { color: var(--npo-accent); font-size: 13px; font-style: normal; font-weight: 800; }
.home-cta {
	display: flex; align-items: center; justify-content: space-between; gap: 34px;
	margin-top: clamp(80px, 10vw, 130px); margin-bottom: clamp(80px, 10vw, 130px);
	padding: clamp(38px, 6vw, 72px);
	color: #fff; background: var(--npo-accent);
	border-radius: 24px;
}
.home-cta .eyebrow { color: rgb(255 255 255 / 72%); }
.home-cta h2 { max-width: 700px; margin: 0; font-size: clamp(28px, 4vw, 46px); line-height: 1.28; letter-spacing: -.045em; }
.empty-home { text-align: center; }
.empty-home h2 { margin: 0 0 24px; font-size: clamp(28px, 5vw, 50px); }

.archive-shell,
.page-shell { padding-top: 64px; padding-bottom: 110px; }
.archive-header { max-width: 800px; margin: 28px 0 58px; }
.archive-header h1,
.page-header h1 { margin: 0; font-size: clamp(38px, 6vw, 64px); line-height: 1.18; letter-spacing: -.055em; }
.archive-header > p:last-child,
.archive-description { color: var(--npo-muted); }
.content-with-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 70px; align-items: start; }
.npo-sidebar-left .content-with-sidebar { grid-template-columns: 290px minmax(0, 1fr); }
.npo-sidebar-left .widget-area { order: -1; }
.npo-sidebar-none .content-with-sidebar { display: block; }
.npo-sidebar-none .widget-area { display: none; }
.post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 26px; }
.post-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.post-card__image { aspect-ratio: 16 / 10; margin-bottom: 22px; border-radius: 14px; }
.post-card h2 { margin: 0 0 10px; font-size: 23px; line-height: 1.38; letter-spacing: -.035em; }
.post-card__content > p { display: -webkit-box; overflow: hidden; margin: 0 0 15px; color: var(--npo-muted); font-size: 14px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.navigation.pagination { grid-column: 1 / -1; margin-top: 28px; }
.nav-links { display: flex; align-items: center; gap: 8px; }
.page-numbers {
	display: inline-grid; place-items: center;
	min-width: 40px; height: 40px; padding: 0 10px;
	border: 1px solid var(--npo-line); border-radius: 9px;
}
.page-numbers.current,
.page-numbers:hover { color: #fff; background: var(--npo-accent); border-color: var(--npo-accent); }
.widget-area { position: sticky; top: 108px; }
.widget { margin-bottom: 30px; padding: 25px; background: var(--npo-bg-soft); border-radius: 14px; }
.widget-title { margin: 0 0 16px; font-size: 16px; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { padding: 7px 0; color: var(--npo-muted); font-size: 14px; border-bottom: 1px solid var(--npo-line); }
.widget li:last-child { border-bottom: 0; }
.widget li a { color: var(--npo-text); }
.widget input,
.search-form input[type="search"] {
	width: 100%; min-height: 46px; padding: 10px 13px;
	color: var(--npo-text); background: var(--npo-card);
	border: 1px solid var(--npo-line); border-radius: 9px;
}
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; }
.search-form input[type="submit"] {
	padding: 0 17px; color: #fff; background: var(--npo-accent);
	border: 0; border-radius: 9px; font-weight: 700;
}
.search-box { max-width: 680px; margin: -28px 0 54px; }

.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: var(--npo-muted); font-size: 12px; }
.breadcrumbs [aria-current="page"] { overflow: hidden; max-width: 400px; text-overflow: ellipsis; white-space: nowrap; }
.single-header { padding-top: clamp(60px, 9vw, 108px); padding-bottom: 42px; text-align: center; }
.single-header .breadcrumbs { justify-content: center; margin-bottom: 38px; }
.single-header .entry-categories { margin-bottom: 14px; }
.single-header h1 { margin: 0; font-size: clamp(38px, 6vw, 66px); line-height: 1.18; letter-spacing: -.06em; word-break: keep-all; }
.single-deck { margin: 24px auto 0; color: var(--npo-muted); font-size: 19px; word-break: keep-all; }
.single-header .entry-meta { justify-content: center; margin-top: 24px; }
.single-hero { margin-bottom: 70px; border-radius: 22px; }
.single-hero--crop { overflow: hidden; aspect-ratio: 16 / 8.6; }
.single-hero--crop img { width: 100%; height: 100%; object-fit: cover; }
.single-hero--natural { width: min(calc(100% - 30px), 780px); overflow: hidden; aspect-ratio: auto; background: var(--npo-card); }
.single-hero--natural img { display: block; width: 100%; height: auto; object-fit: contain; }
.single-layout { grid-template-columns: minmax(0, 760px) 280px; justify-content: center; }
.entry-content {
	color: var(--npo-text);
	font-size: var(--npo-body-size);
	line-height: 1.85;
	overflow-wrap: break-word;
}
.entry-content > * { max-width: 100%; }
.entry-content h2,
.entry-content h3 { scroll-margin-top: 112px; letter-spacing: -.04em; }
.entry-content h2 { margin: 3.1em 0 .8em; font-size: clamp(27px, 4vw, 34px); line-height: 1.35; }
.entry-content h3 { margin: 2.4em 0 .7em; font-size: clamp(21px, 3vw, 25px); line-height: 1.4; }
.entry-content p { margin: 0 0 1.45em; }
.entry-content a { color: var(--npo-accent); text-decoration: underline; text-underline-offset: 3px; }
.entry-content ul,
.entry-content ol { margin: 0 0 1.6em; padding-left: 1.35em; }
.entry-content li { margin: .45em 0; padding-left: .25em; }
.entry-content blockquote {
	margin: 2.2em 0; padding: 24px 28px;
	background: var(--npo-bg-soft); border-left: 4px solid var(--npo-accent);
	font: 500 1.08em/1.8 var(--npo-serif);
}
.entry-content figure { margin: 2.4em 0; }
.entry-content figcaption { margin-top: 10px; color: var(--npo-muted); font-size: 12px; text-align: center; }
.entry-content table { width: 100%; margin: 2em 0; border-collapse: collapse; font-size: .9em; }
.entry-content th,
.entry-content td { padding: 12px 14px; border: 1px solid var(--npo-line); text-align: left; }
.entry-content th { background: var(--npo-bg-soft); }
.entry-content pre { overflow-x: auto; padding: 20px; background: #1c211c; color: #f5f7f3; border-radius: 12px; }
.entry-content code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9em; }
.npo-toc {
	margin: 0 0 50px;
	padding: 24px 26px;
	background: var(--npo-bg-soft);
	border: 1px solid var(--npo-line);
	border-radius: 14px;
}
.npo-toc__top { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.npo-toc__top strong { font-size: 15px; }
.npo-toc__toggle { padding: 4px 8px; color: var(--npo-muted); background: transparent; border: 0; font-size: 12px; }
.npo-toc__list { margin: 16px 0 0 !important; padding-left: 1.3em !important; color: var(--npo-muted); font-size: 14px; }
.npo-toc__list[hidden] { display: none; }
.npo-toc__list li { margin: 6px 0; }
.npo-toc__list .npo-toc__level-3 { margin-left: 18px; }
.npo-toc__list .npo-toc__level-4 { margin-left: 36px; }
.npo-toc__list .npo-toc__level-5 { margin-left: 54px; }
.npo-toc__list a { color: var(--npo-muted); text-decoration: none; }
.npo-toc__list a:hover { color: var(--npo-accent); }
.npo-toc--number-roman .npo-toc__list { list-style-type: upper-roman; }
.npo-toc--number-korean .npo-toc__list { list-style-type: korean-hangul-formal; }
.npo-toc--number-dot .npo-toc__list { list-style-type: disc; }
.npo-toc--number-none .npo-toc__list { list-style: none; padding-left: 0 !important; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 50px 0; }
.tag-list a { padding: 7px 12px; color: var(--npo-muted); background: var(--npo-bg-soft); border-radius: 99px; font-size: 12px; }
.author-box { display: flex; gap: 20px; padding: 28px; background: var(--npo-bg-soft); border-radius: 16px; }
.author-box img { flex: 0 0 auto; border-radius: 50%; }
.author-box span { display: block; color: var(--npo-muted); font-size: 11px; }
.author-box strong { display: block; margin: 2px 0 6px; font-size: 18px; }
.author-box p { margin: 0; color: var(--npo-muted); font-size: 14px; }
.post-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 52px 0; }
.post-navigation > div { min-width: 0; padding-top: 18px; border-top: 1px solid var(--npo-line); }
.post-navigation > div:last-child { text-align: right; }
.post-navigation span { display: block; margin-bottom: 7px; color: var(--npo-muted); font-size: 11px; }
.post-navigation a { font-size: 14px; font-weight: 700; }
.related-posts { margin-top: 78px; }
.related-posts .section-heading h2 { font-size: 30px; }
.related-posts .post-card h2 { font-size: 18px; }
.related-posts .post-card__content > p { display: none; }
.page-header { margin: 40px 0 50px; }
.page-hero { margin: 0 0 50px; }
.comments-area { margin-top: 80px; padding-top: 45px; border-top: 1px solid var(--npo-line); }
.comments-title { font-size: 25px; }
.comment-list { list-style: none; margin: 0 0 42px; padding: 0; }
.comment-body { margin-bottom: 20px; padding: 22px; background: var(--npo-bg-soft); border-radius: 12px; }
.comment-author { display: flex; align-items: center; gap: 10px; }
.comment-author img { border-radius: 50%; }
.comment-meta { font-size: 12px; }
.comment-content { margin-top: 12px; }
.comment-form label { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 700; }
.comment-form input:not([type="submit"]),
.comment-form textarea { width: 100%; padding: 12px; color: var(--npo-text); background: var(--npo-card); border: 1px solid var(--npo-line); border-radius: 9px; }
.comment-form input[type="submit"] { padding: 12px 20px; color: #fff; background: var(--npo-accent); border: 0; border-radius: 9px; }
.not-found { padding-top: 100px; padding-bottom: 140px; text-align: center; }
.not-found__number { margin: 0; color: var(--npo-bg-tint); font-size: clamp(120px, 24vw, 280px); font-weight: 900; line-height: .85; letter-spacing: -.09em; }
.not-found h1 { margin: 38px 0 12px; font-size: 36px; }
.not-found > p:not(.not-found__number) { color: var(--npo-muted); }
.not-found .search-form { max-width: 520px; margin: 28px auto 18px; }
.no-results { grid-column: 1 / -1; padding: 52px; background: var(--npo-bg-soft); border-radius: 16px; text-align: center; }

.site-footer { padding: 66px 0 34px; background: #202720; color: #eef1eb; }
.footer-widgets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-bottom: 50px; }
.footer-widgets .widget { padding: 0; background: transparent; }
.footer-widgets .widget-title { color: #fff; }
.footer-widgets .widget li { color: #b8c0b5; border-color: #394238; }
.footer-widgets .widget a { color: #dfe5dc; }
.site-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) auto minmax(260px, .9fr);
	align-items: start;
	gap: 44px;
	padding-top: 30px;
	border-top: 1px solid #3a4339;
}
.site-footer__brand strong { display: block; margin-bottom: 8px; font-size: 19px; letter-spacing: -.025em; }
.site-footer__brand p,
.site-footer__legal p { margin: 0; color: #aeb6ac; font-size: 12px; line-height: 1.75; }
.site-footer__intro { max-width: 520px; }
.site-footer__nav { padding-top: 2px; }
.footer-menu { display: flex; flex-wrap: wrap; gap: 10px 20px; font-size: 12px; font-weight: 650; }
.footer-menu a:hover,
.footer-menu .current-menu-item a { color: color-mix(in srgb, var(--npo-accent) 76%, #fff); }
.site-footer__legal { max-width: 440px; justify-self: end; }
.site-footer__disclaimer { margin-bottom: 12px !important; }
.copyright { margin-top: 11px !important; white-space: normal; }
.npo-footer-layout-two .site-footer__main { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); }
.npo-footer-layout-two .site-footer__brand { grid-row: 1 / span 2; }
.npo-footer-layout-two .site-footer__nav,
.npo-footer-layout-two .site-footer__legal { grid-column: 2; justify-self: stretch; }
.npo-footer-layout-two .site-footer__legal { max-width: none; }
.npo-footer-layout-stacked .site-footer__main { grid-template-columns: 1fr; gap: 20px; }
.npo-footer-layout-stacked .site-footer__legal { max-width: 720px; justify-self: start; }

.npo-footer-light .site-footer { color: var(--npo-text); background: var(--npo-bg-soft); border-top: 1px solid var(--npo-line); }
.npo-footer-light .site-footer__main { border-color: var(--npo-line); }
.npo-footer-light .site-footer__brand p,
.npo-footer-light .site-footer__legal p,
.npo-footer-light .footer-widgets .widget li { color: var(--npo-muted); }
.npo-footer-light .footer-widgets .widget-title,
.npo-footer-light .footer-widgets .widget a { color: var(--npo-text); }
.npo-footer-light .footer-widgets .widget li { border-color: var(--npo-line); }
.npo-footer-accent .site-footer { color: #fff; background: var(--npo-accent-dark); }
.npo-footer-accent .site-footer__main { border-color: rgb(255 255 255 / 28%); }
.npo-footer-accent .site-footer__brand p,
.npo-footer-accent .site-footer__legal p,
.npo-footer-accent .footer-widgets .widget li { color: rgb(255 255 255 / 76%); }
.npo-footer-accent .footer-widgets .widget-title,
.npo-footer-accent .footer-widgets .widget a { color: #fff; }
.npo-footer-accent .footer-widgets .widget li { border-color: rgb(255 255 255 / 25%); }

.npo-font-serif { --npo-font: "Iropke Batang", "Noto Serif KR", Georgia, serif; }
.npo-font-rounded { --npo-font: "NanumSquareRound", "Arial Rounded MT Bold", "Pretendard", "Noto Sans KR", sans-serif; }
.npo-radius-sharp { --npo-radius: 2px; }
.npo-radius-soft { --npo-radius: 18px; }
.npo-radius-round { --npo-radius: 28px; }
.npo-radius-sharp .button,
.npo-radius-sharp .post-card__image,
.npo-radius-sharp .category-card,
.npo-radius-sharp .widget,
.npo-radius-sharp .npo-toc { border-radius: 2px; }
.npo-radius-round .button,
.npo-radius-round .post-card__image,
.npo-radius-round .category-card,
.npo-radius-round .widget,
.npo-radius-round .npo-toc { border-radius: 24px; }

.npo-thumb-classic .featured-story__image,
.npo-thumb-classic .post-card__image { aspect-ratio: 4 / 3; }
.npo-thumb-square .featured-story__image,
.npo-thumb-square .post-card__image,
.npo-thumb-square .single-hero--crop { aspect-ratio: 1; }
.npo-thumbnails-hidden .compact-story,
.npo-thumbnails-hidden.npo-archive-list .archive-shell .post-card { grid-template-columns: 1fr; }

.npo-archive-list .archive-shell .post-grid { grid-template-columns: 1fr; gap: 28px; }
.npo-archive-list .archive-shell .post-card {
	display: grid;
	grid-template-columns: minmax(180px, 34%) minmax(0, 1fr);
	align-items: center;
	gap: 26px;
}
.npo-archive-list .archive-shell .post-card__image { margin: 0; }
.npo-archive-compact .archive-shell .post-grid { gap: 28px 18px; }
.npo-archive-compact .archive-shell .post-card h2 { font-size: 19px; }
.npo-archive-compact .archive-shell .post-card__content > p { display: none; }


.npo-layout-minimal .home-hero__copy h1,
.npo-layout-minimal .single-header h1 { font-family: var(--npo-serif); font-weight: 600; letter-spacing: -.04em; }
.npo-layout-minimal .hero-card--back { background: #a89679; }
.npo-layout-minimal .post-card__image,
.npo-layout-minimal .featured-story__image { border-radius: 2px; }
.npo-layout-magazine .post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.npo-layout-magazine .post-card:first-child { grid-column: span 2; }
.npo-layout-blog .home-hero__grid { grid-template-columns: 1fr; }
.npo-layout-blog .home-hero__copy { max-width: 820px; }
.npo-layout-blog .home-hero__visual { display: none; }

@media (max-width: 1024px) {
	.site-header__inner,
	.npo-brand-center .site-header__inner { grid-template-columns: 1fr auto; }
	.npo-brand-center .site-branding { grid-column: 1; justify-self: start; }
	.npo-brand-center .site-header__right { grid-column: 2; justify-self: end; }
	.site-navigation {
		position: absolute; inset: 100% 0 auto;
		display: none; max-height: calc(100vh - 76px); overflow-y: auto;
		padding: 20px;
		background: var(--npo-card); border-bottom: 1px solid var(--npo-line);
	}
	.site-navigation.is-open { display: block; }
	.primary-menu { display: block; }
	.primary-menu > li > a { padding: 12px 4px; }
	.primary-menu > .current-menu-item > a::after,
	.primary-menu > .current-menu-ancestor > a::after { left: auto; right: 4px; bottom: 50%; transform: translateY(50%); }
	.primary-menu .sub-menu {
		position: static; display: block;
		padding: 0 0 8px 18px; background: transparent; border: 0; box-shadow: none;
		opacity: 1; visibility: visible; transform: none;
	}
	.menu-toggle { display: inline-grid; }
	.all-categories { right: 0; left: 0; width: 100%; }
	.home-hero__grid { gap: 30px; }
	.home-hero__visual { min-height: 320px; }
	.quick-links { grid-template-columns: repeat(2, 1fr); }
	.quick-links a:nth-child(3) { border-left: 0; border-top: 1px solid var(--npo-line); }
	.quick-links a:nth-child(4) { border-top: 1px solid var(--npo-line); }
	.featured-grid { grid-template-columns: 1fr; }
	.featured-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 26px; }
	.content-with-sidebar,
	.single-layout,
	.npo-sidebar-left .content-with-sidebar { grid-template-columns: minmax(0, 1fr) 240px; gap: 38px; }
	.post-grid--three { grid-template-columns: repeat(2, 1fr); }
	.npo-layout-magazine .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-header__right { gap: 8px; }
}

@media (max-width: 760px) {
	:root { --npo-radius: 14px; }
	.admin-bar .site-header { top: 46px; }
	.npo-container,
	.npo-container--reading { width: min(100% - 30px, 1180px); }
	.site-header__inner { min-height: 66px; }
	.category-navigation__inner { width: 100%; padding-left: 15px; }
	.category-menu { gap: 22px; padding-right: 18px; }
	.all-categories-toggle { padding: 0 15px; }
	.all-categories-toggle__icon { display: none; }
	.all-categories {
		max-height: 65vh;
		padding: 22px 15px;
		border-right: 0;
		border-left: 0;
		border-radius: 0;
	}
	.all-categories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 10px; }
	.home-hero { padding: 72px 0 68px; }
	.home-hero__grid { grid-template-columns: 1fr; }
	.home-hero h1 { font-size: clamp(40px, 12vw, 58px); }
	.home-hero__visual { display: none; }
	.quick-links { grid-template-columns: 1fr; }
	.quick-links a,
	.quick-links a:nth-child(3),
	.quick-links a:nth-child(4) { min-height: 70px; border: solid var(--npo-line); border-width: 1px 0 0; }
	.quick-links a:first-child { border-top: 0; }
	.section-heading--split { align-items: flex-start; flex-direction: column; }
	.featured-list { display: block; }
	.featured-story h3 { font-size: 30px; }
	.category-grid,
	.post-grid,
	.post-grid--three,
	.npo-layout-magazine .post-grid { grid-template-columns: 1fr; }
	.npo-archive-list .archive-shell .post-card { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; }
	.npo-archive-list .archive-shell .post-card__content > p { display: none; }
	.npo-layout-magazine .post-card:first-child { grid-column: auto; }
	.home-cta { align-items: flex-start; flex-direction: column; border-radius: 17px; }
	.content-with-sidebar,
	.single-layout,
	.npo-sidebar-left .content-with-sidebar { display: block; }
	.widget-area { position: static; margin-top: 70px; }
	.single-header { padding-bottom: 30px; }
	.single-header h1 { font-size: clamp(36px, 10vw, 50px); }
	.single-hero { width: 100%; margin-bottom: 48px; border-radius: 0; }
	.single-hero--crop { aspect-ratio: 16 / 10; }
	.single-hero--natural { max-width: 100%; aspect-ratio: auto; }
	.entry-content { font-size: max(16px, var(--npo-body-size)); line-height: 1.82; }
	.entry-content table { display: block; overflow-x: auto; white-space: nowrap; }
	.related-posts .post-grid--three { gap: 34px; }
	.post-navigation { grid-template-columns: 1fr; }
	.post-navigation > div:last-child { text-align: left; }
	.site-footer__main,
	.npo-footer-layout-two .site-footer__main { grid-template-columns: 1fr; gap: 22px; }
	.npo-footer-layout-two .site-footer__brand,
	.npo-footer-layout-two .site-footer__nav,
	.npo-footer-layout-two .site-footer__legal { grid-column: 1; grid-row: auto; }
	.site-footer__legal { justify-self: start; max-width: 720px; }
	.footer-widgets { grid-template-columns: 1fr; }
}

@media (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
}

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

@media print {
	.site-header,
	.site-footer,
	.widget-area,
	.npo-toc__toggle,
	.post-navigation,
	.related-posts,
	.comments-area { display: none !important; }
	body { color: #000; background: #fff; }
	.content-with-sidebar { display: block; }
	.single-header { padding-top: 0; }
	.single-hero--crop { max-height: 420px; }
	a { text-decoration: none !important; }
}

/* v0.7 — genuinely distinct homepage presets */
.npo-homepage-preset .home-hero { padding-top: 104px; padding-bottom: 96px; }
.npo-homepage-preset .quick-links { margin-top: -1px; }

/* Expert preset intentionally preserves the v0.6 professional composition. */
.npo-expert-preset .home-hero { padding-top: 112px; padding-bottom: 104px; }
.npo-expert-preset .home-section { scroll-margin-top: 110px; }

/* News / magazine */
.npo-magazine-home { padding-bottom: 90px; }
.magazine-lead { padding-top: 58px; }
.magazine-kicker { display:flex; align-items:center; gap:12px; margin-bottom:18px; padding-bottom:14px; border-bottom:2px solid var(--npo-text); color:var(--npo-muted); font-size:12px; letter-spacing:.02em; }
.magazine-kicker span { padding:5px 8px; color:#fff; background:var(--npo-accent); font-weight:800; letter-spacing:.08em; }
.magazine-kicker strong { color:var(--npo-text); font-size:14px; }
.magazine-kicker time { margin-left:auto; }
.magazine-lead-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr); gap:28px; align-items:stretch; }
.magazine-main-story { position:relative; min-height:520px; overflow:hidden; background:#111; }
.magazine-main-story__media, .magazine-main-story__media img, .magazine-main-story__media .image-placeholder { position:absolute; inset:0; width:100%; height:100%; }
.magazine-main-story__media img { object-fit:cover; }
.magazine-main-story__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05) 24%,rgba(0,0,0,.78) 100%); }
.magazine-main-story__body { position:absolute; z-index:2; left:34px; right:34px; bottom:32px; color:#fff; }
.magazine-main-story__body .eyebrow { color:#fff; opacity:.82; }
.magazine-main-story__body h1 { max-width:820px; margin:10px 0 13px; color:#fff; font-size:clamp(34px,4.2vw,62px); line-height:1.04; letter-spacing:-.05em; }
.magazine-main-story__body h1 a { color:inherit; }
.magazine-main-story__body p { max-width:720px; margin:0; color:rgba(255,255,255,.82); font-size:15px; line-height:1.75; }
.magazine-side-stories { display:flex; flex-direction:column; border-top:2px solid var(--npo-text); border-bottom:1px solid var(--npo-line); }
.magazine-side-heading { display:flex; justify-content:space-between; align-items:center; padding:15px 0 13px; border-bottom:1px solid var(--npo-line); }
.magazine-side-heading strong { font-size:17px; }
.magazine-side-heading a { color:var(--npo-muted); font-size:12px; }
.magazine-side-story { display:grid; grid-template-columns:34px 1fr; gap:12px; padding:18px 0; border-bottom:1px solid var(--npo-line); }
.magazine-side-story:last-child { border-bottom:0; }
.magazine-side-story > span { color:var(--npo-accent); font-size:11px; font-weight:900; }
.magazine-side-story h2 { margin:0 0 8px; font-size:17px; line-height:1.42; letter-spacing:-.025em; }
.magazine-side-story time { color:var(--npo-muted); font-size:11px; }
.magazine-sections { padding-top:66px; }
.magazine-topic { margin-top:56px; }
.magazine-topic:first-child { margin-top:0; }
.magazine-topic__header { display:flex; align-items:end; justify-content:space-between; margin-bottom:18px; padding-bottom:12px; border-bottom:2px solid var(--npo-text); }
.magazine-topic__header h2 { margin:4px 0 0; font-size:28px; }
.magazine-topic__header > a { color:var(--npo-muted); font-size:12px; }
.magazine-topic__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.magazine-card__image { display:block; aspect-ratio:16/10; overflow:hidden; background:var(--npo-bg-soft); }
.magazine-card__image img, .magazine-card__image .image-placeholder { width:100%; height:100%; object-fit:cover; }
.magazine-card h3 { margin:12px 0 8px; font-size:18px; line-height:1.4; letter-spacing:-.025em; }
.magazine-card p { margin:0; color:var(--npo-muted); font-size:13px; line-height:1.65; }

/* Editorial / emotional minimal */
.npo-minimal-home { padding-bottom:110px; }
.minimal-intro { max-width:860px; padding-top:118px; padding-bottom:88px; text-align:center; }
.minimal-intro .eyebrow { margin-bottom:18px; color:var(--npo-accent); }
.minimal-intro h1 { margin:0; font-family:var(--npo-serif); font-size:clamp(48px,6.4vw,82px); font-weight:560; line-height:1.08; letter-spacing:-.055em; }
.minimal-intro > p:last-child { max-width:650px; margin:26px auto 0; color:var(--npo-muted); font-size:17px; line-height:1.9; }
.minimal-picks { max-width:940px; padding:34px 0 44px; border-top:1px solid var(--npo-line); border-bottom:1px solid var(--npo-line); }
.minimal-picks header, .minimal-section-title { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.minimal-picks h2 { margin:0; font-family:var(--npo-serif); font-size:20px; font-weight:600; }
.minimal-dot { width:7px; height:7px; background:var(--npo-accent); border-radius:50%; }
.minimal-picks ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 58px; margin:0; padding:0; list-style:none; }
.minimal-picks li { display:grid; grid-template-columns:26px 1fr; gap:10px; padding:13px 0; border-top:1px solid color-mix(in srgb,var(--npo-line) 70%,transparent); }
.minimal-picks li:nth-child(-n+2) { border-top:0; }
.minimal-picks li span { color:var(--npo-accent); font-size:11px; font-weight:900; }
.minimal-picks li a { font-family:var(--npo-serif); font-size:16px; line-height:1.5; }
.minimal-latest { max-width:940px; padding-top:72px; }
.minimal-section-title { align-items:flex-start; }
.minimal-section-title .eyebrow { margin:0 0 3px; }
.minimal-section-title h2 { margin:0; font-family:var(--npo-serif); font-size:28px; font-weight:600; }
.minimal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:54px 34px; }
.minimal-card__image { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--npo-bg-soft); }
.minimal-card__image img, .minimal-card__image .image-placeholder { width:100%; height:100%; object-fit:cover; }
.minimal-card__body { padding-top:15px; }
.minimal-card__body > span { color:var(--npo-accent); font-size:11px; font-weight:800; }
.minimal-card h3 { margin:8px 0 10px; font-family:var(--npo-serif); font-size:25px; font-weight:600; line-height:1.34; letter-spacing:-.035em; }
.minimal-card p { margin:0 0 12px; color:var(--npo-muted); font-size:14px; line-height:1.75; }
.minimal-card time { color:var(--npo-muted); font-size:11px; }

@media (max-width: 980px) {
	.magazine-lead-grid { grid-template-columns:1fr; }
	.magazine-main-story { min-height:470px; }
	.magazine-topic__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
	.magazine-lead { padding-top:28px; }
	.magazine-main-story { min-height:390px; }
	.magazine-main-story__body { left:20px; right:20px; bottom:20px; }
	.magazine-main-story__body p { display:none; }
	.magazine-topic__grid, .minimal-grid, .minimal-picks ol { grid-template-columns:1fr; }
	.minimal-picks li:nth-child(2) { border-top:1px solid color-mix(in srgb,var(--npo-line) 70%,transparent); }
	.minimal-intro { padding-top:78px; padding-bottom:58px; }
	.minimal-intro h1 { font-size:clamp(40px,12vw,58px); }
}


/* v0.7.2 — clearer Korean hero eyebrow */
@media (max-width: 640px) {
	.home-hero .eyebrow { font-size: 13px; letter-spacing: .06em; }
}


/* v0.7.3 — thumbnail fit mode for text-heavy featured images */
.npo-thumb-fit-contain .featured-story__image img,
.npo-thumb-fit-contain .post-card__image img,
.npo-thumb-fit-contain .compact-story__image img,
.npo-thumb-fit-contain .magazine-card__image img,
.npo-thumb-fit-contain .minimal-card__image img {
	object-fit: contain;
	background: var(--npo-card);
}
.npo-thumb-fit-contain .featured-story:hover .featured-story__image img,
.npo-thumb-fit-contain .post-card:hover .post-card__image img,
.npo-thumb-fit-contain .compact-story:hover .compact-story__image img,
.npo-thumb-fit-contain .magazine-card:hover .magazine-card__image img,
.npo-thumb-fit-contain .minimal-card:hover .minimal-card__image img {
	transform: none;
}

/* v0.7.4 — keep sidebar search submit label horizontal */
.widget .search-form input[type="submit"],
.search-form input[type="submit"] {
	width: auto;
	min-width: 72px;
	flex: 0 0 auto;
	white-space: nowrap;
	word-break: keep-all;
	writing-mode: horizontal-tb;
}


/* v0.7.6 — homepage practical calculator section */
.home-calculators { background: var(--npo-card); }
.home-calculators .section-heading--calculator { margin-bottom: 30px; }
.home-calculators .npo-calculator-intro { max-width: 680px; margin: 12px 0 0; color: var(--npo-muted); font-size: 15px; }
.home-calculators .npo-home-calculator-links > .npc-calc-links { padding: 0; border: 0; background: transparent; }
.home-calculators .npo-home-calculator-links > .npc-calc-links > h3,
.home-calculators .npo-home-calculator-links > .npc-calc-links > p { display: none; }
.home-calculators .npc-calc-links__items { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.home-calculators .npc-calc-links__items a {
	min-height: 136px;
	grid-template-columns: 42px minmax(0,1fr);
	align-content: center;
	column-gap: 12px;
	padding: 22px 18px;
	background: var(--npo-bg-soft);
	border: 1px solid var(--npo-line) !important;
	border-radius: var(--npo-radius);
}
.home-calculators .npc-calc-links__items a:hover { background: var(--npo-card); border-color: var(--npo-accent) !important; box-shadow: var(--npo-shadow); transform: translateY(-3px); }
.home-calculators .npc-calc-links__items span { font-size: 32px; }
.home-calculators .npc-calc-links__items strong { align-self: end; font-size: 18px; line-height: 1.35; font-weight: 800; letter-spacing: -0.02em; }
.home-calculators .npc-calc-links__items em { align-self: start; margin-top: 5px; color: var(--npo-muted); font-size: 14px; line-height: 1.5; }
@media (min-width: 761px) { .home-calculators.npo-calculators-hide-desktop { display: none !important; } }
@media (max-width: 760px) {
	.home-calculators.npo-calculators-hide-mobile { display: none !important; }
	.home-calculators { padding-top: 54px; padding-bottom: 58px; }
	.home-calculators .section-heading--calculator { margin-bottom: 22px; }
	.home-calculators .section-heading h2 { font-size: 30px; }
	.home-calculators .npo-calculator-intro { font-size: 14px; line-height: 1.65; }
	.home-calculators .npc-calc-links__items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.home-calculators .npc-calc-links__items a { min-height: 132px; grid-template-columns: 1fr; grid-template-areas: 'icon' 'title' 'desc'; gap: 5px; padding: 17px 14px; }
	.home-calculators .npc-calc-links__items span { font-size: 28px; }
	.home-calculators .npc-calc-links__items strong { font-size: 16px; line-height: 1.35; }
	.home-calculators .npc-calc-links__items em { font-size: 12.5px; line-height: 1.5; }
}


/* v0.8.0 — natural single-post featured images and explicit home shortcuts */
.single-hero--natural img { max-width: 100%; }


/* v0.9.0 — mobile-first header, refined hero/search dock, Legal Archive home integration */
.search-toggle svg,
.header-search-form svg,
.home-hero-search svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.search-toggle[aria-expanded="true"] { color: #fff; background: var(--npo-accent); border-color: var(--npo-accent); }
.mobile-navigation__top,
.mobile-navigation__categories { display: none; }
.header-search-panel { position: absolute; z-index: 105; top: 100%; right: 0; left: 0; padding: 16px 0 18px; background: color-mix(in srgb,var(--npo-card) 97%,transparent); border-top: 1px solid var(--npo-line); border-bottom: 1px solid var(--npo-line); box-shadow: 0 18px 45px rgb(25 35 27 / 10%); backdrop-filter: blur(18px); }
.header-search-panel[hidden] { display: none; }
.header-search-panel__inner { display: flex; justify-content: flex-end; }
.header-search-form { display: grid; grid-template-columns: minmax(0,1fr) 58px; width: min(720px,100%); background: var(--npo-card); border: 1px solid var(--npo-line); }
.header-search-form label { min-width: 0; }
.header-search-form input { width: 100%; height: 58px; padding: 0 19px; color: var(--npo-text); background: transparent; border: 0; outline: 0; }
.header-search-form input::placeholder { color: var(--npo-muted); }
.header-search-form button { display: grid; place-items: center; border: 0; color: #fff; background: var(--npo-accent); }
.mobile-navigation-backdrop { display: none; }

.home-hero { overflow: visible; padding-top: clamp(92px,10vw,136px); padding-bottom: clamp(102px,10vw,132px); background: linear-gradient(135deg,color-mix(in srgb,var(--npo-accent) 13%,var(--npo-bg)) 0%,var(--npo-bg-soft) 48%,color-mix(in srgb,var(--npo-accent) 8%,var(--npo-card)) 100%); }
.home-hero::before { inset: 0; opacity: .22; mask-image: linear-gradient(90deg,#000 0 45%,transparent 80%); }
.home-hero::after { content:""; position:absolute; z-index:0; top:10%; right:4%; width:min(38vw,520px); aspect-ratio:1; border-radius:42% 58% 64% 36% / 42% 44% 56% 58%; background:color-mix(in srgb,var(--npo-accent) 12%,transparent); filter:blur(.2px); transform:rotate(-10deg); }
.home-hero__grid { z-index: 2; }
.home-hero__copy { position: relative; z-index: 2; }
.home-hero .eyebrow { display:inline-flex; align-items:center; min-height:30px; padding:0 11px; margin-bottom:20px; border:1px solid color-mix(in srgb,var(--npo-accent) 28%,transparent); border-radius:999px; background:color-mix(in srgb,var(--npo-card) 62%,transparent); backdrop-filter:blur(8px); }
.home-hero h1 { max-width: 760px; font-size: clamp(48px,6vw,78px); line-height:1.08; letter-spacing:-.07em; }
.home-hero__lead { max-width:620px; }
.hero-card { box-shadow:0 28px 70px color-mix(in srgb,var(--npo-accent) 15%,transparent); }
.hero-card--back { inset:22px 78px 30px 8px; background:linear-gradient(145deg,var(--npo-accent),var(--npo-accent-dark)); border-radius:32px; }
.hero-card--front { inset:45px 12px 0 68px; padding:48px; border-radius:32px; background:color-mix(in srgb,var(--npo-card) 93%,transparent); backdrop-filter:blur(10px); }
.home-hero-search-dock { position:absolute; z-index:6; right:0; bottom:0; left:0; transform:translateY(50%); }
.home-hero-search { display:grid; grid-template-columns:minmax(0,1fr) 148px; width:min(900px,100%); margin:0 auto; min-height:72px; color:#fff; background:var(--npo-accent); box-shadow:0 24px 55px color-mix(in srgb,var(--npo-accent) 24%,transparent); }
.home-hero-search label { min-width:0; }
.home-hero-search input { width:100%; height:72px; padding:0 28px; color:#fff; background:transparent; border:0; outline:0; font-size:18px; }
.home-hero-search input::placeholder { color:rgb(255 255 255 / 78%); }
.home-hero-search button { display:flex; align-items:center; justify-content:center; gap:12px; color:#fff; background:color-mix(in srgb,var(--npo-accent-dark) 84%,#000); border:0; font-weight:800; }
.home-hero + .quick-links { margin-top:56px; border-top:1px solid var(--npo-line); }

.home-legal-archive { background: color-mix(in srgb,var(--npo-accent) 5%,var(--npo-bg)); border-top:1px solid color-mix(in srgb,var(--npo-accent) 10%,var(--npo-line)); border-bottom:1px solid color-mix(in srgb,var(--npo-accent) 10%,var(--npo-line)); }
.home-legal-archive > .npo-container > .nla-latest-widget { max-width:none; margin:0; padding:0; }
.home-legal-archive .nla-widget-head { align-items:flex-end; margin-bottom:26px; }
.home-legal-archive .nla-widget-head span { color:var(--npo-accent); font-size:12px; letter-spacing:.11em; }
.home-legal-archive .nla-widget-head h2 { margin-top:6px; font-size:clamp(30px,4vw,44px); letter-spacing:-.045em; }
.home-legal-archive .nla-widget-head>a { display:inline-flex; align-items:center; min-height:42px; padding:0 14px; border:1px solid var(--npo-line); background:var(--npo-card); font-weight:700; }
.home-legal-archive .nla-widget-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:0; }
.home-legal-archive .nla-widget-grid>a { min-height:132px; padding:20px 18px; border:1px solid var(--npo-line); background:var(--npo-card); transition:.18s ease; }
.home-legal-archive .nla-widget-grid>a:hover { border-color:var(--npo-accent); transform:translateY(-3px); box-shadow:var(--npo-shadow); }
.home-legal-archive .nla-widget-grid>a span { color:var(--npo-muted); font-size:12px; }
.home-legal-archive .nla-widget-grid>a strong { font-size:15px; line-height:1.6; }

@media (max-width:1024px) {
	.site-header__right { position:static; }
	.header-actions { position:static; }
	.site-navigation { z-index:120; }
	.home-hero__grid { grid-template-columns:1fr minmax(280px,.72fr); gap:38px; }
	.home-hero h1 { font-size:clamp(44px,7vw,64px); }
}

@media (max-width:760px) {
	body.npo-menu-open,
	body.npo-search-open { overflow:hidden; }
	.site-header { background:var(--npo-card); backdrop-filter:none; border-bottom:1px solid var(--npo-line); }
	.site-header__inner,
	.npo-brand-center .site-header__inner { display:grid; grid-template-columns:1fr; justify-items:center; min-height:64px; padding-right:64px; padding-left:64px; gap:0; }
	.site-branding,
	.npo-brand-center .site-branding { grid-column:1; justify-self:center; min-width:0; }
	.site-brand { gap:8px; justify-content:center; }
	.custom-logo { max-width:36px; max-height:36px; }
	.site-title-text,
	.npo-header-compact .site-title-text { max-width:170px; font-size:20px; font-weight:850; letter-spacing:-.04em; }
	.site-header__right,
	.npo-brand-center .site-header__right { position:static; grid-column:1; justify-self:auto; }
	.header-actions { position:static; }
	.dark-mode-toggle { display:none !important; }
	.menu-toggle,
	.search-toggle { position:absolute; top:0; display:grid; width:64px; height:64px; border:0; border-radius:0; color:#fff; }
	.menu-toggle { left:0; background:var(--npo-accent); }
	.search-toggle { right:0; background:var(--npo-accent-dark); }
	.menu-toggle:hover,
	.search-toggle:hover { color:#fff; background:var(--npo-accent-dark); border-color:transparent; }
	.menu-toggle__lines,
	.menu-toggle__lines::before,
	.menu-toggle__lines::after { width:24px; height:2px; background:currentColor; }
	.menu-toggle__lines::before { top:-7px; }
	.menu-toggle__lines::after { top:7px; }
	.search-toggle svg { width:27px; height:27px; stroke-width:1.55; }
	.site-navigation { position:fixed; z-index:132; top:64px; bottom:0; left:0; right:auto; display:block; width:min(86vw,370px); max-height:none; padding:0 22px 30px; overflow-y:auto; background:var(--npo-card); border:0; box-shadow:20px 0 50px rgb(0 0 0 / 16%); transform:translateX(-105%); transition:transform .24s ease; }
	.admin-bar .site-navigation { top:110px; }
	.site-navigation.is-open { display:block; transform:translateX(0); }
	.mobile-navigation__top { display:flex; align-items:center; justify-content:space-between; min-height:72px; border-bottom:1px solid var(--npo-line); }
	.mobile-navigation__top strong { font-size:18px; }
	.mobile-navigation__top span { color:var(--npo-muted); font-size:12px; }
	.primary-menu { padding:12px 0 18px; }
	.primary-menu > li { border-bottom:1px solid var(--npo-line); }
	.primary-menu > li > a { padding:15px 2px; font-size:15px; font-weight:760; }
	.primary-menu > .current-menu-item > a::after,
	.primary-menu > .current-menu-ancestor > a::after { right:2px; }
	.mobile-navigation__categories { display:block; padding:20px 0 8px; border-top:1px solid var(--npo-line); }
	.mobile-navigation__categories>strong { display:block; margin-bottom:12px; font-size:13px; color:var(--npo-muted); }
	.mobile-navigation__categories ul { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:0; margin:0; list-style:none; }
	.mobile-navigation__categories a { display:block; padding:9px 8px; border-radius:8px; background:var(--npo-bg-soft); font-size:13px; }
	.mobile-navigation-backdrop { position:fixed; z-index:125; inset:64px 0 0; display:block; width:100%; height:auto; padding:0; border:0; background:rgb(12 18 13 / 44%); }
	.admin-bar .mobile-navigation-backdrop { inset:110px 0 0; }
	.mobile-navigation-backdrop[hidden] { display:none; }
	.category-navigation { display:none; }
	.header-search-panel { position:fixed; z-index:130; top:64px; padding:14px 15px; border-top:0; }
	.admin-bar .header-search-panel { top:110px; }
	.header-search-panel__inner { width:100%; padding:0; }
	.header-search-form { grid-template-columns:minmax(0,1fr) 56px; width:100%; border-radius:0; box-shadow:0 18px 40px rgb(0 0 0 / 12%); }
	.header-search-form input { height:56px; padding:0 15px; font-size:15px; }
	.header-search-form button { height:56px; }

	.home-hero { overflow:visible; padding:66px 0 92px; background:linear-gradient(145deg,color-mix(in srgb,var(--npo-accent) 18%,var(--npo-bg)) 0%,color-mix(in srgb,var(--npo-accent) 8%,var(--npo-card)) 62%,var(--npo-bg) 100%); }
	.home-hero::before { opacity:.18; mask-image:linear-gradient(180deg,#000,transparent 72%); }
	.home-hero::after { top:8%; right:-28%; width:84vw; opacity:.8; }
	.home-hero__grid { display:block; }
	.home-hero__copy { max-width:620px; }
	.home-hero .eyebrow { min-height:27px; margin-bottom:16px; padding:0 9px; font-size:11px; }
	.home-hero h1 { max-width:100%; margin-bottom:20px; font-size:clamp(38px,11vw,52px); line-height:1.08; letter-spacing:-.06em; }
	.home-hero__lead { margin-bottom:27px; font-size:16px; line-height:1.72; }
	.home-hero__copy .button { min-height:48px; padding:0 18px; font-size:14px; }
	.home-hero__visual { display:none; }
	.home-hero-search-dock { width:100%; padding:0 15px; transform:translateY(50%); }
	.home-hero-search { grid-template-columns:minmax(0,1fr) 62px; min-height:64px; width:100%; box-shadow:0 18px 38px color-mix(in srgb,var(--npo-accent) 24%,transparent); }
	.home-hero-search input { height:64px; padding:0 18px; font-size:16px; }
	.home-hero-search button { height:64px; }
	.home-hero-search button span { display:none; }
	.home-hero-search button svg { width:27px; height:27px; }
	.home-hero + .quick-links { margin-top:48px; }
	.quick-links { width:calc(100% - 30px); }

	.home-legal-archive { padding-top:64px; padding-bottom:68px; }
	.home-legal-archive .nla-widget-head { align-items:flex-start; gap:12px; }
	.home-legal-archive .nla-widget-head h2 { font-size:29px; line-height:1.25; }
	.home-legal-archive .nla-widget-head>a { min-height:auto; padding:0; border:0; background:transparent; font-size:12px; white-space:nowrap; }
	.home-legal-archive .nla-widget-grid { grid-template-columns:1fr !important; gap:9px; }
	.home-legal-archive .nla-widget-grid>a { min-height:auto; padding:17px 15px; border-radius:12px; }
}

/* v0.9.1 — mobile full-bleed header, horizontal overflow guard, clearer hero/search overlap */
@media (max-width: 760px) {
	/* The mobile header must span the physical viewport, not the padded content container. */
	.site-header__inner,
	.npo-brand-center .site-header__inner {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-right: 72px;
		padding-left: 72px;
	}
	.menu-toggle,
	.search-toggle {
		width: 72px;
		height: 64px;
	}
	.menu-toggle { left: 0; }
	.search-toggle { right: 0; }

	/* Keep decorative hero graphics inside the viewport so horizontal swiping never exposes a blank gutter. */
	html,
	body {
		max-width: 100%;
		overflow-x: clip;
	}
	.home-hero {
		max-width: 100%;
		margin-bottom: 34px;
		background: linear-gradient(
			145deg,
			color-mix(in srgb,var(--npo-accent) 18%,var(--npo-bg)) 0%,
			color-mix(in srgb,var(--npo-accent) 10%,var(--npo-card)) 62%,
			color-mix(in srgb,var(--npo-accent) 7%,var(--npo-bg)) 100%
		);
		border-bottom: 1px solid color-mix(in srgb,var(--npo-accent) 14%,var(--npo-line));
	}
	.home-hero::after {
		top: 8%;
		right: 0;
		width: min(76vw, 480px);
		max-width: 100%;
		transform: rotate(-10deg) translateX(18%);
		transform-origin: center;
	}

	/* Make the Sejong-style dock visually cross a clearly visible hero/content boundary. */
	.home-hero-search-dock {
		bottom: -34px;
		transform: none;
		padding: 0 15px;
	}
	.home-hero-search {
		border: 1px solid color-mix(in srgb,#fff 20%,transparent);
		box-shadow: 0 22px 44px color-mix(in srgb,var(--npo-accent-dark) 30%,transparent);
	}
	.home-hero + .quick-links {
		margin-top: 82px;
	}
}

@supports not (overflow: clip) {
	@media (max-width: 760px) {
		html,
		body { overflow-x: hidden; }
	}
}


/* v0.9.2 — Legal Archive builder/live diagnostics and authoritative home order */
.home-legal-archive--diagnostic { padding: 56px 0; }
.npo-legal-diagnostic { border: 1px dashed color-mix(in srgb,var(--npo-accent) 42%,var(--npo-line)); background: color-mix(in srgb,var(--npo-accent) 4%,var(--npo-card)); padding: 28px; border-radius: 18px; }
.npo-legal-diagnostic__eyebrow { display:block; margin-bottom:8px; color:var(--npo-accent); font-size:11px; font-weight:800; letter-spacing:.12em; }
.npo-legal-diagnostic h2 { margin:0; font-size:24px; letter-spacing:-.035em; }
.npo-legal-diagnostic p { margin:10px 0 0; color:var(--npo-muted); line-height:1.75; }
.npo-legal-diagnostic__counts { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.npo-legal-diagnostic__counts span { display:inline-flex; gap:7px; align-items:center; min-height:34px; padding:0 11px; border:1px solid var(--npo-line); background:var(--npo-card); border-radius:999px; font-size:12px; }
.npo-legal-diagnostic__button { display:inline-flex; margin-top:18px; color:var(--npo-accent); font-weight:800; text-decoration:none; }
@media (max-width: 767px) {
  .home-legal-archive--diagnostic { padding: 42px 0; }
  .npo-legal-diagnostic { padding: 20px 17px; border-radius:14px; }
  .npo-legal-diagnostic h2 { font-size:20px; }
}

/* v0.9.3 — clean editorial search results: posts + Legal Archive only */
.npo-search-shell { max-width: 1040px; }
.npo-search-header { margin-bottom: 46px; }
.npo-search-header > p:last-child { margin-top: 14px; }
.npo-search-box { max-width: 760px; margin-top: -16px; margin-bottom: 58px; }
.npo-search-results {
	border-top: 1px solid var(--npo-line);
}
.npo-search-result {
	margin: 0;
	border-bottom: 1px solid var(--npo-line);
}
.npo-search-result__link {
	position: relative;
	display: block;
	padding: 27px 54px 27px 0;
	color: var(--npo-text);
	transition: background-color .2s ease, padding-left .2s ease;
}
.npo-search-result__link:hover {
	color: var(--npo-text);
	padding-left: 10px;
	background: color-mix(in srgb, var(--npo-bg-soft) 68%, transparent);
}
.npo-search-result__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	margin-bottom: 9px;
	color: var(--npo-accent);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .01em;
}
.npo-search-result__dot { color: var(--npo-muted); font-weight: 500; }
.npo-search-result h2 {
	margin: 0;
	font-size: clamp(18px, 2.2vw, 23px);
	line-height: 1.43;
	letter-spacing: -.035em;
	word-break: keep-all;
}
.npo-search-result p {
	display: -webkit-box;
	overflow: hidden;
	margin: 8px 0 0;
	max-width: 840px;
	color: var(--npo-muted);
	font-size: 13px;
	line-height: 1.65;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}
.npo-search-result__arrow {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--npo-muted);
	font-size: 21px;
	transition: transform .2s ease, color .2s ease;
}
.npo-search-result__link:hover .npo-search-result__arrow {
	color: var(--npo-accent);
	transform: translate(4px, -50%);
}
.npo-search-shell .navigation.pagination { margin-top: 42px; }

@media (max-width: 700px) {
	.npo-search-shell { padding-top: 42px; padding-bottom: 84px; }
	.npo-search-header { margin: 18px 0 36px; }
	.npo-search-header h1 { font-size: clamp(32px, 10vw, 44px); }
	.npo-search-box { margin: -8px 0 38px; }
	.npo-search-result__link { padding: 22px 38px 22px 0; }
	.npo-search-result__link:hover { padding-left: 0; background: transparent; }
	.npo-search-result__meta { margin-bottom: 7px; font-size: 10px; gap: 4px; }
	.npo-search-result h2 { font-size: 17px; line-height: 1.48; }
	.npo-search-result p { margin-top: 6px; font-size: 12px; -webkit-line-clamp: 1; }
	.npo-search-result__arrow { right: 2px; font-size: 18px; }
}


/* v0.9.4 — stable Legal Archive home feed + simplified mobile nav/header polish */
.mobile-navigation-menu { display: none; }
.npo-legal-page-shell { padding-top: 28px; }
.npo-legal-page-shell .entry-content { margin-top: 18px; }
.npo-legal-page-shell .entry-content > .nla-archive,
.npo-legal-page-shell .entry-content > .nla-home { padding-top: 18px; }
.npo-legal-page-shell .entry-content > .nla-archive,
.npo-legal-page-shell .entry-content > .nla-archive-home { margin-top: 0; }

@media (max-width: 760px) {
    /* Keep only Home + Legal Archive in the drawer; categories remain below. */
    .desktop-navigation-menu { display: none; }
    .mobile-navigation-menu { display: block; }
    .primary-menu--mobile { display: block; padding: 12px 0 18px; }
    .primary-menu--mobile > li { border-bottom: 1px solid var(--npo-line); }
    .primary-menu--mobile > li > a { display:block; padding:15px 2px; font-size:15px; font-weight:760; }

    /* Narrower edge controls leave more breathing room for the brand. */
    .site-header__inner,
    .npo-brand-center .site-header__inner {
        min-height: 64px;
        padding-left: 58px;
        padding-right: 58px;
        align-items: center;
    }
    .menu-toggle,
    .search-toggle { width: 58px; height: 64px; }
    .menu-toggle__lines,
    .menu-toggle__lines::before,
    .menu-toggle__lines::after { width: 22px; }
    .search-toggle svg { width: 25px; height: 25px; }

    /* Respect the builder's logo alignment on mobile as well. */
    .site-branding,
    .npo-brand-center .site-branding,
    .npo-brand-left .site-branding {
        display:flex;
        align-items:center;
        align-self:center;
        min-height:64px;
        margin:0;
    }
    .npo-brand-left .site-header__inner { justify-items: stretch; }
    .npo-brand-left .site-branding { justify-self:start; }
    .npo-brand-left .site-brand { justify-content:flex-start; }
    .npo-brand-center .site-header__inner { justify-items:center; }
    .npo-brand-center .site-branding { justify-self:center; }
    .npo-brand-center .site-brand { justify-content:center; }
    .site-brand { height:64px; line-height:1; }
    .custom-logo { display:block; margin:0; }
    .site-title-text { line-height:1.1; }
    .site-branding { transform:translateY(1px); }

    .site-navigation { top:64px; }
    .mobile-navigation-backdrop { inset:64px 0 0; }
    .header-search-panel { top:64px; }

    .npo-legal-page-shell { padding-top: 12px; }
    .npo-legal-page-shell .entry-content { margin-top: 8px; }
    .npo-legal-page-shell .entry-content > .nla-archive,
    .npo-legal-page-shell .entry-content > .nla-home { padding-top: 10px; }
}


/* v0.9.6 — mobile brand breathing room + compact Legal Archive feed */
@media (max-width: 760px) {
    /* When the builder places the brand on the left, keep a Sejong-like air gap after the 58px menu block. */
    .npo-brand-left .site-header__inner {
        padding-left: 70px;
        padding-right: 58px;
    }

    /* Homepage Legal Archive: show one precedent + one interpretation on small screens. */
    .home-legal-archive .nla-widget-mobile-extra {
        display: none !important;
    }
}

/* v0.9.7 — practical calculator card typography refinement */


/* v0.9.9 — robust two-card mobile legal feed + translucent scrolled mobile header */
@media (max-width: 760px) {
    /* Even if a cached/older Legal Archive stylesheet misses the helper class,
       keep exactly one precedent and one interpretation on the homepage. */
    .home-legal-archive .nla-widget-item--precedent ~ .nla-widget-item--precedent,
    .home-legal-archive .nla-widget-item--interpretation ~ .nla-widget-item--interpretation {
        display: none !important;
    }

    /* At the top the header remains clean/solid. Once the page moves, let the
       content breathe through a light frosted layer instead of a white slab. */
    body.npo-header-scrolled .site-header {
        background: color-mix(in srgb, var(--npo-card) 68%, transparent) !important;
        -webkit-backdrop-filter: blur(18px) saturate(135%);
        backdrop-filter: blur(18px) saturate(135%);
        border-bottom-color: color-mix(in srgb, var(--npo-line) 55%, transparent);
        box-shadow: 0 6px 24px rgb(15 24 20 / 5%);
    }
}


/* v0.10.0 — configurable, cleaner mobile drawer */
@media (max-width:760px){
  /* No redundant “일터백과 / 메뉴” title strip: start directly with chosen links. */
  .mobile-navigation__top{display:none!important}
  .primary-menu--mobile{padding:22px 0 16px}
  .primary-menu--mobile > li > a{padding:16px 3px;font-size:16px;font-weight:800}
  .mobile-navigation__categories{padding-top:22px}
}


/* v0.10.1 — industrial accident consultation sidebar */
.npo-workers-comp-sidebar{position:static}
.npo-workers-comp-sidebar .widget{margin:0 0 24px}
.npo-workers-comp-consult{padding:25px 23px 23px;border:1px solid color-mix(in srgb,var(--npo-accent) 22%,var(--npo-bg));background:linear-gradient(145deg,color-mix(in srgb,var(--npo-accent) 8%,var(--npo-bg)) 0%,var(--npo-card) 78%);border-radius:18px;box-shadow:0 14px 34px rgba(24,45,53,.06)}
.npo-workers-comp-consult__eyebrow{display:block;margin:0 0 13px;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.12em;color:var(--npo-accent)}
.npo-workers-comp-consult h2{margin:0 0 10px;font-size:21px;line-height:1.42;letter-spacing:-.025em}
.npo-workers-comp-consult p{margin:0;color:var(--npo-muted);font-size:14px;line-height:1.75;word-break:keep-all}
.npo-workers-comp-consult__button{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px;padding:12px 14px;border-radius:10px;background:var(--npo-accent);color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:800}
.npo-workers-comp-consult__button:hover{filter:brightness(.94);transform:translateY(-1px)}
.npo-workers-comp-consult__button.is-setup{background:color-mix(in srgb,var(--npo-accent) 75%,#777)}
.npo-workers-comp-recent{padding-top:5px;border-top:1px solid var(--npo-line)}
.npo-workers-comp-recent .widget-title{margin:0;padding:21px 0 10px;font-size:17px}
.npo-workers-comp-recent__list{list-style:none;margin:0;padding:0}
.npo-workers-comp-recent__list li{padding:14px 0;border-bottom:1px solid var(--npo-line)}
.npo-workers-comp-recent__list a{display:block;color:var(--npo-text);text-decoration:none;font-size:14px;line-height:1.55;font-weight:700;word-break:keep-all}
.npo-workers-comp-recent__list a:hover{color:var(--npo-accent)}
.npo-workers-comp-recent__list time{display:block;margin-top:5px;color:var(--npo-muted);font-size:11px}
.npo-workers-comp-ad{margin:28px 0 0;min-height:90px;text-align:center;overflow:hidden}
@media(max-width:900px){.npo-workers-comp-sidebar{margin-top:54px}.npo-workers-comp-consult{padding:22px 20px}.npo-workers-comp-consult h2{font-size:20px}}

/* v0.10.2 — Legal Archive detail pages keep the service sidebar; consultation CTA remains 산재-only. */


/* v0.11.0 — final typography rhythm, sitemap, mobile header and editorial cleanup */
:root{
  --npo-fs-xs:12px;
  --npo-fs-sm:14px;
  --npo-fs-md:16px;
  --npo-fs-lg:20px;
  --npo-fs-xl:28px;
  --npo-fs-display:44px;
  --npo-leading-body:1.75;
}
body{font-size:var(--npo-fs-md);line-height:var(--npo-leading-body)}
.entry-content,.single-deck{font-size:var(--npo-fs-md);line-height:1.82}
.entry-content h2{font-size:var(--npo-fs-xl);line-height:1.35;letter-spacing:-.035em}
.entry-content h3{font-size:var(--npo-fs-lg);line-height:1.45;letter-spacing:-.025em}
.entry-meta,.breadcrumbs,.entry-categories{font-size:var(--npo-fs-xs)}
.single-header h1{font-size:clamp(34px,4vw,var(--npo-fs-display));line-height:1.25;letter-spacing:-.045em}
.widget-title{font-size:var(--npo-fs-lg)}
.widget,.widget a,.widget p,.widget li{font-size:var(--npo-fs-sm)}
.primary-menu>li>a{font-size:var(--npo-fs-sm)}
.category-menu a{font-size:var(--npo-fs-xs)}

/* Editorial sidebar: recent posts only; no publication dates, and Legal Archive follows the reader. */
.npo-workers-comp-recent__list time{display:none!important}
.single-nla_case .npo-workers-comp-sidebar{position:sticky;top:108px;align-self:start}
.npo-workers-comp-sidebar .npo-workers-comp-recent{border-top:0;padding-top:0}
.npo-workers-comp-recent .widget-title{font-size:var(--npo-fs-lg);padding-top:8px}
.npo-workers-comp-recent__list a{font-size:var(--npo-fs-sm);line-height:1.6}

/* Human-readable sitemap */
.npo-sitemap-page{padding-bottom:110px}
.npo-sitemap-hero{padding:78px 0 48px;border-bottom:1px solid var(--npo-line)}
.npo-sitemap-hero .eyebrow{color:var(--npo-accent);font-size:var(--npo-fs-xs);font-weight:900;letter-spacing:.14em}
.npo-sitemap-hero h1{margin:12px 0 12px;font-size:var(--npo-fs-display);line-height:1.1;letter-spacing:-.055em}
.npo-sitemap-hero p{max-width:720px;margin:0;color:var(--npo-muted);font-size:var(--npo-fs-md);line-height:1.75}
.npo-sitemap-shell{max-width:1040px}
.npo-sitemap-section{padding:46px 0;border-bottom:1px solid var(--npo-line)}
.npo-sitemap-section__head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.npo-sitemap-section__head span{color:var(--npo-accent);font-size:var(--npo-fs-xs);font-weight:900;letter-spacing:.08em}
.npo-sitemap-section__head h2{margin:0;font-size:var(--npo-fs-xl);letter-spacing:-.04em}
.npo-sitemap-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.npo-sitemap-services a{position:relative;min-height:170px;padding:24px;border:1px solid var(--npo-line);border-radius:16px;background:var(--npo-card);transition:.18s ease}
.npo-sitemap-services a:hover{border-color:var(--npo-accent);transform:translateY(-2px);box-shadow:var(--npo-shadow)}
.npo-sitemap-services strong{display:block;font-size:var(--npo-fs-lg)}
.npo-sitemap-services p{margin:10px 28px 0 0;color:var(--npo-muted);font-size:var(--npo-fs-sm);line-height:1.65}
.npo-sitemap-services b{position:absolute;right:22px;bottom:20px;color:var(--npo-accent);font-size:22px}
.npo-sitemap-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.npo-sitemap-categories a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-radius:12px;background:var(--npo-bg-soft)}
.npo-sitemap-categories strong{font-size:var(--npo-fs-md)}
.npo-sitemap-categories span{color:var(--npo-muted);font-size:var(--npo-fs-xs)}
.npo-sitemap-latest{list-style:none;margin:0;padding:0;border-top:2px solid var(--npo-text)}
.npo-sitemap-latest li{margin:0;border-bottom:1px solid var(--npo-line)}
.npo-sitemap-latest a{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 4px}
.npo-sitemap-latest span{color:var(--npo-accent);font-size:var(--npo-fs-xs);font-weight:800}
.npo-sitemap-latest strong{font-size:var(--npo-fs-md);line-height:1.5}
.npo-sitemap-latest b{color:var(--npo-accent);font-size:20px}
.npo-sitemap-guide{display:flex;flex-wrap:wrap;gap:9px}
.npo-sitemap-guide a{padding:10px 14px;border:1px solid var(--npo-line);border-radius:999px;font-size:var(--npo-fs-sm)}

@media(max-width:760px){
  /* Direction-aware mobile header: solid when visible, completely hidden on downward scroll. */
  .site-header{transition:transform .24s ease,box-shadow .2s ease;background:var(--npo-card)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  body.npo-header-hidden .site-header{transform:translateY(calc(-100% - 2px))}
  body.npo-menu-open .site-header,body.npo-search-open .site-header{transform:none!important}

  /* Make the hero/search boundary obvious: white search card, accent edge, and a stronger lift. */
  .home-hero-search-dock{position:relative;z-index:4;padding-bottom:8px}
  .home-hero-search{background:var(--npo-card);border:1.5px solid color-mix(in srgb,var(--npo-accent) 38%,var(--npo-line));box-shadow:0 16px 36px color-mix(in srgb,var(--npo-accent) 20%,transparent),0 2px 0 rgba(255,255,255,.8) inset}
  .home-hero-search input{background:var(--npo-card)}
  .home-hero + .quick-links{border-top:1px solid color-mix(in srgb,var(--npo-accent) 14%,var(--npo-line));padding-top:26px}

  .single-nla_case .npo-workers-comp-sidebar,.npo-workers-comp-sidebar{position:static;top:auto}
  .npo-sitemap-page{padding-bottom:72px}
  .npo-sitemap-hero{padding:46px 0 32px}
  .npo-sitemap-hero h1{font-size:36px}
  .npo-sitemap-section{padding:34px 0}
  .npo-sitemap-section__head h2{font-size:24px}
  .npo-sitemap-services,.npo-sitemap-categories{grid-template-columns:1fr}
  .npo-sitemap-services a{min-height:132px;padding:20px}
  .npo-sitemap-latest a{grid-template-columns:78px minmax(0,1fr) auto;gap:10px;padding:15px 2px}
  .npo-sitemap-latest strong{font-size:15px}
  .single-header h1{font-size:32px}
  .entry-content h2{font-size:24px}
  .entry-content h3{font-size:20px}
}


/* v0.11.1 — cleaner sitemap categories + Sejong-style mobile search overlap */
.npo-sitemap-categories a{transition:.18s ease}
.npo-sitemap-categories a:hover{background:color-mix(in srgb,var(--npo-accent) 7%,var(--npo-bg-soft));transform:translateY(-1px)}
.npo-sitemap-categories span{color:var(--npo-accent);font-size:18px;font-weight:700;line-height:1}

@media(max-width:760px){
  /* Search bar straddles the visual end of the hero and the following content. */
  .home-hero{
    position:relative;
    overflow:visible;
    margin-bottom:44px;
  }
  .home-hero-search-dock{
    position:absolute;
    z-index:8;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    padding:0 28px;
    transform:translateY(50%);
  }
  .home-hero-search{
    width:100%;
    margin:0 auto;
    min-height:62px;
    grid-template-columns:minmax(0,1fr) 64px;
    overflow:hidden;
    background:var(--npo-card);
    border:1px solid color-mix(in srgb,var(--npo-accent) 30%,var(--npo-line));
    box-shadow:0 18px 42px rgba(26,54,64,.18);
  }
  .home-hero-search input{
    height:62px;
    padding:0 18px;
    color:var(--npo-text);
    background:var(--npo-card);
    font-size:16px;
  }
  .home-hero-search input::placeholder{color:color-mix(in srgb,var(--npo-muted) 88%,transparent)}
  .home-hero-search button{
    min-width:64px;
    height:62px;
    background:var(--npo-accent-dark);
  }
  /* v0.11.0 made the dock relative; force the overlap even when quick links follow. */
  .home-hero + .quick-links{
    margin-top:0;
    padding-top:34px;
    border-top:0;
  }
}

/* v0.11.2 — colored Sejong-style mobile search bridge + white Legal Archive section */
@media(max-width:760px){
  /* The search bar remains half on the hero and half on the next white section. */
  .home-hero{
    margin-bottom:0;
  }
  .home-hero-search-dock{
    padding:0 30px;
  }
  .home-hero-search{
    min-height:64px;
    grid-template-columns:minmax(0,1fr) 66px;
    background:var(--npo-accent);
    border:0;
    box-shadow:0 16px 34px rgba(24,66,79,.22);
  }
  .home-hero-search input{
    height:64px;
    padding:0 20px;
    color:#fff;
    background:transparent;
  }
  .home-hero-search input::placeholder{
    color:rgba(255,255,255,.78);
  }
  .home-hero-search button{
    min-width:66px;
    height:64px;
    color:#fff;
    background:var(--npo-accent-dark);
    border-left:1px solid rgba(255,255,255,.14);
  }

  /* Let the colored search bar visually bridge the pale hero and a clean white archive section. */
  .home-legal-archive{
    margin-top:0;
    padding-top:82px;
    background:#fff;
    border-top:0;
    border-bottom:1px solid var(--npo-line);
  }
  .home-legal-archive .nla-widget-grid>a{
    background:#fff;
  }
}
