:root {
	--nt-text: #111111;
	--nt-muted: #666666;
	--nt-line: #e7e7e7;
	--nt-surface: #ffffff;
	--nt-soft: #f5f6f8;
}

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--nt-surface);
	color: var(--nt-text);
	font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.55;
	font-size: 16px;
	overflow-x: clip;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

.nt-skip {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.nt-skip:focus {
	left: 20px;
	top: 20px;
	width: auto;
	height: auto;
	overflow: visible;
	clip-path: none;
	z-index: 10000;
	background: #111111;
	color: #ffffff;
	padding: 10px 14px;
}

.nt-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, 0.92);
	border-bottom: 0;
	backdrop-filter: blur(10px);
}

.nt-header__inner {
	max-width: 1360px;
	margin: 0 auto;
	padding: 28px 20px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.nt-logo img {
	width: 177px;
	min-height: 60px;
	object-fit: contain;
}

.nt-nav {
	display: flex;
	align-items: center;
	gap: 32px;
	flex: 1;
	justify-content: flex-end;
}

.nt-nav__list {
	list-style: none;
	display: flex;
	align-items: center;
	gap: clamp(24px, 3.05vw, 50px);
	margin: 0;
	padding: 0;
	font-weight: 800;
	font-size: 18px;
}

.nt-nav__list a:hover,
.nt-nav__list .current-menu-item > a {
	color: var(--nt-accent, #1433d4);
}

.nt-header-icons {
	display: flex;
	align-items: center;
	gap: 18px;
}

.nt-header-icons a,
.nt-header-icons img {
	width: 40px;
	height: 40px;
	display: block;
	object-fit: contain;
}

.nt-mobile-actions,
.nt-mobile-search {
	display: none;
}

.nt-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent !important;
	border-radius: 0 !important;
	padding: 10px;
	box-shadow: none !important;
	color: #111111 !important;
}

.nt-menu-toggle span:not(.screen-reader-text) {
	display: block;
	height: 2px;
	margin: 5px 0;
	background: #111111;
	transition: transform 180ms ease, opacity 180ms ease;
}

.nt-main {
	min-height: 70vh;
}

.nt-home-top {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 40px 66px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 194px;
	gap: 24px;
	align-items: start;
}

.nt-home-main {
	min-width: 0;
}

.nt-main-banner {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 0 35px 0 35px;
	background: #f7a1c7;
}

.nt-main-banner img {
	width: 100%;
	aspect-ratio: 1290 / 718;
	object-fit: cover;
}

.nt-main-banner__copy {
	position: absolute;
	inset: auto 0 0 0;
	padding: 0 48px 72px;
	color: #111111;
}

.nt-main-banner__copy em {
	display: inline-block;
	background: #111111;
	color: #ffffff;
	font-style: normal;
	font-weight: 900;
	font-size: 20px;
	padding: 4px 10px 3px;
	margin-bottom: 18px;
}

.nt-main-banner__copy strong {
	display: block;
	font-size: clamp(34px, 5.7vw, 76px);
	line-height: 1.04;
	font-weight: 900;
	letter-spacing: 0;
	text-shadow: 0 3px 0 rgba(255, 255, 255, 0.55);
}

.nt-main-banner__copy small {
	display: block;
	margin-top: 24px;
	max-width: 560px;
	font-size: 19px;
	font-weight: 700;
}

.nt-home-side {
	display: grid;
	gap: 11px;
}

.nt-home-side a,
.nt-home-side img {
	display: block;
	width: 100%;
	border-radius: 18px;
}

.nt-home-popup {
	position: fixed;
	inset: 0;
	z-index: 5000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.nt-home-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
	background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 2px, transparent 2px 8px);
}

.nt-home-popup__box {
	position: relative;
	width: min(640px, calc(100vw - 42px));
	background: #fff8e9;
	border-radius: 6px;
	box-shadow: 0 12px 34px rgba(0,0,0,.35);
}

.nt-home-popup__box img {
	width: 100%;
	border-radius: 6px;
}

.nt-home-popup__box label {
	position: absolute;
	left: 12px;
	bottom: 6px;
	font-size: 15px;
}

.nt-popup-close {
	position: absolute;
	right: 10px;
	bottom: 8px;
	width: 25px;
	height: 25px;
	border: 1px solid #cccccc;
	border-radius: 50%;
	background: #ffffff;
	color: #777777;
	font-size: 20px;
	line-height: 20px;
	padding: 0;
	cursor: pointer;
}

.nt-section {
	max-width: 1440px;
	margin: 0 auto;
	padding: 28px 50px 54px;
}

.nt-section__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
	border-bottom: 0;
	padding-bottom: 10px;
}

.nt-section__head h2 {
	font-size: 40px;
	line-height: 1;
	margin: 0;
	font-weight: 900;
	color: var(--nt-accent, #111111);
}

.nt-section__tag {
	display: inline-block;
	background: #111111;
	color: #ffffff;
	font-size: 26px;
	font-weight: 900;
	line-height: 1;
	padding: 1px 5px 3px;
	transform: rotate(-4deg);
}

.nt-section__head p {
	margin: 18px 0 0;
	font-size: 18px;
	color: #111111;
}

.nt-section--focus .nt-section__head h2 {
	position: relative;
	display: inline-block;
	font-size: 40px;
	margin-top: 4px;
}

.nt-section--focus .nt-section__head h2::before,
.nt-section--focus .nt-section__head h2::after {
	content: "✦";
	position: absolute;
	color: var(--nt-accent);
	font-size: 22px;
}

.nt-section--focus .nt-section__head h2::before {
	left: -28px;
	bottom: -2px;
}

.nt-section--focus .nt-section__head h2::after {
	right: -34px;
	top: -4px;
}

.nt-section__head a {
	font-weight: 800;
	color: var(--nt-accent, #111111);
}

.nt-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 34px 28px;
}

.nt-card {
	min-width: 0;
}

.nt-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--nt-soft);
	aspect-ratio: 16 / 11;
	overflow: hidden;
	border-radius: 20px;
	color: var(--nt-accent);
	font-weight: 900;
}

.nt-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.nt-card:hover .nt-card__media img {
	transform: scale(1.04);
}

.nt-card__body {
	padding: 16px 2px 0;
}

.nt-card__eyebrow,
.nt-single__type,
.nt-archive-hero p {
	color: var(--nt-accent);
	font-weight: 900;
	text-transform: uppercase;
}

.nt-card h3 {
	font-size: 20px;
	line-height: 1.3;
	margin: 6px 0 8px;
}

.nt-card p {
	margin: 0;
	color: var(--nt-muted);
	font-size: 15px;
}

.nt-archive-hero,
.nt-single__head {
	max-width: 980px;
	margin: 0 auto;
	padding: 70px 24px 34px;
	text-align: center;
}

.nt-archive-hero h1,
.nt-single__head h1 {
	margin: 8px 0 0;
	font-size: clamp(36px, 6vw, 72px);
	line-height: 1.06;
	font-weight: 900;
}

.nt-single__meta {
	margin-top: 16px;
	color: var(--nt-muted);
}

.nt-single__thumb,
.nt-single__content {
	max-width: 980px;
	margin: 0 auto;
	padding: 0 24px;
}

.nt-single__thumb img {
	width: 100%;
	border-radius: 0 46px 0 46px;
}

.nt-single__content {
	padding-top: 34px;
	padding-bottom: 80px;
	font-size: 18px;
}

.nt-single__content > * {
	max-width: 100%;
}

.nt-pagination {
	margin-top: 34px;
}

.nt-empty {
	padding: 40px;
	background: var(--nt-soft);
	text-align: center;
}

.nt-footer {
	border-top: 1px solid var(--nt-line);
	background: #111111;
	color: #ffffff;
}

.nt-footer__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 36px 24px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	color: #cccccc;
}

.nt-footer strong {
	color: #ffffff;
}

@media (max-width: 900px) {
	html.nt-menu-open,
	html.nt-menu-open body {
		overflow: hidden;
	}

	.nt-header__inner {
		height: 76px !important;
		padding: 10px 20px !important;
	}

	.nt-logo img {
		width: 108px !important;
		min-height: 0 !important;
		max-height: 46px !important;
	}

	.nt-menu-toggle {
		display: block;
		position: relative;
		z-index: 10001;
		background: transparent !important;
		border: 0 !important;
		outline: 0;
	}

	.nt-menu-open .nt-menu-toggle span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.nt-menu-open .nt-menu-toggle span:nth-child(2) {
		opacity: 0;
	}

	.nt-menu-open .nt-menu-toggle span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.nt-nav {
		display: none !important;
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		top: 76px !important;
		bottom: 0 !important;
		width: 100vw !important;
		height: calc(100dvh - 76px) !important;
		background: #ffffff !important;
		border-top: 1px solid var(--nt-line) !important;
		padding: 24px 28px !important;
		align-items: stretch !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		z-index: 9999 !important;
		overflow-y: auto !important;
	}

	.nt-nav.is-open {
		display: flex !important;
	}

	.nt-nav__list {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		font-size: 22px;
	}

	.nt-nav__list a {
		display: block;
		padding: 11px 0;
		border-bottom: 0;
	}

	.nt-header-icons {
		display: none !important;
	}

	.nt-mobile-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 14px;
		margin-bottom: 26px;
	}

	.nt-mobile-actions a {
		height: 56px;
		border: 2px solid #00529b;
		border-radius: 5px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 800;
		color: #00529b;
	}

	.nt-mobile-actions .nt-mobile-signup {
		background: #00529b;
		color: #ffffff;
	}

	.nt-mobile-search {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 44px;
		gap: 12px;
		margin-bottom: 24px;
	}

	.nt-mobile-search input {
		width: 100%;
		height: 40px;
		border: 1px solid #d6d6d6;
		border-radius: 15px;
		padding: 0 15px;
		font-size: 16px;
	}

	.nt-mobile-search button {
		width: 40px;
		height: 40px;
		border: 0;
		border-radius: 9px;
		background: #dddddd;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 8px;
	}

	.nt-mobile-search img {
		width: 23px;
		height: 23px;
		object-fit: contain;
	}

	.nt-fame-link a {
		color: #d99600;
	}

	.nt-home-top {
		grid-template-columns: 1fr;
		padding: 0 20px 34px;
		gap: 18px;
	}

	.nt-main-banner {
		border-radius: 0 24px 0 24px;
	}

	.nt-main-banner img {
		aspect-ratio: 1290 / 718;
		object-fit: cover;
		object-position: center;
	}

	.nt-main-banner__copy {
		padding: 0 18px 28px;
	}

	.nt-main-banner__copy em {
		font-size: 13px;
		margin-bottom: 8px;
	}

	.nt-main-banner__copy strong {
		font-size: 31px;
	}

	.nt-main-banner__copy small {
		display: none;
	}

	.nt-home-side {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.nt-home-side a:nth-child(n+3) {
		display: none;
	}

	.nt-home-popup {
		padding: 18px;
		align-items: center;
	}

	.nt-grid {
		grid-template-columns: 1fr;
	}

	.nt-section {
		padding: 36px 20px;
	}

	.nt-section__head h2 {
		font-size: 34px;
	}

	.nt-footer__inner {
		flex-direction: column;
	}
}
