/* 전체 공통 */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	background-color: #000;
	color: #fff;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
		"Noto Sans KR", sans-serif;
}

/* 버튼 공통 */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	text-decoration: none;
	font-weight: 600;
}

.btn-red {
	background-color: #e50914;
	color: #fff;
}

.btn-red:hover {
	background-color: #f6121d;
}

.btn-small {
	padding: 7px 16px;
	font-size: 0.85rem;
	border-radius: 4px;
}

.btn-large {
	padding: 0 24px;
	font-size: 1.1rem;
	height: 52px;
	border-radius: 4px;
	margin-left: 10px;
	white-space: nowrap;
}

/* 히어로 영역 */
/* 이 페이지에서는 헤더 */
.hero {
	position: relative;
	min-height: 620px;
	background-image: linear-gradient(
			7deg,
			rgba(0, 0, 0, 0.85) 10%,
			rgba(0, 0, 0, 0.8465) 17.25%,
			rgba(0, 0, 0, 0.8361) 24.5%,
			rgba(0, 0, 0, 0.8187) 31.75%,
			rgba(0, 0, 0, 0.7944) 39%,
			rgba(0, 0, 0, 0.7632) 46.25%,
			rgba(0, 0, 0, 0.725) 53.5%,
			rgba(0, 0, 0, 0.6868) 60.75%,
			rgba(0, 0, 0, 0.6556) 68%,
			rgba(0, 0, 0, 0.6312) 75.25%,
			rgba(0, 0, 0, 0.6139) 82.5%,
			rgba(0, 0, 0, 0.6035) 89.75%,
			rgba(0, 0, 0, 0.6) 97%
		),
		url("https://assets.nflxext.com/ffe/siteui/vlv3/30c8b9f4-3db9-4b3b-a1ee-8fa56531b712/web/KR-ko-20251201-TRIFECTA-perspective_ae2ba3a6-ffd4-4b8f-847a-7e8abd877b31_large.jpg");
	background-size: cover;
	background-position: center;
}

.hero-overlay {
	position: absolute;
	inset: 0;
}

.hero-inner {
	position: relative;
	max-width: 1213px;
	margin: 0 auto;
	padding: 24px 32px 120px;
}

/* 네비게이션 */
.nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 120px;
}

.nav-logo {
	width: 148px;
	height: auto;
	fill: #e50914;
}

.nav-right {
	display: flex;
	align-items: center;
	gap: 16px;
}

.nav-lang,
.footer-lang {
	position: relative;
	display: inline-block;
}

.nav-lang::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	width: 16px;
	height: 16px;
	transform: translateY(-50%);
	pointer-events: none;
	background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' fill='none'><path fill='white' fill-rule='evenodd' d='M10.77 5.33 10.5 6 9.34 8.94l-.57 1.44L7.33 14h1.78l.73-1.97h3.58l.74 1.97H16l-3.43-8.67zm-.15 4.6-.24.63h2.51l-1.26-3.35zm-1.1-5.09.1-.19h-3.2V2h-1.5v2.65H.55V6h3.77A11 11 0 0 1 0 10.43c.33.28.81.8 1.05 1.16 1.5-.91 2.85-2.36 3.88-4.02v5.1h1.49V7.52q.6.95 1.33 1.8l.57-1.43a12 12 0 0 1-1.34-1.9h2.09z' clip-rule='evenodd'/></svg>")
		no-repeat center/contain;
}

.nav-lang::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 0.5px;
	height: 0.5px;
	pointer-events: none;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #fff;
}

.nav-lang select,
.footer-lang select {
	padding-left: 34px;
	padding-right: 10px;
	width: 124px;
	height: 32px;
	font-size: 1rem;
	background: rgba(0, 0, 0, 0.4);
	border: 1px solid #aaa;
	border-radius: 4px;
	color: #fff;
	appearance: none;
}

.nav-lang select option,
.footer-lang select option {
	background-color: #fff;
	color: #000;
	font-size: 1rem;
}

.nav-lang select:focus,
.footer-lang select:focus {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

/* 히어로 텍스트 */
.hero-content {
	width: 100%;
	display: flex;
	flex-direction: column;
	justyfi-content: center;
	align-items: center;
	text-align: center;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	max-width: 588px;
}

.hero-title {
	font-size: 3rem;
	line-height: 1.2;
	font-weight: 900;
	margin-bottom: 16px;
}

.mobile-hide {
	display: inline;
}

.hero-subtitle {
	font-size: 1.25rem;
	margin-bottom: 12px;
}

.hero-desc {
	font-size: 0.9rem;
	margin-bottom: 18px;
}

.hero-form {
	width: 100%;
	max-width: 588px;
	display: flex;
	justify-content: center;
}

.input-wrap {
	display: flex;
	position: relative;
	width: 100%;
	gap: 10px;
}

.input-wrap input {
	width: 100%;
	padding: 18px 12px 6px;
	background-color: rgba(0, 0, 0, 0.4);
	border: 1px solid #aaa;
	border-radius: 4px;
	color: #fff;
	font-size: 1rem;
	box-sizing: border-box;
}

.input-wrap label {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #aaa;
	font-size: 1rem;
	pointer-events: none;
	transition: 0.2s ease;
}

/* focus될 때 라벨이 위로 작게 이동 */
.input-wrap input:focus + label,
.input-wrap input:not(:placeholder-shown) + label {
	top: 6px;
	font-size: 0.75rem;
	color: #ddd;
	transform: translateY(0);
}

.hero-form--center {
	justify-content: center;
}

.hero .btn-large {
	font-size: 1.5rem;
	line-height: 10px;
}

.btn-start::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 10px;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	transform: rotate(45deg);
}

.input-email {
	background-color: rgba(0, 0, 0, 0.4);
	flex: 1 1 260px;
	min-width: 0;
	padding: 0 12px;
	height: 52px;
	border-radius: 4px;
	border: 1px solid #555;
	font-size: 1rem;
}

.deco-box {
	position: relative;
}

/* 다미쌤 곡선.. 난 안먹음..
.deco-box { background: radial-gradient(50% 500% at 50% -420%, rgba(64, 97, 231, 0.4) 80%, rgba(0, 0, 0, 0.1) 100%), black;}

.deco-box::after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    margin-top: -.25rem;
    border-radius: inherit;
    background: linear-gradient(to right, rgba(33, 13, 22, 1) 16%, rgba(184, 40, 105, 1), rgba(229, 9, 20, 1), rgba(184, 40, 105, 1), rgba(33, 13, 22, 1) 84%);
}
*/

.deco-box-curve {
	position: absolute;
	top: -100px;
	width: 100%;
	height: 100px;
	border: 4px solid transparent;
	border-top-left-radius: 100% 140%;
	border-top-right-radius: 100% 140%;
	background: linear-gradient(
		to right,
		rgba(33, 13, 22, 1) 16%,
		rgba(184, 40, 105, 1),
		rgba(229, 9, 20, 1),
		rgba(184, 40, 105, 1),
		rgba(33, 13, 22, 1) 84%
	);
}

.deco-box-curve::after {
	content: "";
	position: absolute;
	top: 10px;
	height: 100%;
	right: -20px;
	bottom: 10px;
	left: -20px;
	margin-top: -0.4rem;
	border-radius: inherit;
	background: radial-gradient(
			50% 500% at 50% -420%,
			rgba(64, 97, 231, 0.4) 80%,
			rgba(0, 0, 0, 0.1) 100%
		),
		black;
}

/* 중앙 띠 배너 */
.plan-banner {
	width: 100%;
	display: flex;
	justify-content: center;
	transform: scale(0.9);
	transition: transform 0.3s ease;
}

.plan-banner:hover {
	transform: scale(0.92);
}

.plan-content {
	display: flex;
	align-items: center;
	gap: 20px;
}

/* 팝콘 아이콘 위치 반응형 */
.plan-icon {
	left: clamp(16px, 5vw, 60px);
	top: -13px;
	z-index: 10;
}

.plan-icon svg {
	transform: scale(0.8);
}

.plan-inner {
	position: relative;
	max-width: 1213px;
	width: 80%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: linear-gradient(90deg, #221b55 0%, #0c1026 100%);
	padding: 20px 25px;
	border-radius: 16px;
	max-width: 1213px;
	box-sizing: border-box;
}

.plan-text-wrap .plan-text {
	color: #d5d5d5;
	margin: 4px 0 0;
}

.plan-title {
	font-weight: 700;
	margin-bottom: 4px;
	font-size: 1.3rem;
}

.plan-text {
	font-weight: 600;
	font-size: 1rem;
	color: #ddd;
}

.plan-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px !important;
	border-radius: 6px;
	white-space: nowrap;
	background: rgba(255, 255, 255, 0.15);
	color: #fff !important;
	transition: 0.2s ease;
}

.plan-btn:hover {
	background: rgba(255, 255, 255, 0.25);
}

/* 공통 섹션 */
.section {
	background: #000;
}
.section-inner {
	position: relative;
	max-width: 1213px;
	margin: 0 auto;
	padding: 48px 32px;
}

.section-title {
	font-size: 1.6rem;
	margin-bottom: 24px;
}

/* 지금 뜨는 콘텐츠 */
.trending-list {
	display: flex;
	gap: 44px;
	padding-bottom: 8px;
	overflow: hidden;
	overflow-x: hidden;
	position: relative;
}

.trend-card {
	position: relative;
}

.trend-card img {
	width: 180px;
	height: 252px;
	object-fit: cover;
	border-radius: 6px;
}

.trend-title {
	margin-top: 8px;
	font-size: 0.95rem;
}

.trend-rank {
	position: absolute;
	left: -12px;
	bottom: 12px;
	font-size: 5rem;
	font-weight: 900;
	color: #000;
	-webkit-text-stroke: 1px #fff;
}

.slider-arrow-wrap {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0 20px;
	width: 25px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 1);
	z-index: 2;
	pointer-events: none;
}

.slider-arrow {
	position: absolute;
	width: 25px;
	height: 50%;
	top: 50%;
	right: 0;
	transform: translate(50%, -50%);
	background: #212529;
	border: none;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #fff;
	transition: background 0.2s ease;
	pointer-events: auto;
	z-index: 1;
}

.slider-arrow:hover {
	background: #495057;
}

.right-arrow {
	right: 20px;
}

.slider-arrow svg {
	width: 22px;
	height: 22px;
}

/* 가입해야 하는 또 다른 이유 */
.features {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.feature-card {
	background: linear-gradient(135deg, #1b0630, #150b24);
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: sapce-between;
	aling-items: flex-start;
	border-radius: 18px;
}

.feature-content {
	padding-bottom: 20px;
	flex: 1;
}

.feature-icon {
	width: 72px;
	height: 72px;
	display: flex;
	margin-left: auto;
	align-items: flex-end;
}

.feature-card h3 {
	margin-bottom: 15px;
	font-size: 1.5rem;
	font-weight: 550;
}

.feature-card p {
	font-size: 1rem;
	color: #ddd;
}

/* FAQ */
.faq-list {
	margin-top: 12px;
}

.faq-item {
	font-weight: 500;
	background-color: #303030;
	margin-bottom: 8px;
}

.faq-item summary {
	list-style: none;
	cursor: pointer;
	padding: 18px 20px;
	font-size: 1.3rem;
	display: flex;
	align-items: center;
	position: relative;
	transition: background 0.3s ease;
}

.faq-item summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	font-size: 2rem;
}

.faq-item[open] summary::after {
	content: "–";
}

.faq-item summary:hover {
	background: rgba(224, 224, 224, 0.2);
}

.faq-item p {
	display: flex;
	flex-direction: column;
	gap: 25px;
	padding: 20px 18px;
	font-size: 1.3rem;
	border-top: 1px solid #000;
}

.faq-item p a {
	color: #ddd;
}

.faq-bottom {
	max-width: 1213px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-top: 32px;
}

.faq-bottom-text {
	margin-top: 20px;
	margin-bottom: 16px;
	font-size: 0.9rem;
}

/* 푸터 */
.footer {
	background-color: #000;
	color: #757575;
}

.footer-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 10px 0 32px 60px;
	font-size: 0.9rem;
}

.footer-question {
	margin-bottom: 36px;
	font-size: 1rem;
	color: #aaa;
}

.footer-question a {
	color: #aaa;
}

.footer-links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.footer-links ul {
	list-style: none;
}

.footer-links li {
	margin-bottom: 8px;
}

.footer-links a {
	color: #aaa;
	font-size: 0.85rem;
}

.footer-lang {
	margin: 36px 0;
}

.footer-lang::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	width: 16px;
	height: 16px;
	transform: translateY(-50%);
	pointer-events: none;
	background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' fill='none'><path fill='white' fill-rule='evenodd' d='M10.77 5.33 10.5 6 9.34 8.94l-.57 1.44L7.33 14h1.78l.73-1.97h3.58l.74 1.97H16l-3.43-8.67zm-.15 4.6-.24.63h2.51l-1.26-3.35zm-1.1-5.09.1-.19h-3.2V2h-1.5v2.65H.55V6h3.77A11 11 0 0 1 0 10.43c.33.28.81.8 1.05 1.16 1.5-.91 2.85-2.36 3.88-4.02v5.1h1.49V7.52q.6.95 1.33 1.8l.57-1.43a12 12 0 0 1-1.34-1.9h2.09z' clip-rule='evenodd'/></svg>")
		no-repeat center/contain;
}

.footer-lang::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 0.5px;
	height: 0.5px;
	pointer-events: none;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #fff;
}

.footer-copy {
	color: #aaa;
	font-size: 0.8rem;
}

.footer-copy a {
	color: #aaa;
}

.footer-copy p:first-child {
	margin-bottom: 36px;
}

/* 반응형 */
@media (max-width: 960px) {
	.nav {
		margin-bottom: 80px;
	}

	.hero-title {
		font-size: 2.4rem;
	}

	.hero-subtitle,
	.hero-desc {
		font-size: 1rem;
		padding: 0 20px;
	}

	.mobile-hide {
		display: none;
	}

	.features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.footer-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.trend-card img {
		width: 140px;
		height: 196px;
		object-fit: cover;
		border-radius: 6px;
	}

	.trend-rank {
		font-size: 4rem;
	}

	.faq-item summary,
	.faq-item p {
		font-size: 1.2rem;
	}
}

@media (max-width: 600px) {
	.hero-inner,
	.section-inner,
	.footer-inner,
	.plan-inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.plan-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		margin-right: 20px;
	}

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

	.footer-links {
		grid-template-columns: 1fr;
	}

	.nav {
		margin-bottom: 60px;
	}

	.nav-logo {
		width: 89px;
	}

	.hero-title {
		font-size: 2rem;
	}

	.hero-form {
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}

	.input-email {
		width: calc(100% - 20px);
		margin: 0 10px;
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}

	.input-wrap label {
		position: absolute;
		left: 22px;
		top: 15px;
		transform: none;
		transition: 0.2s ease;
	}

	.btn-large {
		width: auto;
		flex-shrink: 0;
		white-space: nowrap;
	}

	.trending-list {
		display: flex;
		gap: 20px;
	}

	.trend-card img {
		width: 112px;
		height: 150px;
	}

	.trend-rank {
		font-size: 3rem;
	}

	.faq-item summary,
	.faq-item p {
		font-size: 1rem;
	}
}
