:root {
	--nextgen-sub-navy: #102a43;
	--nextgen-sub-blue: #2364aa;
	--nextgen-sub-cyan: #16a9d3;
	--nextgen-sub-text: #273746;
	--nextgen-sub-muted: #667788;
	--nextgen-sub-border: #dce6ed;
	--nextgen-sub-surface: #f7fafc;
}

html,
body {
	width: 100%;
	margin: 0;
	padding: 0;
}

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

.nextgen-sub { min-height: 100vh; color: var(--nextgen-sub-text); background: #fff; font-family: "Montserrat", Arial, "Noto Sans KR", sans-serif; }
.nextgen-sub a { color: inherit; }
.nextgen-sub__shell { width: min(100% - 40px, 1200px); margin-right: auto; margin-left: auto; }
.nextgen-sub__skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; color: #fff; background: var(--nextgen-sub-accent); transform: translateY(-150%); }
.nextgen-sub__skip-link:focus { transform: translateY(0); }

.nextgen-sub-header { position: relative; z-index: 20; background: #fff; border-bottom: 1px solid var(--nextgen-sub-border); }
.nextgen-sub-header__inner { display: flex; min-height: 76px; align-items: center; gap: 28px; }
.nextgen-sub-brand { display: inline-flex; color: var(--nextgen-sub-navy); align-items: center; font-size: 21px; font-weight: 800; text-decoration: none; }
.nextgen-sub-brand img { display: block; width: auto; max-width: 250px; max-height: 48px; object-fit: contain; }
.nextgen-sub-nav { display: flex; margin-left: auto; align-items: center; gap: 24px; }
.nextgen-sub-nav__list { display: flex; margin: 0; padding: 0; align-items: center; gap: 24px; list-style: none; }
.nextgen-sub-nav__item { position: relative; }
.nextgen-sub-nav__item > a { display: block; padding: 27px 0; color: var(--nextgen-sub-navy); font-size: 14px; font-weight: 600; text-decoration: none; }
.nextgen-sub-nav__item.is-active > a,
.nextgen-sub-nav__item > a:hover,
.nextgen-sub-nav__item > a:focus { color: var(--nextgen-sub-accent); }
.nextgen-sub-nav__submenu { position: absolute; display: none; min-width: 190px; margin: 0; padding: 8px 0; top: calc(100% - 1px); left: -16px; background: #fff; border: 1px solid var(--nextgen-sub-border); box-shadow: 0 12px 28px rgba(16,42,67,.1); list-style: none; }
.nextgen-sub-nav__item:hover .nextgen-sub-nav__submenu,
.nextgen-sub-nav__item:focus-within .nextgen-sub-nav__submenu { display: block; }
.nextgen-sub-nav__submenu a { display: block; padding: 10px 16px; color: var(--nextgen-sub-text); font-size: 13px; text-decoration: none; white-space: nowrap; }
.nextgen-sub-nav__submenu a:hover,
.nextgen-sub-nav__submenu a:focus,
.nextgen-sub-nav__submenu .is-active > a { color: var(--nextgen-sub-accent); background: var(--nextgen-sub-surface); }
.nextgen-sub-nav__empty { margin: 0; color: var(--nextgen-sub-muted); font-size: 13px; }
.nextgen-sub-main-link { padding: 9px 13px; color: #fff !important; background: var(--nextgen-sub-accent); border-radius: 4px; font-size: 12px; font-weight: 700; text-decoration: none; }
.nextgen-sub-menu-toggle { display: none; margin-left: auto; padding: 9px 12px; color: var(--nextgen-sub-navy); background: #fff; border: 1px solid var(--nextgen-sub-border); border-radius: 4px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }

.nextgen-sub__main { min-height: 60vh; }
.nextgen-sub__page-header { position: relative; display: flex; min-height: 384px; padding: 112px 0 48px; color: #fff; background: linear-gradient(125deg, var(--nextgen-sub-navy), #071c2d); align-items: flex-end; isolation: isolate; }
.nextgen-sub__page-header.has-background-image { background-image: var(--nextgen-sub-desktop-image); background-position: center; background-repeat: no-repeat; background-size: cover; }
.nextgen-sub__page-header.has-background-image::before { position: absolute; z-index: -1; content: ""; background: rgba(8,22,32,var(--nextgen-sub-overlay, .5)); inset: 0; }
.nextgen-sub__page-header--position-top.has-background-image { background-position: center top; }
.nextgen-sub__page-header--position-bottom.has-background-image { background-position: center bottom; }
.nextgen-sub__page-header--compact { min-height: 400px; }
.nextgen-sub__page-header--large { min-height: 516px; }
.nextgen-sub__page-header--align-center { text-align: center; }
.nextgen-sub__eyebrow { margin: 0 0 10px; color: rgba(255,255,255,.68); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.nextgen-sub__page-header h1 { margin: 0; color: #fff; font-size: clamp(34px, 5vw, 60px); font-weight: 600; letter-spacing: -.04em; line-height: 1.12; }
.nextgen-sub__description { max-width: 720px; margin: 16px 0 0; color: rgba(255,255,255,.82); font-size: clamp(15px, 1.4vw, 18px); font-weight: 300; line-height: 1.7; white-space: pre-line; }
.nextgen-sub__page-header--align-center .nextgen-sub__description { margin-right: auto; margin-left: auto; }
.nextgen-sub__content { padding-top: 40px; padding-bottom: 60px; }

.nextgen-sub-footer { padding: 36px 0; color: rgba(255,255,255,.75); background: #13251f; }
.nextgen-sub-footer__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 30px; }
.nextgen-sub-footer strong { color: #fff; font-size: 17px; }
.nextgen-sub-footer p { margin: 0; font-size: 13px; }
.nextgen-sub-footer a { color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; }
.nextgen-sub-footer__copyright { text-align: center; }
.nextgen-sub-footer__main-link { justify-self: end; text-align: right; }

@media (min-width: 601px) {
	.nextgen-sub-footer { display: block; padding: 36px 0; color: rgba(255,255,255,.75); background: #13251f; }
	.nextgen-sub-footer__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 30px; }
	.nextgen-sub-footer__brand { order: 1; justify-self: start; }
	.nextgen-sub-footer__copyright { order: 2; justify-self: center; text-align: center; }
	.nextgen-sub-footer__main-link { order: 3; justify-self: end; text-align: right; }
}

@media (max-width: 960px) {
	.nextgen-sub-menu-toggle { display: block; }
	.nextgen-sub-nav { position: absolute; display: none; padding: 18px 20px 22px; top: 100%; right: 0; left: 0; background: #fff; border-bottom: 1px solid var(--nextgen-sub-border); box-shadow: 0 14px 28px rgba(16,42,67,.1); align-items: stretch; flex-direction: column; }
	.nextgen-sub-nav.is-open { display: flex; }
	.nextgen-sub-nav__list { align-items: stretch; flex-direction: column; gap: 0; }
	.nextgen-sub-nav__item > a { padding: 12px 0; }
	.nextgen-sub-nav__submenu { position: static; display: block; min-width: 0; padding: 0 0 8px 16px; border: 0; box-shadow: none; }
	.nextgen-sub-main-link { text-align: center; }
}

@media (max-width: 600px) {
	.nextgen-sub__shell { width: min(100% - 28px, 1200px); }
	.nextgen-sub-header__inner { min-height: 68px; }
	.nextgen-sub-brand { font-size: 17px; }
	.nextgen-sub-brand img { max-width: 210px; max-height: 42px; }
	.nextgen-sub__page-header { min-height: 348px; padding: 148px 0 32px; }
	.nextgen-sub__page-header.has-background-image { background-image: var(--nextgen-sub-mobile-image); }
	.nextgen-sub__page-header--compact { min-height: 302px; }
	.nextgen-sub__page-header--large { min-height: 396px; }
	.nextgen-sub__content { padding-top: 28px; padding-bottom: 44px; }
	.nextgen-sub-footer { padding: 30px 0; }
	.nextgen-sub-footer__inner { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 10px; }
	.nextgen-sub-footer__brand { order: 1; }
	.nextgen-sub-footer__main-link { order: 2; justify-self: start; text-align: left; }
	.nextgen-sub-footer__copyright { order: 3; text-align: left; }
}
/* Activities supplies its own full-width Hero and section containers. */
.nextgen-sub .nextgen-activities-content { width: 100%; max-width: none; margin: 0; padding: 0; }
