	/* CSS 로드 전 메인 배너 중복 노출(FOUC) 방지 — 헤더 GNB(.min768)와 구분 */
	.main-visual { display: block; }
	.max768 { display: none; }
	@media (max-width: 834px) {
		.min768.main-visual { display: none !important; }
		.max768.main-visual-m { display: block !important; }
	}
	.main-title-text__break { display: none; }
	@media (max-width: 834px) {
		.main-title-text__break { display: inline; }
	}
	.pass-more-row{
		display:flex;
		align-items:center;
		justify-content:flex-end;
		gap:10px;
	}
	.review-swiper-nav{
		display:inline-flex;
		align-items:center;
		gap:6px;
	}
	.review-swiper-nav__btn{
		width:34px;
		height:28px;
		border:1px solid #d5dbe6;
		border-radius:10px;
		background:#fff;
		color:#475569;
		font-size:16px;
		line-height:1;
		display:inline-flex;
		align-items:center;
		justify-content:center;
		cursor:pointer;
		transition: border-color .2s ease, color .2s ease, transform .2s ease;
	}
	.review-swiper-nav__icon{
		display:inline-block;
	}
	.review-swiper-nav__btn:hover{ border-color:#94a3b8; color:#1e293b; }
	.review-swiper-nav__btn.swiper-button-disabled{ opacity:.35; cursor:default; }
	.section_pass_bg--fx .review-swiper-nav__btn--prev:hover:not(.swiper-button-disabled) .review-swiper-nav__icon{
		animation: reviewNavPokeLeft .5s ease-in-out infinite;
	}
	.section_pass_bg--fx .review-swiper-nav__btn--next:hover:not(.swiper-button-disabled) .review-swiper-nav__icon{
		animation: reviewNavPokeRight .5s ease-in-out infinite;
	}
	@keyframes reviewNavPokeLeft {
		0% { transform: translateX(0); }
		50% { transform: translateX(-3px); }
		100% { transform: translateX(0); }
	}
	@keyframes reviewNavPokeRight {
		0% { transform: translateX(0); }
		50% { transform: translateX(3px); }
		100% { transform: translateX(0); }
	}

	/* 합격수기(swiper) 네비 버튼: 우측 하단 고정 */
	.section_pass_bg--fx .review-slider-wrap{ position:relative; margin-bottom:0; }
	.section_pass_bg--fx .swiper-review-pass{ padding-bottom: 0; }
	.section_pass_bg--fx .review-swiper-nav{
		position: static;
		display: flex;
		justify-content: center;
		width: fit-content;
		margin: 10px auto 0;
		transform: none;
		z-index: 30;
	}
	.section_pass_bg--fx .review-swiper-pagination{ display:none !important; }
	.nm-video-grid1{
		width: 100%;
		max-width: 1200px;
		margin: 12px auto 22px;
		padding-left: 0;
		padding-right: 0;
		box-sizing: border-box;
	}
	.nm-video-section{
		margin-top: 0;
		margin-bottom: 0 !important;
		padding: 65px 0; /* 상·하단 동일 */
		background: #202230;
		border: none;
		box-shadow: none;
	}

	/* 영상+수강후기: 모바일에서 보이는 상·하 헤어라인(보더/이음새) 제거 */
	.section-new-subject--dark {
		background: #202230;
		border: none;
		box-shadow: none;
		outline: none;
	}
	.section-new-subject--dark > .section.section_pad.nm-video-section,
	.section-new-subject--dark > .section_bg.section_pass_bg,
	.section-new-subject--dark > .section_bg.section_pass_bg.section_pass_bg--fx {
		background: #202230 !important;
		background-image: none !important;
		border: 0 !important;
		border-top: 0 !important;
		border-bottom: 0 !important;
		border-left: 0 !important;
		border-right: 0 !important;
		outline: none !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	/* 섹션 사이 1px 틈(서브픽셀/AOS)으로 밝은 배경이 비치는 것 방지 */
	.section-new-subject--dark > .section_bg.section_pass_bg {
		margin-top: -1px !important;
		position: relative;
		z-index: 1;
		/* 위쪽 이음새를 동일 배경색으로 덮음 (패딩은 유지) */
		box-shadow: 0 -2px 0 0 #202230 !important;
	}
	@media (max-width: 834px) {
		.section-new-subject--dark,
		.section-new-subject--dark > .section.section_pad.nm-video-section,
		.section-new-subject--dark > .section_bg.section_pass_bg {
			width: 100% !important;
			max-width: 100% !important;
			margin-left: 0 !important;
			margin-right: 0 !important;
			box-sizing: border-box;
		}
		.section-new-subject--dark > .section.section_pad.nm-video-section {
			padding-left: 8px !important;
			padding-right: 8px !important;
		}
	}
	.nm-video-grid{
		display:grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 28px;
	}
	.nm-video-grid + .nm-video-grid{
		margin-top: 24px;
	}
	.nm-video-item{
		width: 100%;
		perspective: 800px;
	}
	.nm-video-wrap{
		position: relative;
		width: 100%;
		padding-top: 56.25%;
		border-radius: 18px;
		overflow: hidden;
		background:#07131f;
		border: 1px solid rgba(255, 255, 255, 0.12);
		box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
		cursor: pointer;
		transform: translateY(0) scale(1);
		transition:
			transform .45s cubic-bezier(0.22, 1, 0.36, 1),
			box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1),
			border-color .3s ease;
	}
	.nm-video-wrap::before{
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, rgba(7,19,31,0.05) 35%, rgba(7,19,31,0.72) 100%);
		z-index: 2;
		pointer-events: none;
		opacity: 1;
		transition: opacity .35s ease;
	}
	.nm-video-wrap::after{
		content: '';
		position: absolute;
		inset: -1px;
		border-radius: inherit;
		background: linear-gradient(135deg, rgba(126,217,199,0.55), rgba(232,201,138,0.35), rgba(255,71,71,0.4));
		opacity: 0;
		z-index: 0;
		pointer-events: none;
		transition: opacity .35s ease;
		mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
		mask-composite: exclude;
		-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
		-webkit-mask-composite: xor;
		padding: 1px;
	}
	.nm-video-item:hover .nm-video-wrap:not(.is-playing),
	.nm-video-wrap:focus-within:not(.is-playing){
		transform: translateY(-8px) scale(1.015);
		border-color: rgba(126, 217, 199, 0.35);
		box-shadow:
			0 18px 40px rgba(0, 0, 0, 0.38),
			0 0 0 1px rgba(126, 217, 199, 0.18);
	}
	.nm-video-item:hover .nm-video-wrap:not(.is-playing)::after,
	.nm-video-wrap:focus-within:not(.is-playing)::after{
		opacity: 1;
	}
	.nm-video-thumb{
		position:absolute;
		left:0;
		top:0;
		width:100%;
		height:100%;
		object-fit:cover;
		display:block;
		transform: scale(1.05);
		transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1), opacity .3s ease, filter .35s ease;
		filter: saturate(1.05) brightness(0.92);
		z-index: 1;
	}
	.nm-video-item:hover .nm-video-wrap:not(.is-playing) .nm-video-thumb{
		transform: scale(1.12);
		filter: saturate(1.12) brightness(1);
	}
	.nm-video-wrap .nm-play-overlay{
		position:absolute;
		left:50%;
		top:50%;
		transform:translate(-50%,-50%);
		width:72px;
		height:72px;
		border-radius:50%;
		border:1px solid rgba(255,255,255,0.28);
		background: rgba(8, 18, 28, 0.55);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
		cursor:pointer;
		display:flex;
		align-items:center;
		justify-content:center;
		z-index: 3;
		box-shadow: 0 8px 24px rgba(0,0,0,0.35);
		transition: transform .3s cubic-bezier(0.22, 1, 0.36, 1), background-color .25s ease, border-color .25s ease, opacity .25s ease, box-shadow .3s ease;
		-webkit-appearance: none;
		appearance: none;
	}
	.nm-video-wrap .nm-play-overlay::before{
		content: '';
		position: absolute;
		inset: -8px;
		border-radius: 50%;
		border: 1px solid rgba(255, 71, 71, 0.45);
		opacity: 0.65;
		animation: nmPlayPulse 2.2s ease-out infinite;
		pointer-events: none;
	}
	.nm-video-wrap .nm-play-overlay .nm-play-overlay-icon{
		position: absolute;
		left: 50%;
		top: 50%;
		width: 0;
		height: 0;
		border-top: 11px solid transparent;
		border-bottom: 11px solid transparent;
		border-left: 19px solid #fff;
		transform: translate(-38%, -50%);
		filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
	}
	.nm-video-wrap iframe{
		position:absolute;
		left:0;
		top:0;
		width:100%;
		height:100%;
		border:0;
		display:block;
		z-index: 2;
	}
	.nm-video-wrap:hover .nm-play-overlay,
	.nm-video-wrap:focus-within .nm-play-overlay{
		background: rgba(255, 71, 71, 0.92);
		border-color: rgba(255,255,255,0.4);
		transform: translate(-50%, -50%) scale(1.08);
		box-shadow: 0 12px 28px rgba(255, 71, 71, 0.35);
	}
	.nm-video-wrap:hover .nm-play-overlay::before{
		opacity: 0;
		animation: none;
	}
	.nm-video-wrap.is-playing{
		border-color: rgba(126, 217, 199, 0.4);
		box-shadow: 0 14px 36px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(126, 217, 199, 0.2);
		cursor: default;
	}
	.nm-video-wrap.is-playing::before{
		opacity: 0;
	}
	.nm-video-wrap.is-playing .nm-video-thumb,
	.nm-video-wrap.is-playing .nm-play-overlay{
		opacity: 0;
		pointer-events: none;
	}
	@keyframes nmPlayPulse {
		0% { transform: scale(0.92); opacity: 0.7; }
		70% { transform: scale(1.18); opacity: 0; }
		100% { transform: scale(1.18); opacity: 0; }
	}
	@media (prefers-reduced-motion: reduce) {
		.nm-video-wrap,
		.nm-video-thumb,
		.nm-video-wrap .nm-play-overlay {
			transition: none !important;
		}
		.nm-video-wrap .nm-play-overlay::before {
			animation: none;
		}
		.nm-video-item:hover .nm-video-wrap:not(.is-playing) {
			transform: none;
		}
	}
	@media (max-width: 1024px) {
		.nm-video-grid{
			grid-template-columns: repeat(2, 1fr);
			gap: 20px;
		}
	}
	@media (max-width: 834px) {
		.max768 { display: block; }
		.nm-video-grid{
			grid-template-columns: 1fr;
			gap: 16px;
		}
		.nm-video-wrap .nm-play-overlay{
			width: 64px;
			height: 64px;
		}
	}
