@charset "UTF-8";

/* 파일 목적: 공통 화면 스타일과 토큰을 관리한다. */

@font-face {
	font-family: 'A2z';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-8ExtraBold.woff2') format('woff2');
	font-weight: 800;
	font-display: swap;
}

@font-face {
	font-family: 'A2z';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-6SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-display: swap;
}

/* ============================================
   토큰과 전역 변수
   ============================================ */

/* ----- 전역 토큰과 기본값 ----- */
:root {

	--brand-primary-color: hsl(340 82.2% 51.6%);
	--brand-dark-color: hsl(274 61.4% 11.2%);
	--brand-yellow-color: hsl(42 100.0% 72.4%);
	--brand-pink-color: hsl(0 100.0% 78.0%);
	--overlay-brand-primary-soft: hsl(333 81.9% 51.2% / 0.08);

	--surface-page-color: hsl(48 100.0% 98.0%);
	--surface-base-color: hsl(0 0.0% 100.0%);
	--surface-alt-color: hsl(210 40.0% 98.0%);
	--surface-muted-color: hsl(210 40.0% 96.1%);
	--border-default-color: hsl(214 31.8% 91.4%);
	--border-subtle-color: hsl(0 0.0% 0.0% / 0.1);

	--text-display-color: hsl(222 47.4% 11.2%);
	--text-body-color: hsl(215 25.0% 26.7%);
	--text-muted-color: hsl(215 16.3% 46.9%);


	--footer-bg-color: hsl(221 39.3% 11.0%);
	--footer-head-color: hsl(220 14.3% 95.9%);
	--footer-body-color: hsl(218 10.6% 64.9%);
	--footer-link-color: hsl(220 13.0% 91.0%);
	--footer-mute-color: hsl(220 8.9% 46.1%);
	--footer-border-color: hsl(0 0.0% 100.0% / 0.1);


	/* ── 액센트 ── */
	--accent-primary: hsl(217 91.2% 59.8%);
	--accent-primary-deep: hsl(221 83.2% 53.3%);
	--accent-danger: hsl(0 84.2% 60.2%);
	--accent-danger-text: hsl(347 77.2% 49.8%);
	--accent-danger-deep: hsl(345 82.7% 40.8%);
	--accent-success: hsl(160 84.1% 39.4%);
	--accent-info: hsl(189 94.5% 42.7%);
	--accent-warning: hsl(32 94.6% 43.7%);
	--accent-highlight: hsl(38 92.1% 50.2%);
	--accent-star: hsl(43 96.4% 56.3%);
	--accent-purple: hsl(262 83.3% 57.8%);
	--accent-pink: hsl(333 71.4% 50.6%);

	/* ── 슬레이트 ── */
	--color-slate: hsl(214 16.7% 32.9%);
	--color-slate-muted: hsl(215 20.2% 65.1%);
	--color-slate-light: hsl(213 26.8% 83.9%);
	--color-black: hsl(0 0.0% 0.0%);
	--color-danger-dark: hsl(0 74.7% 15.5%);

	/* ── 서피스 ── */
	--surface-accent: hsl(214 100.0% 96.9%);
	--surface-danger: hsl(0 85.7% 97.3%);
	--surface-success: hsl(152 81.0% 95.9%);

	/* ── 섀도우 / 오버레이 ── */
	--shadow-xs: hsl(0 0.0% 0.0% / 0.03);
	--shadow-sm: hsl(0 0.0% 0.0% / 0.08);
	--shadow-md: hsl(0 0.0% 0.0% / 0.1);
	--shadow-lg: hsl(0 0.0% 0.0% / 0.15);
	--glow-accent: hsl(340 82.2% 51.6% / 0.15);
	--glow-accent-strong: hsl(340 82.2% 51.6% / 0.4);
	--overlay-danger: hsl(0 84.2% 60.2% / 0.1);
	--overlay-white: hsl(0 0.0% 100.0% / 0.2);

	--brand-bg-warm: var(--surface-page-color);
	--brand-yellow: var(--brand-yellow-color);
	--brand-pink: var(--brand-pink-color);
	--brand-dark: var(--brand-dark-color);
	--brand-accent: var(--brand-primary-color);
	--brand-primary: var(--brand-primary-color);

	--bg-footer: var(--footer-bg-color);
	--text-footer-head: var(--footer-head-color);
	--text-footer-body: var(--footer-body-color);
	--text-footer-link: var(--footer-link-color);
	--text-footer-mute: var(--footer-mute-color);
	--border-footer: var(--footer-border-color);

	--text-display: var(--text-display-color);
	--text-body: var(--text-body-color);
	--text-muted: var(--text-muted-color);

	--font-stack: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	--font-display: 'A2z', sans-serif;
	--font-mono: 'JetBrains Mono', monospace;

	--font-xs: 10px;
	--font-xs-plus: 11px;
	--font-sm: 12px;
	--font-sm-plus: 13px;
	--font-base-sm: 14px;
	--font-base: 15px;
	--font-base-plus: 16px;
	--font-md: 17px;
	--font-md-plus: 18px;
	--font-lg-sm: 19px;
	--font-lg: 20px;
	--font-lg-plus: 21px;
	--font-xl-sm: 22px;
	--font-xl: 24px;
	--font-2xl-sm: 26px;
	--font-2xl: 28px;
	--font-2xl-plus: 29px;
	--font-3xl: 32px;
	--font-5xl: 40px;
	--font-6xl: 48px;
	--font-fluid-title-sm: clamp(22.4px, 4vw, 32px);
	--font-fluid-title-md: clamp(25.6px, 4vw, 35.2px);
	--font-fluid-title-lg: clamp(35.2px, 5vw, 46.4px);
	--font-fluid-hero: clamp(32px, 6vw, 52px);

	--tracking-wide: 0.5px;
	--tracking-caps: 0.05em;

	--container-max: 1140px;

	--gap-xs: 5px;
	--gap-sm: 10px;
	--gap-md: 20px;
	--gap-lg: 30px;

	--ui-surface-card: var(--surface-base-color);
	--ui-border-subtle: var(--border-subtle-color);
	--color-bg-soft: var(--surface-alt-color);
	--color-bg-muted: var(--surface-muted-color);
	--color-border-muted: var(--border-default-color);
	--color-text-strong: hsl(217 32.6% 17.5%);

	--space-micro: 2px;
	--space-nudge: 3.2px;
	--space-2xs: 4px;
	--space-nudge-plus: 4.8px;
	--space-tight: 5px;
	--space-tight-plus: 6px;
	--space-xs: 8px;
	--space-sm-plus: 10px;
	--space-sm-compact: 12px;
	--space-sm-compact-plus: 12.8px;
	--space-field-y: 14px;
	--space-sm: 16px;
	--space-md-compact: 19.2px;
	--space-md: 24px;
	--space-md-plus: 25px;
	--space-lg-compact: 20px;
	--space-lg: 32px;
	--space-xl-compact: 30px;
	--space-2xl-compact: 40px;
	--space-3xl-compact: 50px;
	--space-3xl: 80px;
	--space-section-sm: 60px;
	--space-section-md: 70px;

	--radius-hairline: 2px;
	--radius-badge: 4px;
	--radius-chip: 6px;
	--radius-sm: 8px;
	--radius-control: 10px;
	--radius-field: 12px;
	--radius-md: 16px;
	--radius-surface: 20px;
	--radius-lg: 24px;
	--radius-circle: 50%;
	--radius-pill: 9999px;
	--radius-card: var(--radius-lg);

	--shadow-md: 0 4px 24px var(--shadow-sm);

	--transition-normal: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	--transition-slow: 0.5s cubic-bezier(0.2, 1, 0.3, 1);
	--transition-all-fast: all 0.2s ease;

	--z-base: 1;
	--z-dropdown: 10;
	--z-sticky: 20;
	--z-fixed: 100;
	--z-popover: 2000;
	--z-background-deep: -2;
	--z-background: -1;
	--z-underlay: 0;
	--z-raised: 2;
	--z-drawer: 1002;
	--z-top-fixed: 9999;
	--z-top-critical: 10000;

	/* ----- PATCH 01: 누락 토큰 alias ----- */
	--transition-all-a: var(--transition-all-fast);
	--text-heading: var(--text-display-color);
	--text-base: var(--text-body-color);

	/* ----- GRID_CSS: 그리드 카드 패딩 토큰 ----- */
	--grid-card-pad-desktop: 30px;
	--grid-card-pad-mobile: 20px;
}

/* ============================================
   공통 유틸리티 클래스
   ============================================ */

.u-justify-text,
.u-justify-text p {
	text-align: justify;
	word-break: break-all;
	overflow-wrap: anywhere;
	hyphens: auto;
}

/* ============================================
   기본 초기화
   ============================================ */

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: var(--font-base-plus);
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
}

body {
	font-family: var(--font-stack);
	background-color: var(--brand-bg-warm);
	color: var(--text-body);
	line-height: 1.6;
	min-width: 1200px;
	overflow-x: auto;
}

body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url('../svg/ranking-bg.svg');
	background-repeat: repeat;
	background-size: 3800px;

	opacity: 0.02;
	pointer-events: none;
	z-index: var(--z-background);

}

a {
	text-decoration: none;
	color: inherit;
	transition: all var(--transition-normal);
}

ul {
	list-style: none;
}

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

h1,
h2,
h3,
h4 {
	color: var(--text-display);
	font-weight: 800;
	line-height: 1.1;
}

p {
	font-size: var(--font-md-plus);
	line-height: 1.75;
	color: var(--text-body);

}

.container {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--space-md);
	position: relative;
	z-index: var(--z-sticky);
}

.section {
	padding: 120px 0;
}

/* ============================================
   히어로 섹션
   ============================================ */

/* ----- 히어로 핵심 영역 ----- */
.L-hero {
	position: relative;
	padding: 140px 0 0;
	overflow: visible;
	text-align: center;
	background: transparent;
}

/* ============================================
   히어로 배경 효과
   ============================================ */

.L-hero-bg {
	background: linear-gradient(145deg, hsl(30 100.0% 76.1%) 0%, hsl(30 100.0% 87.8%) 30%, hsl(46 100.0% 87.3%) 60%, hsl(46 100.0% 76.1%) 100%);
	position: absolute;
	top: -180px;
	left: 0;
	right: 0;
	overflow: hidden;
	z-index: var(--z-background-deep);
	height: 950px;

	--zig-height: 32px;
	--zig-width: 64px;
	--svg-teeth: url("../svg/zigzag-mask-down.svg");

	-webkit-mask-image: linear-gradient(#000 0 0), var(--svg-teeth);
	-webkit-mask-position: 0 0, 0 100%;
	-webkit-mask-size: 100% calc(100% - var(--zig-height)), var(--zig-width) var(--zig-height);
	-webkit-mask-repeat: no-repeat, repeat-x;

	mask-image: linear-gradient(#000 0 0), var(--svg-teeth);
	mask-position: 0 0, 0 100%;
	mask-size: 100% calc(100% - var(--zig-height)), var(--zig-width) var(--zig-height);
	mask-repeat: no-repeat, repeat-x;
}

.L-hero-body {
	margin: 0 auto;
	position: relative;
	z-index: var(--z-sticky);
}

.L-hero-inner {
	max-width: 900px;
	margin: 0 auto;
	position: relative;
	z-index: var(--z-sticky);
}

.L-hero-title {
	font-family: var(--font-display);
	font-size: var(--font-fluid-hero);
	background: linear-gradient(180deg, var(--brand-dark) 0%, var(--text-body) 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1.3;
	font-weight: 800;
	margin-bottom: var(--space-md);
}

.L-hero-hl {
	color: var(--brand-accent);
	-webkit-text-fill-color: var(--brand-accent);
}

.L-hero-desc {
	font-size: var(--font-lg);
	color: var(--text-body);
	margin-bottom: var(--space-md);
	line-height: 1.6;
}

.L-hero-desc strong {
	font-weight: 700;
	color: var(--text-display-color);
	position: relative;
	border-bottom: 2px solid var(--shadow-md);
}

.L-hero-actions {
	display: flex;
	gap: var(--gap-md);
	justify-content: center;
	margin-bottom: var(--space-md);
}

.C-button--main {
	color: var(--ui-surface-card);
	padding: var(--space-sm-compact) var(--space-md);
	border-radius: var(--radius-sm);
	font-weight: 500;
	font-size: var(--font-md-plus);
	box-shadow: 0 8px 24px hsl(340 82.2% 51.6% / 0.25);
	background: var(--brand-accent);
	border: 1px solid color-mix(in srgb, var(--brand-accent), black 10%);
}

.C-button--main:hover {
	border-color: color-mix(in srgb, var(--brand-accent), black 20%);
	background: color-mix(in srgb, var(--brand-accent), black 10%);
}

.C-button--sub {
	color: var(--brand-dark);
	padding: var(--space-sm-compact) var(--space-md);
	border-radius: var(--radius-sm);
	font-weight: 500;
	font-size: var(--font-md-plus);
	border: 1px solid var(--shadow-lg);
	background: var(--shadow-xs);
}

.C-button--sub:hover {
	background: transparent;
	border-color: hsl(0 0.0% 0.0% / 0.3);
}

.L-hero-marquee {
	width: 100%;
	overflow: hidden;
	padding: var(--space-tight) 0;
	margin-bottom: var(--space-2xl-compact);
	position: relative;
	white-space: nowrap;
	mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.L-hero-marquee::before,
.L-hero-marquee::after {
	content: "";
	position: absolute;
	top: 0;
	width: 100px;
	height: 100%;
	z-index: var(--z-raised);
	pointer-events: none;
}

.L-hero-marquee-track {
	display: flex;
	gap: var(--gap-sm);
	animation: marquee 30s linear infinite;
	width: max-content;
}

.L-hero-marquee-track span {
	display: inline-block;
	padding: var(--space-micro) var(--space-sm-compact);
	border-radius: var(--radius-chip);
	background: hsl(274 61.4% 11.2% / 0.02);
	border: 1px solid hsl(274 61.4% 11.2% / 0.08);
	color: hsl(274 61.4% 11.2% / 0.8);
	font-size: var(--font-sm);
	font-weight: 400;
	transition: all var(--transition-normal);
}

@keyframes marquee {
	0% {
		transform: translate(0, 0);
	}

	100% {
		transform: translate(-50%, 0);
	}
}

.L-hero-wrap {
	width: 100%;
	margin: 0 auto;
}

.L-hero-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gap-lg);
	max-width: var(--container-max);
	margin: 0 auto;
	position: relative;
	z-index: var(--z-sticky);
	padding: 0 var(--space-md);
}

.C-hero-card {
	overflow: hidden;
	transition: all var(--transition-slow);
	display: flex;
	flex-direction: column;
	background: var(--ui-surface-card);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-md);
}

.C-hero-card:hover {
	transform: translateY(-12px);
	box-shadow: 0 32px 64px -16px var(--shadow-md);
}

.C-hero-card-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: hsl(210 20.0% 98.0%);
	padding: var(--space-md-plus);
}

.C-hero-card-frame {
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 16px -4px var(--border-subtle-color);
	border: 1px solid var(--ui-border-subtle);
	overflow: hidden;
	border-radius: var(--radius-md);
}

.C-hero-card-frame img {
	width: 100%;
	object-fit: contain;
	transition: transform 0.5s ease;
}

.C-hero-card:hover .C-hero-card-frame img {
	transform: scale(1.05);
}

.C-hero-card-divider {
	height: 1px;
	background: var(--shadow-sm);
	width: 100%;
}

.C-hero-card-body {
	padding: var(--space-md-plus);

}

.C-hero-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--space-sm-plus);
	text-align: left;
}

.C-hero-card-title {
	font-size: var(--font-lg);
	font-weight: 700;
	color: var(--footer-bg-color);
}

.C-hero-card-desc {
	font-size: var(--font-base-sm);
	color: var(--footer-mute-color);
	line-height: 1.5;
	margin-bottom: var(--space-md-plus);
}

.C-hero-card-meta {
	display: flex;
	align-items: center;
	gap: var(--gap-xs);
	font-family: var(--font-mono);
	font-size: var(--font-xs-plus);
	font-weight: 700;
	color: var(--footer-mute-color);
	text-transform: uppercase;
}

.L-hero-meta-dot {
	font-weight: bold;
}

#header {
	position: sticky;
	min-width: 1200px;
	height: 0;
	top: 24px;
	left: 0;
	right: 0;
	z-index: var(--z-top-fixed);
	transition: all 0.4s cubic-bezier(0.2, 1, 0.3, 1);
}

.stuck #header {
	top: 12px;
}

.C-nav {
	background: hsl(0 0.0% 100.0% / 0.75);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	padding: var(--space-xs) var(--space-xs) var(--space-xs) var(--space-lg);
	border-radius: var(--radius-pill);
	border: 1px solid hsl(0 0.0% 100.0% / 0.4);
	box-shadow: 0 4px 24px hsl(0 0.0% 0.0% / 0.04);
	display: flex;
	align-items: center;
	position: relative;
	transition: all var(--transition-slow);
}

.stuck .C-nav {
	background: hsl(0 0.0% 100.0% / 0.85);
	border: 1px solid var(--shadow-md);
	box-shadow: 0 10px 40px var(--shadow-sm);
}

.nav-toggle {
	display: none;
}

.C-nav-brand {
	font-weight: 700;
	font-size: var(--font-lg);

	display: flex;
	align-items: center;
	gap: var(--gap-sm);
	color: var(--brand-dark);
	text-transform: uppercase;
}

.C-nav-brand-icon {
	color: var(--brand-yellow);
	font-size: var(--font-xl-sm);
}

.C-nav-links {
	display: flex;
	gap: var(--gap-xs);
	background: var(--shadow-xs);
	padding: var(--space-2xs);
	border-radius: var(--radius-pill);
	margin-left: auto;
	position: relative;
	overflow: visible;
}

.C-nav-links a {
	padding: var(--space-sm-plus) var(--space-md);
	border-radius: var(--radius-pill);
	font-size: var(--font-base-plus);
	font-weight: 500;
	color: var(--text-muted);
	position: relative;
	z-index: var(--z-raised);
	transition: color 0.3s ease;

}

.C-nav-links a.active {
	color: var(--brand-accent);
	font-weight: 700;
}

.C-nav-indicator {
	position: absolute;
	height: calc(100% - 8px);
	top: 4px;
	left: 0;
	background: linear-gradient(180deg, var(--ui-surface-card) 0%, var(--color-bg-soft) 100%);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-pill);
	z-index: var(--z-base);
	transition: all var(--transition-slow);
	pointer-events: none;
	opacity: 0;
}

.C-nav-indicator.visible {
	opacity: 1;
}

.C-nav-toggle {
	display: none;

	width: 48px;
	height: 48px;
	padding: 0;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	background: transparent;
	outline: none;
	transition: var(--transition-all-fast);
}

.hamburger-box {
	width: 24px;
	height: 24px;
	display: inline-block;
	position: relative;
	vertical-align: middle;
}

.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -1.5px;

	width: 24px;
	height: 1px;
	background-color: hsl(220 18.3% 22.5%);
	border-radius: var(--radius-badge);
	position: absolute;
	transition-property: transform;
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger-inner::before,
.hamburger-inner::after {
	width: 24px;
	height: 1px;
	background-color: hsl(220 18.3% 22.5%);
	border-radius: var(--radius-badge);
	position: absolute;
	content: "";
	display: block;
}

.hamburger-inner::before {
	top: -9px;
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.hamburger-inner::after {
	bottom: -9px;
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.C-nav-toggle.active .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.C-nav-toggle.active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.C-nav-toggle.active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.C-nav-close,
.C-nav-overlay {
	display: none;

}

#footer {
	background: var(--bg-footer);

	padding: var(--space-3xl) 0 var(--space-2xl-compact);
	border-top: none;
	z-index: var(--z-sticky);
	color: var(--text-footer-head);

	--zig-h: 32px;
	--zig-w: 64px;

	--svg-up: url("../svg/zigzag-mask-up.svg");

	-webkit-mask-image: var(--svg-up), linear-gradient(var(--color-black) 0 0);
	-webkit-mask-position: 0 0, 0 100%;
	-webkit-mask-size: var(--zig-w) var(--zig-h), 100% calc(100% - var(--zig-h));
	-webkit-mask-repeat: repeat-x, no-repeat;

	mask-image: var(--svg-up), linear-gradient(var(--color-black) 0 0);
	mask-position: 0 0, 0 100%;
	mask-size: var(--zig-w) var(--zig-h), 100% calc(100% - var(--zig-h));
	mask-repeat: repeat-x, no-repeat;
}

.C-footer-grid {
	display: grid;
	grid-template-columns: 3fr 1fr 1fr 1fr;
	gap: var(--gap-lg);
	text-align: left;
}

.C-footer-brand {
	font-weight: 700;
	font-size: var(--font-xl);

	display: inline-flex;
	align-items: center;
	gap: var(--gap-sm);
	color: var(--text-footer-head);
	text-transform: uppercase;
	margin-bottom: var(--space-lg-compact);
}

.C-footer-brand-icon {
	color: var(--brand-yellow);
	font-size: var(--font-2xl-sm);
}

.C-footer-desc {
	opacity: 0.7;
	font-size: var(--font-base-plus);
	line-height: 1.6;

	color: var(--text-footer-body);
}

.C-footer-nav h4.C-footer-title {
	color: var(--text-footer-body);
	margin-bottom: var(--space-lg-compact);
	text-transform: uppercase;
	font-weight: 600;
	font-size: var(--font-sm);
	font-family: var(--font-mono);

}

.C-footer-item {
	margin-bottom: var(--space-sm-plus);
}

.C-footer-item a {
	font-size: var(--font-base-sm);
	font-weight: 400;

	color: var(--text-footer-link);
	transition: color 0.2s ease;
}

.C-footer-item a:hover {
	color: var(--brand-accent);
}

.C-footer-badges {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--gap-lg);
	margin-top: var(--space-2xl-compact);
	padding-top: var(--space-2xl-compact);
	border-top: 1px solid var(--border-footer);
	flex-wrap: wrap;
}

.C-footer-badge {
	display: flex;
	align-items: center;
	gap: var(--gap-sm);
	color: hsl(0 0.0% 100.0% / 0.7);
	font-size: var(--font-sm-plus);
	font-weight: 500;
	transition: all var(--transition-normal);
	cursor: default;
	font-family: var(--font-mono);
}

.C-footer-badge:hover {
	color: var(--ui-surface-card);
	transform: translateY(-2px);
}

.C-footer-badge i,
.badge-19 {
	background-color: var(--brand-yellow);
	color: var(--brand-dark);
	border-radius: var(--radius-circle);
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all var(--transition-normal);
}

.C-footer-badge i {
	font-size: var(--font-base-plus);
}

.badge-19 {
	font-family: var(--font-mono);
	font-weight: 600;
	font-size: var(--font-xs);
	padding-top: 1px;
	border: none;
}

.C-footer-copyright {
	margin-top: var(--space-2xl-compact);
	padding-top: var(--space-2xl-compact);
	border-top: 1px solid var(--border-footer);
	text-align: center;
	font-size: var(--font-sm-plus);
	color: var(--text-footer-mute);
}

.scroll-nav-widget {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-left: 580px;
	right: auto;
	transform: translateY(-50%);
	z-index: var(--z-top-fixed);
	display: flex;
	flex-direction: column;
	gap: var(--gap-sm);
	align-items: center;
	background: hsl(0 0.0% 100.0% / 0.6);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	padding: var(--space-md) var(--space-sm-compact);
	border-radius: var(--radius-pill);

	box-shadow: 0 8px 32px var(--shadow-sm);
	border: 1px solid hsl(0 0.0% 100.0% / 0.4);
}

.scroll-nav-item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	min-height: 24px;
}

.scroll-nav-dot {
	width: 10px;
	height: 10px;
	background-color: hsl(274 61.4% 11.2% / 0.2);
	border-radius: var(--radius-circle);
	transition: all var(--transition-normal);
	position: relative;
	z-index: var(--z-raised);
	border: 2px solid transparent;
}

.scroll-nav-icon {
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: hsl(274 61.4% 11.2% / 0.6);
	transition: all var(--transition-normal);
	border-radius: var(--radius-circle);
	margin-right: 0;
	background-color: var(--border-subtle-color);
}

.scroll-nav-icon i {
	font-size: var(--font-base-sm);
}

.scroll-nav-item:hover .scroll-nav-dot,
.scroll-nav-item.active .scroll-nav-dot {
	transform: scale(1.4);
	background-color: var(--brand-primary);
	transform: scale(1.4);
	background-color: var(--brand-primary);
	box-shadow: 0 0 0 4px var(--glow-accent);

}

.scroll-nav-item:hover .scroll-nav-icon {
	color: var(--brand-primary);
	background-color: hsl(340 82.2% 51.6% / 0.1);
	transform: scale(1.1);
}

.scroll-nav-item.active .scroll-nav-dot {
	background-color: var(--ui-surface-card);
	border-color: var(--brand-primary);
	width: 14px;
	height: 14px;
}

.scroll-nav-label {
	position: absolute;
	right: 32px;
	background: var(--brand-dark);
	color: var(--ui-surface-card);
	padding: var(--space-tight-plus) var(--space-sm-compact);
	border-radius: var(--radius-chip);
	font-size: var(--font-sm);
	font-weight: 600;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-10px);
	transition: all var(--transition-normal);
	pointer-events: none;
	box-shadow: 0 4px 12px var(--shadow-lg);
}

.scroll-nav-label::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -4px;
	transform: translateY(-50%);
	border-width: 4px 0 4px 5px;
	border-style: solid;
	border-color: transparent transparent transparent var(--brand-dark);
}

.scroll-nav-item:hover .scroll-nav-label {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

.mobile-only {
	display: none !important;
}

.scroll-nav-mobile-container {
	position: fixed;
	bottom: 30px;
	right: 24px;
	z-index: var(--z-top-critical);
	display: none;
	flex-direction: column;
	align-items: flex-end;
}

.scroll-nav-mobile-btn {
	width: 56px;
	height: 56px;
	border-radius: var(--radius-circle);
	background: var(--brand-primary);
	color: var(--ui-surface-card);
	border: none;
	box-shadow: 0 4px 16px var(--glow-accent-strong);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all var(--transition-normal);
	font-size: var(--font-xl);
}

.scroll-nav-mobile-btn:active {
	transform: scale(0.95);
}

.scroll-nav-mobile-menu {
	position: absolute;
	bottom: 70px;
	right: 0;
	background: hsl(0 0.0% 100.0% / 0.95);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: var(--radius-md);
	padding: var(--space-xs);
	box-shadow: 0 4px 20px var(--shadow-lg);
	border: 1px solid var(--ui-border-subtle);
	min-width: 180px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px) scale(0.95);
	transform-origin: bottom right;
	transition: all var(--transition-normal);
	display: flex;
	flex-direction: column;
	gap: var(--gap-xs);
}

.scroll-nav-mobile-container.active .scroll-nav-mobile-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

.scroll-nav-mobile-item {
	display: block;
	padding: var(--space-sm-compact) var(--space-sm);
	color: var(--text-body);
	font-weight: 400;
	text-align: right;
	border-radius: var(--radius-sm);
	transition: background 0.2s ease;
	font-size: var(--font-base-sm);
}

.scroll-nav-mobile-item:hover,
.scroll-nav-mobile-item:active {
	background: var(--shadow-xs);
	color: var(--brand-primary);
}

.L-section-header {
	margin: 0 auto var(--space-3xl-compact);
	text-align: center;
}

.L-section-title {
	font-family: var(--font-display);
	font-size: var(--font-fluid-title-lg);
	line-height: 1.4;
	margin-bottom: var(--space-md);
	color: var(--text-display);
}

.L-section-text-gradient {
	background: linear-gradient(180deg, var(--brand-dark) 0%, var(--text-body) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.L-section-focus {
	display: block;
	font-size: var(--font-fluid-title-lg);
	background: linear-gradient(180deg, var(--brand-dark) 0%, var(--text-body) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: var(--space-sm);
	line-height: 1.2;
}

.L-section-sub {
	display: block;
	font-size: var(--font-fluid-title-md);
	font-weight: 600;
	color: var(--text-display-color);
	margin-top: var(--space-2xs);
}

.L-section-desc {
	font-size: var(--font-md-plus);
	line-height: 1.6;
	color: var(--text-muted);
	max-width: 700px;
	margin: 0 auto;
	word-break: keep-all;
}

.L-section-desc strong {
	color: var(--brand-dark);
	font-weight: 600;
}

.L-section-sub-header {
	text-align: center;
	margin-bottom: var(--space-section-sm);
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.L-section-sub-title {
	font-size: var(--font-fluid-title-sm);
	font-weight: 800;
	color: var(--text-display);
	font-family: var(--font-display);
	margin-bottom: var(--space-sm);
}

.L-section-sub-desc {
	font-size: var(--font-md);
	color: var(--text-muted);
	line-height: 1.6;
	word-break: keep-all;
}

.L-section-sub-desc strong {
	color: var(--brand-dark);
	font-weight: 500;
}

.L-section-border {
	position: relative;
	padding: var(--space-section-md) 0;
}

.L-section-border::before {
	content: '';
	position: absolute;
	top: 4px;
	width: 100%;

	border-top: none;
	height: 20px;
	background-image: url("../svg/zigzag-dashed-divider.svg");
	background-repeat: repeat-x;
	background-size: 40px 20px;
	background-position: center;
}

.L-section-border-non {
	position: relative;
	padding: var(--space-section-md) 0;
}

.C-partners {
	margin-top: var(--space-section-md);
}

.C-partners-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-flow: dense;
	grid-auto-rows: 85px;
	gap: var(--gap-xs);
}

.C-partners-item {
	position: relative;
	display: block;
	overflow: hidden;
	box-shadow: 0 2px 5px var(--border-subtle-color);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	background: var(--ui-surface-card);
	transform: translateZ(0);
}

.C-partners-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 15px var(--shadow-md);
	z-index: var(--z-raised);
}

.C-partners-item a {
	display: block;
	width: 100%;
	height: 100%;
}

.C-partners-item img {
	display: block;
	width: 100%;
	height: 100%;
}

.partners-item.partners-span-2 {
	grid-column: span 2;
}

.partners-item.partners-span-4 {
	grid-row: span 2;
	grid-column: span 1;
}

#ranking {
	overflow: hidden;
	border-bottom: 1px solid var(--shadow-xs);
	border-top: 1px solid var(--shadow-xs);
}

.C-card--rank-list {
	display: flex;
	flex-direction: column;
	gap: var(--gap-md);
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	z-index: var(--z-raised);
	padding: 0;
}

.C-card.C-card--rank {
	display: grid;
	grid-template-columns: 80px 200px 1fr 1fr 160px;
	align-items: center;
	background: hsl(0 0.0% 100.0% / 0.8);
	padding: var(--space-md) var(--space-lg);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-md);
	box-shadow: 0 4px 20px var(--shadow-xs);
	transition: all var(--transition-slow);
	gap: var(--gap-lg);
	position: relative;
	overflow: hidden;
}

.C-card.C-card--rank:hover {
	transform: translateY(-5px);
	background: var(--surface-base-color);
	box-shadow: 0 12px 30px var(--shadow-md);
}

.C-card--rank-num {
	font-size: var(--font-xl-sm);
	font-weight: 900;
	color: hsl(215 12.1% 69.2%);
	text-align: center;
	font-style: italic;
	font-family: var(--font-display);
	grid-row: 1 / span 2;
	align-self: center;
}

.C-card--rank-brand {
	display: flex;
	flex-direction: column;
	gap: var(--gap-sm);
	border-right: 1px solid var(--color-bg-muted);
	padding-right: var(--space-lg-compact);
}

.ranking-badge-group {
	display: flex;
	gap: var(--gap-xs);
}

.ranking-badge {
	font-size: var(--font-xs);
	font-family: var(--font-mono);
	font-weight: 500;
	padding: var(--space-micro) var(--space-xs);
	border-radius: var(--radius-badge);
	background: hsl(207 22.4% 90.4%);
	color: var(--color-slate);
}

.ranking-badge.hot {
	background: hsl(340 100.0% 97.1%);
	color: var(--brand-pink);
}

.C-card--rank-name {
	font-size: var(--font-2xl-plus);
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--brand-dark);
	line-height: 1.1;
}

.C-card--rank-bonus {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-left: var(--space-lg-compact);
}

.C-card--rank-bonus-label {
	font-size: var(--font-base-sm);
	font-weight: 400;
	color: var(--color-slate);
	text-transform: uppercase;
}

.C-card--rank-bonus-main {
	font-size: var(--font-lg-plus);
	font-weight: 600;
	color: var(--brand-accent);
	line-height: 1.4;
}

.C-card--rank-bonus-sub {
	font-size: var(--font-base);
	color: var(--color-slate);
	font-weight: 500;
}

.C-card--rank-safety {
	display: flex;
	flex-direction: column;
	padding-left: var(--space-lg-compact);
	border-left: 1px solid var(--color-bg-muted);
}

.ranking-safety-item {
	display: flex;
	align-items: center;
	gap: var(--gap-sm);
	font-size: var(--font-base-sm);
	font-weight: 400;
	color: var(--color-slate);
}

.ranking-safety-item i {
	color: var(--color-slate);
}

.C-card--rank-stars {
	display: flex;
	align-items: center;
	gap: var(--gap-xs);
	margin-top: var(--space-tight);
}

.C-card--rank-stars svg {
	width: 22px;
	height: 22px;
}

.ranking-star-gold {
	fill: hsl(45 100.0% 50.0%);
}

.ranking-star-grey {
	fill: var(--color-border-muted);
}

.ranking-star-half {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
}

.ranking-star-half .star-base {
	fill: var(--color-border-muted);
}

.ranking-star-half .ranking-star-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	overflow: hidden;
}

.ranking-star-half .ranking-star-overlay svg {
	fill: hsl(45 100.0% 50.0%);
	width: 20px;
}

.ranking-score-inline {
	display: block;
	font-size: var(--font-xs);
	font-family: var(--font-mono);
	color: var(--color-slate);
	margin-top: var(--space-tight);
	margin-left: var(--space-tight);
	font-weight: 600;
	line-height: 1;
	opacity: 0.5;
}

.C-card--rank-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap-sm);
	grid-row: 1 / span 2;
	align-self: center;
	justify-content: center;
}

.C-card--rank-desc {
	grid-column: 2 / 5;
	grid-row: 2;
}

.C-card--rank-review {
	font-size: var(--font-base-sm);
	color: hsl(218 11.4% 41.2%);
	background: hsl(206 53.8% 97.5%);
	padding: var(--space-sm-plus) var(--space-field-y);
	border-radius: var(--radius-sm);
	line-height: 1.6;
	display: flex;
	gap: var(--gap-sm);
	align-items: flex-start;
}

.C-card--rank-review i {
	color: var(--brand-accent);
	font-size: var(--font-md-plus);
	padding-top: var(--space-2xs);
	flex-shrink: 0;
}

.C-card--rank-btn {
	color: var(--ui-surface-card);
	padding: var(--space-sm-compact) var(--space-md);
	border-radius: var(--radius-sm);
	font-weight: 500;
	font-size: var(--font-md-plus);
	box-shadow: 0 8px 24px hsl(340 82.2% 51.6% / 0.25);
	background: var(--brand-accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.5s cubic-bezier(0.2, 1, 0.3, 1);
	text-decoration: none !important;
	gap: var(--gap-xs);
}

.C-card--rank-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px var(--glow-accent-strong);
}

.ranking-footer-notice {
	display: flex;
	align-items: center;
	margin-top: var(--space-lg-compact);
	padding: var(--space-md) var(--space-lg);
	background: var(--ui-surface-card);
	box-shadow: 0 4px 20px var(--shadow-xs);
	gap: var(--gap-xs);
	color: hsl(120 4.1% 33.5%);
	transition: all var(--transition-normal);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-md);
	font-size: var(--font-base);
}

.ranking-footer-notice:hover {
	transform: translateY(-3px);
	background: var(--surface-base-color);
	box-shadow: 0 12px 30px hsl(222 47.4% 11.2% / 0.08);
}

.ranking-footer-notice i {
	color: var(--brand-accent);
	font-size: var(--font-lg);
}

.ranking-footer-notice .update-date {
	margin-left: auto;
	font-family: var(--font-mono);
	font-size: var(--font-sm-plus);
}

.C-card--rank-empty {
	text-align: center;
	padding: var(--space-lg-compact);
	color: var(--text-muted);
}

.link-underline {
	font-weight: 700;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--accent-star);
	padding-bottom: var(--space-micro);
	transition: var(--transition-all-fast);
}

.link-underline:hover {
	color: var(--brand-primary);
	border-bottom-color: var(--brand-primary);
}

.grid-list-row-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-lg);
	margin-bottom: var(--space-section-sm);
}

.grid-list-row-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gap-lg);
	margin-bottom: var(--space-section-sm);
}

.grid-list-last {
	margin-bottom: 0;
}

.card-type-4-badge {
	display: inline-block;
	background: var(--ui-surface-card);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-pill);
	padding: var(--space-tight-plus) var(--space-sm-compact);
	font-size: var(--font-sm-plus);
	font-weight: 600;
	transition: all var(--transition-normal);
}

/* ============================================
   카드 타입 1
   ============================================ */

/* ----- 카드 타입 공통 시작 ----- */
.C-card.C-card--v1 {
	background: var(--ui-surface-card);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-card);
	padding: var(--grid-card-pad-desktop);
	transition: all var(--transition-slow);
	display: flex;
	align-items: flex-start;
	gap: var(--gap-lg);
	text-align: left;
	height: 100%;
	box-shadow: none;
}

.C-card.C-card--v1:hover {
	transform: translateY(-10px);
	box-shadow: 0 32px 64px -16px var(--shadow-md);
}

.C-card-icon {
	width: 50px;
	height: 50px;
	border-radius: var(--radius-pill);
	background: hsl(0 0.0% 99.6%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-body);
	font-size: var(--font-xl);
	flex-shrink: 0;
	box-shadow: 0 4px 10px hsl(0 0.0% 31.4% / 0.1);
	transition: all var(--transition-normal);
	border: 1px solid var(--ui-border-subtle);
}

.C-card-icon i {
	transition: transform 0.5s cubic-bezier(0.2, 1, 0.3, 1);
}

.C-card.C-card--v1:hover .C-card-icon {
	background: var(--brand-accent);
	color: var(--ui-surface-card);
	transform: scale(1.2);
	box-shadow: 0 10px 20px hsl(0 0.0% 31.4% / 0.3);
}

.C-card.C-card--v1:hover .C-card-icon i {
	transform: rotate(30deg);
}

.C-card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--gap-sm);
}

.C-card-title {
	font-size: var(--font-lg);
	font-weight: 600;
	color: var(--text-display);
	margin: 0;
}

.C-card-text {
	font-size: var(--font-base);
	color: var(--footer-mute-color);
	margin: 0;
	line-height: 1.6;
}

.C-card-text strong {
	color: var(--brand-dark);
	font-weight: 400;
	background: transparent;
	padding: 0;
}

/* ============================================
   카드 타입 2
   ============================================ */

.C-card.C-card--v2 {
	background: var(--ui-surface-card);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-card);
	padding: var(--grid-card-pad-desktop);
	transition: all var(--transition-slow);
	height: 100%;
	position: relative;
	box-shadow: none;

}

.C-card.C-card--v2:hover {
	transform: translateY(-10px);
	box-shadow: 0 32px 64px -16px var(--shadow-md);
}

.C-card.C-card--v2:hover .C-card--v2-avatar img {
	transform: scale(1.1);
}

.C-card--v2-top-icon {
	position: absolute;
	top: 32px;
	right: 40px;
	font-size: var(--font-3xl);
	opacity: 0.25;
	transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);

	transform-origin: center center;
}

.C-card.C-card--v2:hover .C-card--v2-top-icon {
	opacity: 1;
	color: var(--brand-primary);
}

.C-card--v2-header {
	display: flex;
	align-items: center;
	gap: var(--gap-md);
	margin-bottom: var(--space-sm-compact);
}

.C-card--v2-avatar {
	width: 100px;
	height: 100px;
	background: var(--footer-head-color);

	border-radius: var(--radius-pill);
	border: 1px solid var(--ui-border-subtle);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;

}

.C-card--v2-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.C-card--v2-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.C-card--v2-info h4 {
	font-size: var(--font-lg-sm);
	margin: 0 0 var(--space-micro) 0;
	color: var(--text-display);
	font-weight: 700;
}

.C-card--v2-info .role {
	font-size: var(--font-base-sm);
	color: var(--brand-primary);
	font-weight: 500;
	margin: 0 0 var(--space-micro) 0;
}

.C-card--v2-info .meta-item {
	font-size: var(--font-sm);
	color: var(--text-muted);
	margin: 0 0 var(--space-micro) 0;
	display: flex;
	align-items: center;
	gap: var(--gap-xs);
}

.C-card--v2-info .meta-item i {
	color: var(--footer-body-color);
	font-size: var(--font-base-sm);
}

.C-card--v2-info .email {
	font-family: var(--font-mono);
}

.C-card--v2-body {
	margin-top: var(--space-md);
	font-size: var(--font-base-sm);
	line-height: 1.6;
	color: var(--text-body);
	background: hsl(0 0.0% 98.0%);
	padding: var(--space-lg-compact);
	border-radius: var(--radius-card);
	border: 1px solid var(--ui-border-subtle);
	position: relative;
}

/* ============================================
   카드 타입 3
   ============================================ */

.C-card.C-card--v3 {
	background: var(--ui-surface-card);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-card);
	padding: var(--grid-card-pad-desktop);
	transition: all var(--transition-slow);
	display: flex;
	gap: var(--gap-lg);
	align-items: flex-start;
	position: relative;
	overflow: hidden;
	box-shadow: none;
}

.C-card.C-card--v3:hover {
	transform: translateY(-10px);
	box-shadow: 0 32px 64px -16px var(--shadow-md);
}

.C-card--v3-icon {
	width: 60px;
	height: 60px;
	background: hsl(0 0.0% 96.1%);
	border-radius: var(--radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--brand-primary);
	font-size: var(--font-2xl);
	transition: all var(--transition-normal);
	border: 1px solid var(--ui-border-subtle);
}

.C-card.C-card--v3:hover .C-card--v3-icon {
	background: var(--brand-primary);
	color: var(--ui-surface-card);
	transform: rotate(-10deg) scale(1.1);
	box-shadow: 0 4px 12px hsl(340 82.2% 51.6% / 0.3);
}

.C-card--v3-content {
	flex: 1;
}

.C-card--v3-step-badge {
	display: block;
	margin-bottom: var(--space-2xs);
	font-weight: 700;
	font-size: var(--font-sm);
	font-family: var(--font-mono);
	color: var(--brand-primary);
}

.C-card--v3-title {
	font-size: var(--font-lg);
	font-weight: 700;
	color: var(--text-display);
	margin-bottom: var(--space-xs);
}

.C-card--v3-text {
	font-size: var(--font-base);
	line-height: 1.6;
	color: var(--text-body);
}

.C-card--v3-list {
	list-style: none;
	padding: 0;
	margin: 0;
	background: var(--color-bg-soft);
	border-radius: var(--radius-field);
	padding: var(--space-sm);
	border: 1px solid var(--ui-border-subtle);
}

.C-card--v3-list li {
	font-size: var(--font-base-sm);
	color: var(--text-muted);
	margin-bottom: var(--space-xs);
	padding-left: 0;
	position: relative;
	display: flex;
	gap: var(--gap-sm);
}

.C-card--v3-list li:last-child {
	margin-bottom: 0;
}

.C-card--v3-list li::before {
	content: "•";
	color: var(--brand-primary);
	font-weight: bold;
}

/* ============================================
   카드 타입 4
   ============================================ */

.C-card.C-card--v4 {
	display: flex;
	flex-direction: column;

	gap: var(--gap-lg);
	padding: var(--space-2xl-compact);
	background: var(--ui-surface-card);
	border: 1px solid var(--ui-border-subtle);

	border-radius: var(--radius-card);
	position: relative;
	overflow: hidden;
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	box-shadow: 0 4px 6px -1px var(--shadow-xs);
}

.C-card.C-card--v4:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 32px var(--shadow-md);
	border-color: var(--glow-accent);

}

.C-card.C-card--v4.C-card--v4-short {
	padding: var(--space-xl-compact);
}

.C-card--v4-top {
	display: flex;
	flex-direction: row;
	gap: var(--gap-lg);
	align-items: flex-start;
}

.C-card--v4-icon {
	width: 56px;
	height: 56px;
	background: linear-gradient(135deg, var(--ui-surface-card) 0%, var(--color-bg-soft) 100%);
	border-radius: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--brand-primary);
	font-size: var(--font-2xl-sm);
	border: 1px solid var(--color-border-muted);
	box-shadow: 0 4px 15px var(--shadow-xs);
	transition: all 0.4s ease;
}

.C-card.C-card--v4:hover .C-card--v4-icon {
	color: var(--ui-surface-card);
	transform: scale(1.05) rotate(-5deg);
	box-shadow: 0 10px 25px var(--shadow-md);
}

.C-card--v4-content {
	flex: 1;
}

.C-card--v4-title {
	font-size: var(--font-xl-sm);
	font-weight: 700;
	color: var(--text-display);
	margin-bottom: var(--space-xs);
}

.C-card--v4-text {
	font-size: var(--font-base);
	line-height: 1.6;
	color: var(--text-body);
	font-weight: 400;
	margin: 0;
}

.C-card--v4-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-md);
	width: 100%;
}

.C-card--v4-list li {
	display: flex;
	flex-direction: column;

	align-items: flex-start;
	justify-content: flex-start;
	background: var(--color-bg-soft);
	border: 1px solid var(--color-border-muted);
	border-radius: var(--radius-field);
	padding: var(--space-sm);
	text-align: left;
	transition: all var(--transition-normal);
	gap: var(--gap-sm);
}

.C-card--v4-list li::before,
.C-card--v4-list li::after {
	display: none;

}

.C-card--v4-step-header {
	display: flex;
	align-items: center;
	gap: var(--gap-sm);
	width: 100%;
}

.C-card--v4-step-badge {
	font-size: var(--font-xs-plus);
	font-weight: 800;
	color: var(--color-slate-muted);
	background: var(--ui-surface-card);
	padding: var(--space-micro) var(--space-tight-plus);
	border-radius: var(--radius-chip);
	border: 1px solid var(--color-bg-muted);
	transition: all var(--transition-normal);
}

.C-card--v4-step-title {
	font-size: var(--font-base-sm);
	font-weight: 700;
	color: var(--text-display);
}

.C-card--v4-step-desc {
	font-size: var(--font-sm-plus);
	color: var(--text-muted);
	line-height: 1.4;
	margin: 0;
}

.C-card.C-card--v4[class*="focus-"] .C-card--v4-list li:hover {
	background: var(--focus-bg);
	border-color: var(--focus-color);
	transform: translateY(-2px);
}

.C-card.C-card--v4[class*="focus-"] .C-card--v4-list li:hover .C-card--v4-step-badge {
	background: var(--focus-color);
	color: var(--ui-surface-card);
	border-color: var(--focus-color);
}

.C-card.C-card--v4[class*="focus-"] .C-card--v4-list li:hover .C-card--v4-step-title {
	color: var(--focus-color);
}

.C-card.C-card--v4[class*="focus-"] .C-card--v4-list li:hover .C-card--v4-step-desc {
	color: var(--text-body);
}

.C-card.C-card--v4.focus-red {
	--focus-color: var(--accent-danger);
	--focus-bg: var(--surface-danger);
	--focus-shadow: hsl(0 84.2% 60.2% / 0.25);
}

.C-card.C-card--v4.focus-blue {
	--focus-color: var(--accent-primary);
	--focus-bg: var(--surface-accent);
	--focus-shadow: hsl(217 91.2% 59.8% / 0.25);
}

.C-card.C-card--v4.focus-green {
	--focus-color: var(--accent-success);
	--focus-bg: var(--surface-success);
	--focus-shadow: hsl(160 84.1% 39.4% / 0.25);
}

.C-card.C-card--v4.focus-purple {
	--focus-color: var(--accent-purple);
	--focus-bg: hsl(250 100.0% 97.6%);
	--focus-shadow: hsl(258 89.5% 66.3% / 0.25);
}

.email-full {
	display: inline;
}

.email-short {
	display: none;
}

.C-card.C-card--v4.focus-orange {
	--focus-color: hsl(25 95.0% 53.1%);
	--focus-bg: hsl(33 100.0% 96.5%);
	--focus-shadow: hsl(25 95.0% 53.1% / 0.25);
}

.C-card.C-card--v4.focus-cyan {
	--focus-color: var(--accent-info);
	--focus-bg: hsl(183 100.0% 96.3%);
	--focus-shadow: hsl(189 94.5% 42.7% / 0.25);
}

.C-card.C-card--v4[class*="focus-"] .C-card--v4-icon {
	color: var(--focus-color);
	background: linear-gradient(135deg, var(--ui-surface-card) 0%, var(--focus-bg) 100%);
}

.C-card.C-card--v4[class*="focus-"]:hover {
	border-color: var(--focus-shadow);

}

.C-card.C-card--v4[class*="focus-"]:hover .C-card--v4-icon {
	background: var(--focus-color);
	color: var(--ui-surface-card);
	border-color: var(--focus-color);
	box-shadow: 0 10px 25px var(--focus-shadow);
}

.C-card.C-card--v4[class*="focus-"]:hover .C-card--v4-list li::after {
	border-color: var(--focus-color);
}

.C-card.C-card--v4[class*="focus-"] .C-card--v4-list li:hover::after {
	background: var(--focus-color);
	border-color: var(--focus-color);
}

.C-card.C-card--v5 {
	background: var(--ui-surface-card);
	border-radius: 32px;
	box-shadow: 0 10px 40px -10px var(--border-subtle-color);
	overflow: hidden;
	transition: all 0.4s cubic-bezier(0.2, 1, 0.3, 1);
	border: 1px solid var(--ui-border-subtle);
	display: flex;
	flex-direction: column;
	height: 100%;
}

.C-card.C-card--v5:hover {
	transform: translateY(-10px);
	box-shadow: 0 30px 60px -15px var(--shadow-md);
	border-color: var(--brand-primary);
}

.C-card--v5-media {
	width: 100%;
	aspect-ratio: 16 / 9;
	background: var(--color-bg-muted);
	position: relative;
	overflow: hidden;
}

.C-card--v5-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.2, 1, 0.3, 1);
	display: block;
}

.C-card.C-card--v5:hover .C-card--v5-media img {
	transform: scale(1.1);
}

.C-card--v5-content {
	padding: var(--space-xl-compact);
	text-align: left;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.C-card--v5-title {
	font-size: var(--font-lg);
	font-weight: 600;
	color: var(--brand-dark);
	margin-bottom: var(--space-lg-compact);
	transition: all var(--transition-normal);
}

.C-card.C-card--v5:hover .C-card--v5-title {
	color: var(--brand-primary);
}

.C-card--v5-desc {
	font-size: var(--font-base-plus);
	color: var(--text-muted);
	line-height: 1.6;
	margin-bottom: var(--space-lg-compact);
	flex-grow: 1;
}

.C-card--v5-desc strong {
	color: var(--brand-dark);
	font-weight: 500;
}

.C-card--v5-meta {
	border-top: 1px solid var(--border-subtle-color);
	padding-top: var(--space-md);
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: var(--gap-xs);
	font-family: var(--font-mono);
	font-size: var(--font-xs-plus);
	font-weight: 700;
	color: var(--footer-mute-color);
	text-transform: uppercase;
}

.C-card--v5-meta span:last-child {
	color: var(--brand-dark);
}

.intro-section .card-type-1:nth-child(1) .card-type-1-icon,
.intro-section .C-card.C-card--v1:nth-child(1) .C-card-icon {
	color: hsl(0 100.0% 50.0%);
}

.intro-section .card-type-1:nth-child(1):hover .card-type-1-icon,
.intro-section .C-card.C-card--v1:nth-child(1):hover .C-card-icon {
	background: hsl(0 100.0% 50.0%);
	color: var(--ui-surface-card);
}

.intro-section .card-type-1:nth-child(2) .card-type-1-icon,
.intro-section .C-card.C-card--v1:nth-child(2) .C-card-icon {
	color: hsl(145 100.0% 39.2%);
}

.intro-section .card-type-1:nth-child(2):hover .card-type-1-icon,
.intro-section .C-card.C-card--v1:nth-child(2):hover .C-card-icon {
	background: hsl(145 100.0% 39.2%);
	color: var(--ui-surface-card);
}

.intro-section .card-type-1:nth-child(3) .card-type-1-icon,
.intro-section .C-card.C-card--v1:nth-child(3) .C-card-icon {
	color: hsl(224 100.0% 58.0%);
}

.intro-section .card-type-1:nth-child(3):hover .card-type-1-icon,
.intro-section .C-card.C-card--v1:nth-child(3):hover .C-card-icon {
	background: hsl(224 100.0% 58.0%);
	color: var(--ui-surface-card);
}

.intro-section .card-type-1:nth-child(4) .card-type-1-icon,
.intro-section .C-card.C-card--v1:nth-child(4) .C-card-icon {
	color: hsl(280 100.0% 50.0%);
}

.intro-section .card-type-1:nth-child(4):hover .card-type-1-icon,
.intro-section .C-card.C-card--v1:nth-child(4):hover .C-card-icon {
	background: hsl(280 100.0% 50.0%);
	color: var(--ui-surface-card);
}

.C-intro-brand {
	text-align: center;
}

.C-intro-brand h3 {
	font-size: var(--font-base);
	font-weight: 400;
	color: var(--text-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: var(--space-sm-plus);
}

.C-intro-brand h3 span {
	color: var(--brand-dark);
}

.C-intro-brand-logos {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	justify-content: center;
	align-items: center;
	gap: var(--gap-md);
	padding: var(--space-sm-plus) 0;
	margin: 0;
	list-style: none;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.C-intro-brand-logos::-webkit-scrollbar {
	display: none;
}

.C-intro-brand-logos li {
	display: inline-flex;
	cursor: pointer;
}

.C-intro-brand-logos i {
	font-size: var(--font-lg);
	opacity: 0.3;
	transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.C-intro-brand-logos li:hover i {
	opacity: 1;
	transform: scale(1.2);
}

.strategy-category-block {
	background: var(--ui-surface-card);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-lg);
	padding: var(--space-2xl-compact);
	box-shadow: 0 4px 20px var(--shadow-xs);
	margin-bottom: var(--space-2xl-compact);
	transition: all var(--transition-normal);
}

.strategy-category-block:hover {
	box-shadow: 0 20px 40px -5px var(--shadow-sm);
	transform: translateY(-5px);
}

.strategy-category-block:last-child {
	margin-bottom: 0;
}

.C-card--strategy-cat-header {
	display: flex;
	align-items: flex-start;
	gap: var(--gap-md);
	margin-bottom: var(--space-xl-compact);
	padding-bottom: var(--space-lg-compact);
	border-bottom: 1px solid var(--border-subtle-color);
}

.C-card--strategy-cat-icon {
	width: 56px;
	height: 56px;
	background: var(--brand-bg-warm);
	border-radius: var(--radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--brand-accent);
	font-size: var(--font-2xl);
	flex-shrink: 0;
}

.C-card--strategy-cat-text h3 {
	font-size: var(--font-2xl-sm);
	font-weight: 700;
	margin: 0 0 var(--space-tight-plus) 0;
	color: var(--text-display);
}

.C-card--strategy-cat-text p {
	margin: 0;
	color: var(--text-muted);
	font-size: var(--font-base);
}

.C-card--strategy-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-lg);
}

.C-card.C-card--strategy {
	background: var(--color-bg-soft);
	border: 1px solid var(--color-border-muted);
	border-radius: var(--radius-md);
	padding: var(--grid-card-pad-desktop);
	transition: all var(--transition-slow);
	display: flex;
	flex-direction: column;
	gap: var(--gap-md);
	box-shadow: none;
}

.C-card.C-card--strategy:hover {
	background: var(--ui-surface-card);
	transform: translateY(-10px);
	box-shadow: 0 32px 64px -16px var(--shadow-md);
}

.C-card--strategy-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.C-badge--strategy {
	font-size: var(--font-xs);
	font-weight: 800;
	color: var(--brand-primary);
	background: var(--ui-surface-card);
	padding: var(--space-2xs) var(--space-sm-plus);
	border-radius: var(--radius-surface);
	letter-spacing: var(--tracking-caps);
	border: 1px solid var(--ui-border-subtle);
}

.C-card--strategy-icon {
	font-size: var(--font-lg);
	color: var(--color-slate-muted);
	transition: all var(--transition-normal);
}

.strategy-card:hover .strategy-icon,
.C-card.C-card--strategy:hover .strategy-icon,
.C-card.C-card--strategy:hover .C-card--strategy-icon {
	color: var(--brand-primary);
	transform: scale(1.1);
}

.C-card--strategy-title {
	font-size: var(--font-md-plus);
	font-weight: 700;
	color: var(--text-display);
	margin: 0;
	line-height: 1.4;
}

.C-card--strategy-desc {
	font-size: var(--font-base-plus);
	color: var(--text-body);
	line-height: 1.6;
	margin: 0;
	flex-grow: 1;
}

.C-card--strategy-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

.C-card--strategy-link:hover {
	color: var(--brand-accent);
	text-decoration: underline;
}

.strategy-theme-red {
	--strategy-color: var(--accent-danger);
	--strategy-bg: var(--surface-danger);
}

.strategy-theme-blue {
	--strategy-color: var(--accent-primary);
	--strategy-bg: var(--surface-accent);
}

.strategy-theme-green {
	--strategy-color: var(--accent-success);
	--strategy-bg: var(--surface-success);
}

.strategy-theme-purple {
	--strategy-color: var(--accent-purple);
	--strategy-bg: hsl(250 100.0% 97.6%);
}

.strategy-category-block[class*="strategy-theme-"] .strategy-cat-icon {
	background: var(--strategy-bg);
	color: var(--strategy-color);
}

.strategy-category-block[class*="strategy-theme-"] .strategy-card:hover {
	border-color: var(--strategy-color);
}

.strategy-category-block[class*="strategy-theme-"] .strategy-card:hover .strategy-icon {
	color: var(--strategy-color);
}

.strategy-category-block[class*="strategy-theme-"] .strategy-badge {
	color: var(--strategy-color);
	background: var(--strategy-bg);
}

.strategy-category-block[class*="strategy-theme-"] .strategy-card-link:hover {
	color: var(--strategy-color);
}

.C-card--trend-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-lg);
	align-items: stretch;
	list-style: none;
	padding: 0;
	margin-top: var(--space-3xl-compact);
}

.C-card.C-card--trend {
	padding: var(--grid-card-pad-desktop);
	text-align: left;
	display: flex;
	gap: var(--gap-md);
	align-items: flex-start;
	height: 100%;
	background: var(--ui-surface-card);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-surface);
	transition: all var(--transition-slow);
	box-shadow: none;
}

.C-card.C-card--trend:hover {
	transform: translateY(-10px);
	background: var(--ui-surface-card);
	box-shadow: 0 32px 64px -16px var(--shadow-md);
}

.C-card--trend-icon {
	width: 60px;
	height: 60px;
	border-radius: var(--radius-circle);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--font-2xl-plus);
	flex-shrink: 0;
	margin-bottom: 0;
	transition: all var(--transition-normal);
}

.trend-report-card:hover .trend-report-icon,
.C-card.C-card--trend:hover .C-card--trend-icon {
	transform: scale(1.1) rotate(5deg);
}

.trend-report-card:nth-child(1) .trend-report-icon {
	background: hsl(226 100.0% 96.7%);
	color: hsl(243 75.4% 58.6%);
}

.trend-report-card:nth-child(2) .trend-report-icon {
	background: var(--surface-success);
	color: hsl(161 93.5% 30.4%);
}

.trend-report-card:nth-child(3) .trend-report-icon {
	background: hsl(48 100.0% 96.1%);
	color: var(--accent-warning);
}

.trend-report-card:nth-child(4) .trend-report-icon {
	background: var(--surface-accent);
	color: var(--accent-primary-deep);
}

.trend-report-card:nth-child(5) .trend-report-icon {
	background: hsl(327 73.3% 97.1%);
	color: var(--accent-pink);
}

.trend-report-card:nth-child(6) .trend-report-icon {
	background: hsl(250 100.0% 97.6%);
	color: var(--accent-purple);
}

.trend-report-card:nth-child(7) .trend-report-icon {
	background: hsl(204 100.0% 97.1%);
	color: hsl(199 88.7% 48.4%);
}

.trend-report-card:nth-child(8) .trend-report-icon {
	background: var(--surface-danger);
	color: var(--accent-danger);
}

.trend-report-card:nth-child(1):hover .trend-report-icon {
	background: hsl(243 75.4% 58.6%);
	color: var(--ui-surface-card);
}

.trend-report-card:nth-child(2):hover .trend-report-icon {
	background: hsl(161 93.5% 30.4%);
	color: var(--ui-surface-card);
}

.trend-report-card:nth-child(3):hover .trend-report-icon {
	background: var(--accent-warning);
	color: var(--ui-surface-card);
}

.trend-report-card:nth-child(4):hover .trend-report-icon {
	background: var(--accent-primary-deep);
	color: var(--ui-surface-card);
}

.trend-report-card:nth-child(5):hover .trend-report-icon {
	background: var(--accent-pink);
	color: var(--ui-surface-card);
}

.trend-report-card:nth-child(6):hover .trend-report-icon {
	background: var(--accent-purple);
	color: var(--ui-surface-card);
}

.trend-report-card:nth-child(7):hover .trend-report-icon {
	background: hsl(199 88.7% 48.4%);
	color: var(--ui-surface-card);
}

.trend-report-card:nth-child(8):hover .trend-report-icon {
	background: var(--accent-danger);
	color: var(--ui-surface-card);
}

.C-card--trend-info {
	flex: 1;
}

.C-card--trend-info h4 {
	font-size: var(--font-lg);
	font-weight: 700;
	margin-bottom: var(--space-sm-compact);
	color: var(--color-text-strong);
}

.C-card--trend-info p {
	font-size: var(--font-base-plus);
	color: var(--text-body);
	line-height: 1.6;
	margin-bottom: var(--space-sm);
}

.C-card--trend-info p strong {
	color: var(--brand-dark);
	font-weight: 400;
}

.C-card--trend-tags {
	display: flex;
	gap: var(--gap-sm);
	flex-wrap: wrap;
}

.C-card--trend-tag {
	font-size: var(--font-sm-plus);
	color: var(--text-muted);
	background: var(--color-bg-muted);
	padding: var(--space-2xs) var(--space-sm-plus);
	border-radius: var(--radius-chip);
	font-weight: 500;
}

.C-caution-notice {
	background: var(--ui-surface-card);
	border: 1px solid var(--color-bg-muted);
	border-radius: var(--radius-card);
	padding: var(--space-2xl-compact) var(--space-xl-compact);
	margin-top: var(--space-xl-compact);
	display: flex;
	flex-direction: column;
	gap: var(--gap-lg);
	align-items: center;
	text-align: center;
	position: relative;
	overflow: hidden;
	box-shadow: 0 20px 40px -10px var(--shadow-xs);
	transition: all 0.4s ease;
}

.C-caution-bar {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 4px;
	background: linear-gradient(90deg, var(--accent-danger), hsl(0 90.6% 70.8%));
	border-radius: 0 0 var(--radius-badge) var(--radius-badge);
	z-index: var(--z-raised);
}

.C-caution-notice::before {
	content: '';
	position: absolute;
	top: -150px;
	right: -150px;
	width: 300px;
	height: 300px;
	background: linear-gradient(135deg, var(--surface-danger) 0%, var(--surface-danger) 100%);

	border-radius: var(--radius-circle);
	z-index: var(--z-underlay);
	opacity: 0.6;
	transition: transform 0.4s ease;
}

.C-caution-notice::after {
	content: '';
	position: absolute;
	bottom: -150px;
	left: -150px;
	width: 300px;
	height: 300px;
	background: linear-gradient(135deg, var(--surface-danger) 0%, var(--surface-danger) 100%);
	border-radius: var(--radius-circle);
	z-index: var(--z-underlay);
	opacity: 0.6;
	transition: transform 0.4s ease;
}

.C-caution-notice:hover::before {
	transform: scale(1.5);
}

.C-caution-notice:hover::after {
	transform: scale(1.5);
}

.C-caution-notice:hover {
	transform: translateY(-5px);
	box-shadow: 0 30px 60px -15px var(--overlay-danger);
	border-color: hsl(0 93.3% 94.1%);
}

.C-caution-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap-md);
	font-size: var(--font-xl);
	font-weight: 800;
	color: var(--color-text-strong);

	margin: 0;
	position: relative;
	z-index: var(--z-base);
}

.C-caution-title i {
	font-size: 56px;
	color: var(--accent-danger);
	background: var(--surface-danger);
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-circle);
	margin-bottom: var(--space-2xs);
	box-shadow: 0 10px 20px -5px hsl(0 84.2% 60.2% / 0.15);
}

.C-caution-desc {
	font-size: var(--font-base-plus);
	color: var(--text-body);
	line-height: 1.8;
	margin: 0;
	text-align: center;
	word-break: break-all;
	overflow-wrap: anywhere;
	font-weight: 400;
	position: relative;
	z-index: var(--z-base);
}

.C-caution-desc br {
	display: block;
}

.C-caution-btn-group {
	display: flex;
	gap: var(--gap-sm);
	flex-wrap: wrap;
	position: relative;
	z-index: var(--z-base);
	justify-content: center;
}

.C-caution-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--gap-xs);
	padding: var(--space-lg-compact) var(--space-xl-compact);
	background: var(--accent-danger-text);

	border: 1px solid var(--accent-danger-text);
	border-radius: var(--radius-control);
	font-size: var(--font-base);
	font-weight: 700;
	color: var(--ui-surface-card);
	transition: var(--transition-all-fast);
	text-decoration: none;
	box-shadow: 0 4px 6px hsl(347 77.2% 49.8% / 0.2);
}

.C-caution-btn i {
	font-size: var(--font-lg-sm);
	color: hsl(356 100.0% 94.7%);

}

.C-caution-btn:hover {
	background: var(--accent-danger-deep);

	border-color: var(--accent-danger-deep);
	transform: translateY(-2px);
	box-shadow: 0 8px 12px hsl(347 77.2% 49.8% / 0.3);
	color: var(--ui-surface-card);
}

.C-caution-btn:hover i {
	color: var(--ui-surface-card);
}

.C-faq-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-lg);
	list-style: none;
	padding: 0;
	margin: 0;
}

/* ============================================
   자주 묻는 질문
   ============================================ */

/* ----- 자주 묻는 질문 카드 ----- */
.C-faq-item {
	background: var(--ui-surface-card);
	border: 1px solid var(--ui-border-subtle);
	border-radius: var(--radius-card);
	box-shadow: none;
	padding: var(--grid-card-pad-desktop);
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--gap-lg);
	position: relative;
	transition: all var(--transition-slow);
	overflow: hidden;
}

.C-faq-item:hover {
	transform: translateY(-10px);
	box-shadow: 0 32px 64px -16px var(--shadow-md);
}

.faq-card-item:hover .faq-icon-q,
.C-faq-item:hover .C-faq-icon {
	transform: rotate(10deg) scale(1.05);
	opacity: 1;
}

.C-faq-item::before {
	content: '';
	position: absolute;
	top: -50px;
	right: -50px;
	width: 120px;
	height: 120px;
	background: linear-gradient(135deg, hsl(256 100.0% 97.8%) 0%, hsl(256 100.0% 97.8%) 100%);
	border-radius: var(--radius-circle);
	z-index: var(--z-underlay);
	opacity: 0.6;
	transition: transform 0.4s ease;
}

.C-faq-item:hover::before {
	transform: scale(2.5);
}

.C-faq-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	background-color: hsl(256 100.0% 72.0%);
	color: var(--ui-surface-card);
	font-size: var(--font-xl-sm);
	font-weight: 900;
	border-radius: var(--radius-circle);
	box-shadow: 0 4px 12px hsl(256 100.0% 72.0% / 0.3);
	flex-shrink: 0;
	z-index: var(--z-base);
	opacity: 0.5;
	transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.C-faq-content {
	flex-grow: 1;
	z-index: var(--z-base);
	display: flex;
	flex-direction: column;
}

.C-faq-question {
	font-size: var(--font-md-plus);
	font-weight: 700;
	margin: 0 0 var(--space-sm-plus) 0;
	color: hsl(220 25.7% 13.7%);
	line-height: 1.4;
	word-break: keep-all;
}

.C-faq-answer {
	font-size: var(--font-base-plus);
	color: hsl(218 16.9% 34.9%);
	line-height: 1.65;
	font-weight: 500;
	margin-left: 0;
}

.C-card--conclusion-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gap-lg);
	align-items: stretch;
}

.C-card.C-card--conclusion {
	background-color: var(--ui-surface-card);
	border: 1px solid hsl(220 16.7% 92.9%);
	border-radius: var(--radius-lg);
	padding: var(--grid-card-pad-desktop);
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	transition: all var(--transition-slow);
	position: relative;
	overflow: hidden;
	box-shadow: none;
}

.C-card.C-card--conclusion:hover {
	transform: translateY(-10px);
	box-shadow: 0 32px 64px -16px var(--shadow-md);
}

.C-card--conclusion-profile {
	display: flex;
	align-items: center;
	gap: var(--gap-md);
	margin-bottom: var(--space-md);
}

.C-card--conclusion-icon-box {
	width: 56px;
	height: 56px;
	border-radius: var(--radius-circle);
	background: hsl(204 45.5% 97.8%);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--font-2xl-plus);
	flex-shrink: 0;
	transition: all var(--transition-normal);
}

.conclusion-reason-card:hover .conclusion-reason-icon-box,
.C-card.C-card--conclusion:hover .C-card--conclusion-icon-box {
	transform: scale(1.1) rotate(5deg);
}

.conclusion-reason-icon-box.security {
	background: hsl(168 100.0% 95.1%);
	color: hsl(179 51.0% 39.2%);
}

.conclusion-reason-icon-box.finance {
	background: hsl(201 100.0% 96.1%);
	color: hsl(209 61.6% 50.0%);
}

.conclusion-reason-icon-box.experience {
	background: hsl(270 100.0% 98.0%);
	color: hsl(259 59.4% 59.4%);
}

.C-card--conclusion-info {
	display: flex;
	flex-direction: column;
}

.C-card--conclusion-info strong {
	font-size: var(--font-lg-sm);
	font-weight: 800;
	color: hsl(218 23.1% 22.9%);
	line-height: 1.3;
}

.C-card--conclusion-info span {
	font-size: var(--font-base-sm);
	color: hsl(216 15.0% 51.6%);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: var(--tracking-caps);
}

.C-card--conclusion-desc {
	font-size: var(--font-md);
	color: hsl(218 16.9% 34.9%);
	line-height: 1.7;
	font-weight: 400;
	margin: 0;
}

.conclusion-reason-desc strong {
	color: hsl(218 23.1% 22.9%);
	font-weight: 800;
}

.text-link {
	color: hsl(220 25.7% 13.7%);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
	transition: color 0.2s;
}

.text-link:hover {
	color: var(--color-black);
	opacity: 0.8;
}

.C-card--rank-footer {
	display: flex;
	align-items: center;
	gap: var(--gap-sm);
	padding: var(--space-sm);
	background: var(--color-bg-soft);
	border-radius: var(--radius-sm);
	margin-top: var(--space-lg-compact);
	color: var(--text-muted);
	font-size: var(--font-base);
	line-height: 1.5;
}

.C-card--rank-footer i {
	font-size: var(--font-lg-sm);
	color: var(--brand-accent);
	flex-shrink: 0;
}

.C-card--rank-footer .notice-text {
	display: flex;
	align-items: center;
	width: 100%;
	justify-content: space-between;
	flex-wrap: wrap;

	gap: var(--gap-sm);
}

.C-card--rank-footer .update-date {
	font-size: var(--font-base-sm);
	color: var(--color-slate-muted);
	margin-left: auto;

	white-space: nowrap;
}

.news-mobile-filter {
	display: none !important;
}

.fab-nav-container {
	display: none;
}