		/* 고객사 요청: 전역 word-break: keep-all 적용 */
		* {
			word-break: keep-all;
		}

		/* Custom cursor: JS-driven on main page (cursor:none hides native) */
		body.museum-main-page {
			cursor: none;
		}

		body.museum-main-page .anniversary-header,
		body.museum-main-page .mega-menu {
			cursor: auto;
		}

		body.museum-main-page .anniversary-header *,
		body.museum-main-page .mega-menu * {
			cursor: auto;
		}

		body:not(.heritage-subpage) .anniversary-header a,
		body:not(.heritage-subpage) .anniversary-header a *,
		body:not(.heritage-subpage) .anniversary-header button,
		body:not(.heritage-subpage) .anniversary-header button *,
		body:not(.heritage-subpage) .mega-menu a,
		body:not(.heritage-subpage) .mega-menu a *,
		body:not(.heritage-subpage) .mega-menu button,
		body:not(.heritage-subpage) .mega-menu button * {
			cursor: pointer;
		}

		@media (max-width: 1023px) {
			body:not(.heritage-subpage) {
				cursor: auto;
			}
		}

		/* CSS Variables - Typography */
		:root {
			--font-family-korean: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
			--font-family-english: 'Google Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
			--font-family-base: 'Pretendard', 'Google Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
		}

		/* Pointer type detection for device-specific interactions */
		@media (min-width: 1025px) and (pointer: fine) {
			:root {
				--pointer: fine;
			}
		}

		@media (max-width: 1024px), (max-width: 1366px) and (pointer: coarse) {
			:root {
				--pointer: coarse;
			}
		}

		/* Typography System - Based on 00Common_03Typography.png */
		/* Display Styles */
		.text-d1 {
			font-size: 120px;
			line-height: 100%;
			letter-spacing: -2%;
		}
		.text-d2 {
			font-size: 100px;
			line-height: 100%;
			letter-spacing: -2%;
		}
		.text-d3 {
			font-size: 80px;
			line-height: 100%;
			letter-spacing: -2%;
		}

		/* Heading Styles */
		.text-h1, h1 {
			font-size: 56px;
			line-height: 130%;
			letter-spacing: -2%;
		}
		.text-h2, h2 {
			font-size: 48px;
			line-height: 130%;
			letter-spacing: -2%;
		}
		.text-h3, h3 {
			font-size: 40px;
			line-height: 130%;
			letter-spacing: -2%;
		}
		.text-h4, h4 {
			font-size: 36px;
			line-height: 130%;
			letter-spacing: -2%;
		}
		.text-h5, h5 {
			font-size: 32px;
			line-height: 130%;
			letter-spacing: -2%;
		}
		.text-h6, h6 {
			font-size: 24px;
			line-height: 130%;
			letter-spacing: -2%;
		}

		/* Paragraph Styles */
		.text-p1 {
			font-size: 20px;
			line-height: 140%;
			letter-spacing: -2%;
		}
		.text-p2 {
			font-size: 18px;
			line-height: 140%;
			letter-spacing: -2%;
		}

		/* Responsive Typography - Tablet/Mobile */
		@media (max-width: 1023px) {
			.text-d1 { font-size: 52px; }
			.text-d2 { font-size: 48px; }
			.text-d3 { font-size: 44px; }
			.text-h1, h1 { font-size: 34px; line-height: 150%; }
			.text-h2, h2 { font-size: 32px; line-height: 150%; }
			.text-h3, h3 { font-size: 30px; line-height: 150%; }
			.text-h4, h4 { font-size: 28px; line-height: 150%; }
			.text-h5, h5 { font-size: 24px; line-height: 150%; }
			.text-h6, h6 { font-size: 20px; line-height: 150%; }
			.text-p1 { font-size: 18px; line-height: 150%; }
			.text-p2 { font-size: 16px; }
		}

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

	html, body {
		width: 100%;
		overflow-x: hidden;
		font-family: var(--font-family-base);
	}
	
	html.anniversary-fullscreen,
	html.anniversary-fullscreen body {
		height: 100vh;
		overflow: hidden;
	}

	.section {
		width: 100%;
		height: 100vh;
		height: 100dvh;
			position: relative;
		}

		@keyframes rotateWheel {
			from {
				transform: rotate(0deg);
			}
			to {
				transform: rotate(360deg);
			}
		}

	.wheel-container {
		position: relative;
		width: clamp(315px, min(48.09vw, 85.49vh), 786px);
		height: clamp(315px, min(48.09vw, 85.49vh), 786px);
		animation: rotateWheel 70s linear infinite;
		animation-play-state: paused;
		z-index: 60;
	}

	.wheel-container.intro-ready {
		animation-play-state: running;
	}

	@media (max-width: 1023px) {
		.wheel-container {
			animation-play-state: running;
		}
	}
	
	@media (max-width: 1023px) {
		.wheel-container {
			pointer-events: none;
		}
	}
	
	.segment-group {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		pointer-events: none;
	}
	
	.segment-group:hover .outer-ring-parent {
		width: clamp(500px, min(65.10vw, 115.73vh), 1250px) !important;
		height: clamp(500px, min(65.10vw, 115.73vh), 1250px) !important;
	}
	
	@media (max-width: 1023px) {
		.segment-group:hover .outer-ring-parent {
			width: auto !important;
			height: auto !important;
		}
	}

	.wheel-container.paused {
		animation-play-state: paused;
	}

	/* SVG segments - precise hover detection */
	.svg-segment {
		cursor: none;
	}
	
	@media (max-width: 1023px) {
		.svg-segment {
			cursor: default;
			pointer-events: none;
		}
	}
	
	/* Segment hover arcs — container sized to dashed-ring */
	.segment-arcs-svg {
		position: absolute;
		width: clamp(349px, min(55.66vw, 98.95vh), 871px);
		height: clamp(349px, min(55.66vw, 98.95vh), 871px);
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		pointer-events: none;
		transition: transform 0.5s cubic-bezier(0.42, 0, 0.58, 1),
					opacity 0.5s cubic-bezier(0.42, 0, 0.58, 1);
		will-change: transform, opacity;
	}

	.segment-arcs-svg.arc-hidden {
		opacity: 0;
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.segment-arcs-svg.arc-visible {
		opacity: 1;
		transform: translate(-50%, -50%) rotate(0deg);
	}

	.segment-arcs-svg.no-trans {
		transition: none;
	}

	.segment-arc {
		transition: opacity 0.3s ease;
		pointer-events: none;
	}
	
	.segment-arc.active {
		opacity: 1 !important;
	}
		
		.svg-segment:hover + .segment-tooltip {
			opacity: 1;
		}

/* Annular sector shapes are now SVG-based for accurate hover detection */

		.segments-svg {
			position: absolute;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			pointer-events: none;
			/* inner radius 285 / viewBox 786 = 36.26% → 초기에 도넛 두께 0 */
			clip-path: circle(36.26% at 50% 50%);
			transition: clip-path 0s;
		}

		/* 50% = outer radius (arcs moved to separate SVG) */
		.segments-svg.intro-filled {
			clip-path: circle(50% at 50% 50%);
			transition: clip-path 1.2s cubic-bezier(0.35, 0.01, 0.25, 1);
		}

		.segments-svg.intro-interactive {
			pointer-events: all;
		}
		
		@media (max-width: 1023px) {
			.segments-svg {
				clip-path: none;
			}
		}

		@media (max-width: 1023px) {
			.segments-svg {
				pointer-events: none;
			}
		}

	.center-mask {
		position: absolute;
		width: clamp(135px, min(19.47vw, 34.61vh), 366px);
		height: clamp(108px, min(19.47vw, 34.61vh), 366px);
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background: transparent;
		border-radius: 50%;
		z-index: 5;
		pointer-events: all;
	}
	
	@media (max-width: 1023px) {
		.center-mask {
			pointer-events: none;
		}
	}

	.outer-ring {
		position: absolute;
		width: clamp(335px, min(51.95vw, 92.36vh), 834px);
		height: clamp(335px, min(51.95vw, 92.36vh), 834px);
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		border: 2px solid rgba(255, 255, 255, 0.3);
		border-radius: 50%;
		pointer-events: none;
		z-index: 1;
		transition: width 0.3s ease, height 0.3s ease;
	}

	.outer-ring.intro-enter {
		width: 1950px;
		height: 1950px;
		animation: outer-ring-shrink 1.2s cubic-bezier(0.35, 0.01, 0.25, 1) forwards;
	}

	@keyframes outer-ring-shrink {
		to {
			width: clamp(335px, min(51.95vw, 92.36vh), 834px);
			height: clamp(335px, min(51.95vw, 92.36vh), 834px);
		}
	}

	.outer-ring.expanded {
		width: clamp(692px, min(90.10vw, 160.18vh), 1730px);
		height: clamp(692px, min(90.10vw, 160.18vh), 1730px);
	}

	.dashed-ring {
		position: absolute;
		width: clamp(349px, min(55.66vw, 98.95vh), 871px);
		height: clamp(349px, min(55.66vw, 98.95vh), 871px);
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		pointer-events: none;
		z-index: 0;
		animation: rotateDashedRing 70s linear infinite;
		animation-play-state: paused;
	}

	.dashed-ring.intro-ready {
		animation-play-state: running;
	}

	@media (max-width: 1023px) {
		.dashed-ring {
			animation-play-state: running;
		}

		.outer-ring.intro-enter {
			width: clamp(335px, min(51.95vw, 92.36vh), 834px);
			height: clamp(335px, min(51.95vw, 92.36vh), 834px);
			animation: none;
		}

		/* 모바일 wheel 크기 — Figma 모바일 기준값 */
		.wheel-container {
			width: 314px !important;
			height: 314px !important;
		}
		
		.dashed-ring {
			width: 349px !important;
			height: 349px !important;
		}
		
		.segment-arcs-svg {
			width: 349px !important;
			height: 349px !important;
		}
		
		.outer-ring {
			width: 335px !important;
			height: 335px !important;
		}
		
		.outer-ring.intro-enter {
			width: 335px !important;
			height: 335px !important;
		}
		
		.center-mask {
			width: 146px !important;
			height: 146px !important;
		}

		#wheel-canvas {
			width: 314px !important;
			height: 314px !important;
		}

		/* 모바일 80th 로고 SVG — Figma 모바일 기준값 */
		.anniversary-hero__80th-overlay svg {
			width: 135px !important;
			height: 108px !important;
		}
	}


	/* 태블릿 wheel 크기 — Figma 태블릿 기준값 */
	@media (min-width: 768px) and (max-width: 1023px) {
		.wheel-container {
			width: 490px !important;
			height: 490px !important;
		}
		
		.dashed-ring {
			width: 566px !important;
			height: 566px !important;
		}
		
		.segment-arcs-svg {
			width: 566px !important;
			height: 566px !important;
		}
		
		.outer-ring {
			width: 536px !important;
			height: 536px !important;
		}
		
		.outer-ring.intro-enter {
			width: 536px !important;
			height: 536px !important;
		}
		
		.center-mask {
			width: 228px !important;
			height: 228px !important;
		}

		#wheel-canvas {
			width: 490px !important;
			height: 490px !important;
		}

		/* 태블릿 80th 로고 SVG — Figma 태블릿 기준값 */
		.anniversary-hero__80th-overlay svg {
			width: 210px !important;
			height: 168px !important;
		}
	}

	.dashed-ring.paused {
		animation-play-state: paused;
	}

	@keyframes rotateDashedRing {
		from {
			transform: translate(-50%, -50%) rotate(0deg);
		}
		to {
			transform: translate(-50%, -50%) rotate(-360deg);
		}
	}

.tooltip {
			display: none; /* Old tooltip system - no longer used */
		}
	.segment-tooltip {
		position: absolute;
		/* Glassmorphism effect */
		background: rgba(255, 255, 255, 0.2);
		backdrop-filter: blur(40px);
		-webkit-backdrop-filter: blur(40px);
		
		color: rgba(255, 255, 255, 1);
		padding: clamp(4px, min(0.52vw, 0.93vh), 10px) 0;
		border-radius: 100%;
		font-family: 'Pretendard', sans-serif;
		font-size: clamp(11px, min(0.94vw, 1.67vh), 18px);
		font-weight: 600;
		font-style: normal;
		opacity: 0;
		transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), border 0.3s cubic-bezier(0.42, 0, 0.58, 1), width 0.3s cubic-bezier(0.42, 0, 0.58, 1), height 0.3s cubic-bezier(0.42, 0, 0.58, 1);
		pointer-events: none;
		white-space: pre-line;
		z-index: 100;
		width: clamp(51px, min(6.67vw, 11.85vh), 128px);
		height: clamp(51px, min(6.67vw, 11.85vh), 128px);
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: clamp(3px, min(0.42vw, 0.74vh), 8px);
		text-align: center;
		line-height: 140%;
		letter-spacing: -0.36px;
		border: 3px solid transparent;
		cursor: none;
	}

	.segment-tooltip svg {
		flex-shrink: 0;
		transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
	}

	.segment-tooltip.hovered {
		width: clamp(58px, min(7.5vw, 13.33vh), 144px);
		height: clamp(58px, min(7.5vw, 13.33vh), 144px);
	}

	.segment-tooltip.clicked {
		width: clamp(58px, min(7.5vw, 13.33vh), 144px);
		height: clamp(58px, min(7.5vw, 13.33vh), 144px);
		border: 3px solid #fff;
		transition: opacity 0.6s cubic-bezier(0.42, 0, 0.58, 1), border 0.6s cubic-bezier(0.42, 0, 0.58, 1), width 0.6s cubic-bezier(0.42, 0, 0.58, 1), height 0.6s cubic-bezier(0.42, 0, 0.58, 1);
	}

	.segment-tooltip.clicked svg {
		transform: rotate(90deg);
		transition: transform 0.6s cubic-bezier(0.42, 0, 0.58, 1);
	}
	
	.segment-tooltip.active {
		opacity: 1;
		pointer-events: all;  /* Enable interaction when visible */
	}
	
	@media (max-width: 1023px) {
		.segment-tooltip {
			display: none;
		}
	}

	/* Header hover effect - only triggered by nav hover */
	.anniversary-header {
		position: relative;
		height: 90px;
		border-bottom: 1px solid transparent;
		transition: transform .3s ease .2s, opacity .3s ease .2s, background .3s ease, backdrop-filter .3s ease, -webkit-backdrop-filter .3s ease, border-color .3s ease;
		z-index: 45;
		transform: translateY(-200%);
		opacity: 0;
	}

	body.page-in-active .anniversary-header {
		transform: translateY(0);
		opacity: 1;
	}

	.anniversary-header--hidden {
		transform: translateY(-100%) !important;
		opacity: 1 !important;
	}
	
/* Subpage default header style (white background) */
.heritage-subpage .anniversary-header {
	background: rgba(255, 255, 255, 1);
	backdrop-filter: blur(60px);
	-webkit-backdrop-filter: blur(60px);
	border-color: rgba(226, 226, 226, 1);
}

/* Subpage header text/icon colors (same as nav-hovered) */
.heritage-subpage .anniversary-header .anniversary-nav__link {
	color: rgba(23, 27, 30, 1) !important;
}

.heritage-subpage .anniversary-header .anniversary-logo-default {
	opacity: 0;
}

.heritage-subpage .anniversary-header .anniversary-logo-hover {
	opacity: 1;
}

.heritage-subpage .anniversary-header__lang-link svg path {
	fill: rgba(23, 27, 30, 1);
}

.heritage-subpage .anniversary-header__menu-toggle line {
	stroke: rgba(0, 0, 0, 1);
}
	
	.anniversary-header__container {
		height: 90px;
		padding: 0 80px;
	}


	.anniversary-header.nav-hovered {
		background: rgba(255, 255, 255, 1);
		backdrop-filter: blur(60px);
		-webkit-backdrop-filter: blur(60px);
		border-color: rgba(226, 226, 226, 1);
	}
	
	.anniversary-header__logo {
		flex: 1;
		min-width: 0;
	}

	.anniversary-header__menu-wrapper {
		flex: 1;
		min-width: 0;
	}

	/* 로고 호버 교체 */
	.anniversary-header__logo-link {
		display: block;
		position: relative;
		width: 230px;
		height: 38px;
	}
	
	.anniversary-logo-default,
	.anniversary-logo-hover {
		position: absolute;
		top: 0;
		left: 0;
		width: 230px;
		height: 38px;
		object-fit: contain;
		transition: opacity 0.3s ease;
	}
	
	.anniversary-logo-default {
		opacity: 1;
	}
	
	.anniversary-logo-hover {
		opacity: 0;
	}
	
	.anniversary-header.nav-hovered .anniversary-logo-default {
		opacity: 0;
	}
	
	.anniversary-header.nav-hovered .anniversary-logo-hover {
		opacity: 1;
	}

	/* Navigation dropdown - Full width horizontal layout */
	.anniversary-nav {
		position: relative;
	}

	/* Navigation gap fluid (1920px 기준 100px) */
	#anniversary-nav {
		gap: clamp(24px, 5.21vw, 100px);
	}

	/* 2뎁스 배경 - 실제 element로 변경 */
	.anniversary-nav__dropdown-bg {
		position: fixed;
		top: 90px;
		left: 0;
		width: 100%;
		height: 90px;
		background: rgba(255, 255, 255, 1);
		backdrop-filter: blur(60px);
		-webkit-backdrop-filter: blur(60px);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		pointer-events: none;
		z-index: 39;
	}

	.anniversary-nav__dropdown-bg.active {
		opacity: 1;
		visibility: visible;
	}
	
	/* 메뉴 호버 시 메인 컨텐츠 딤드 */
	.menu-dimmed {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.3);
		backdrop-filter: blur(30px);
		-webkit-backdrop-filter: blur(30px);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.5s ease, visibility 0.5s ease;
		pointer-events: none;
		z-index: 38;
	}
	
	.menu-dimmed.active {
		opacity: 1;
		visibility: visible;
	}
	
	/* 햄버거 메가메뉴 */
	.mega-menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, 0.3);
		backdrop-filter: blur(30px);
		-webkit-backdrop-filter: blur(30px);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.5s ease, visibility 0.5s ease;
		z-index: 100;
		overflow-y: auto;
	}
	
	@media (max-width: 1199px) {
		.mega-menu {
			background: rgba(0, 0, 0, 0.7);
			height: auto;
			min-height: 100vh;
		}
	}
	
	.mega-menu.active {
		opacity: 1;
		visibility: visible;
	}
	
	.mega-menu__header {
		display: none;
	}
	
	@media (max-width: 1199px) {
		.mega-menu__header {
			display: flex;
			position: relative;
			justify-content: space-between;
			align-items: center;
			padding: 21px 40px;
		}
	}
	
	@media (max-width: 767px) {
		.mega-menu__header {
			padding: 21px 20px;
		}
	}
	
	.mega-menu__close {
		width: 30px;
		height: 30px;
		background: none;
		border: none;
		cursor: pointer;
		padding: 0;
		transition: opacity 0.3s ease;
	}
	
	.mega-menu__close--desktop {
		position: fixed;
		top: 30px;
		right: 80px;
		z-index: 101;
	}

	@media (min-width: 768px) and (max-width: 1199px) {
		.mega-menu__close--desktop {
			right: 40px;
		}
	}

	@media (max-width: 767px) {
		.mega-menu__close--desktop {
			right: 20px;
		}
	}
	
	@media (max-width: 1199px) {
		.mega-menu__close--desktop {
			display: none;
		}
	}
	
	.mega-menu__close--mobile {
		display: none;
	}
	
	@media (max-width: 1199px) {
		.mega-menu__close--mobile {
			display: block;
		}
	}
	
	@media (hover: hover) {
		.mega-menu__close:hover {
			opacity: 0.7;
		}
	}
	
	.mega-menu__close line {
		stroke: white;
		stroke-width: 2;
		transition: stroke 0.3s ease;
	}

	.anniversary-header__shortcut {
		color: var(--Text-White, #FFF);
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: var(--Size-P2, 18px);
		font-style: normal;
		font-weight: 400;
		line-height: 140%;
		letter-spacing: -0.36px;
		display: inline-flex;
		padding: 8px 16px;
		justify-content: center;
		align-items: center;
		gap: 10px;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.10);
		text-decoration: none;
		white-space: nowrap;
		transition: background 0.3s cubic-bezier(0.42, 0, 0.58, 1), color 0.3s cubic-bezier(0.42, 0, 0.58, 1);
		margin-right: 30px;
	}

	.anniversary-header__shortcut:hover {
		background: #FFF;
		color: var(--Brand-Innovation-Red, #FF4E1C);
	}

	.anniversary-header__shortcut:hover svg path {
		stroke: var(--Brand-Innovation-Red, #FF4E1C);
	}

	.heritage-subpage .anniversary-header__shortcut {
		color: var(--Text-Primary, #171B1E);
		background: var(--Primitive-Gray-Scale-200, #E6EAEE);
	}

	.heritage-subpage .anniversary-header__shortcut svg path {
		stroke: var(--Text-Primary, #171B1E);
	}

	.heritage-subpage .anniversary-header__shortcut:hover {
		background: #000;
		color: #FFF;
	}

	.heritage-subpage .anniversary-header__shortcut:hover svg path {
		stroke: #FFF;
	}

	/* nav 호버 시 shortcut 스타일 (배경 흰색 전환에 맞춰 dark) */
	.anniversary-header.nav-hovered .anniversary-header__shortcut {
		color: var(--Text-Primary, #171B1E);
		background: var(--Primitive-Gray-Scale-200, #E6EAEE);
	}

	.anniversary-header.nav-hovered .anniversary-header__shortcut svg path {
		stroke: var(--Text-Primary, #171B1E);
	}

	.anniversary-header.nav-hovered .anniversary-header__shortcut:hover {
		background: #000;
		color: #FFF;
	}

	.anniversary-header.nav-hovered .anniversary-header__shortcut:hover svg path {
		stroke: #FFF;
	}

	/* shortcut 내부 SVG 기본 stroke 트랜지션 */
	.anniversary-header__shortcut svg path {
		transition: stroke 0.3s cubic-bezier(0.42, 0, 0.58, 1);
	}

	@media (max-width: 1199px) {
		.anniversary-header__shortcut {
			display: none;
		}
	}

	.mega-menu__desktop-right {
		position: fixed;
		top: 30px;
		right: 80px;
		z-index: 101;
		display: flex;
		align-items: center;
		gap: 16px;
	}

	.mega-menu__desktop-right .mega-menu__close--desktop {
		position: static;
	}

	.mega-menu__shortcut {
		color: var(--Text-White, #FFF);
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: var(--Size-P2, 18px);
		font-style: normal;
		font-weight: 400;
		line-height: 140%;
		letter-spacing: -0.36px;
		display: inline-flex;
		padding: 8px 16px;
		justify-content: center;
		align-items: center;
		gap: 10px;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.10);
		text-decoration: none;
		white-space: nowrap;
		transition: background 0.3s ease;
	}

	@media (hover: hover) {
		.mega-menu__shortcut:hover {
			background: rgba(255, 255, 255, 0.20);
		}
	}

	.mega-menu__shortcut--desktop {
		display: none;
	}

	@media (max-width: 1199px) {
		.mega-menu__desktop-right {
			display: none;
		}

		.mega-menu__shortcut--desktop {
			display: none;
		}
	}

	.mega-menu__header-right {
		display: flex;
		align-items: center;
		gap: 20px;
		margin-left: auto;
	}

	.mega-menu__header .mega-menu__shortcut {
		font-size: var(--Size-P2, 16px);
		padding: 6px 14px;
		gap: 8px;
		letter-spacing: -0.32px;
	}

	.mega-menu__header .mega-menu__shortcut svg {
		flex-shrink: 0;
	}

	@media (min-width: 768px) and (max-width: 1199px) {
		.mega-menu__desktop-right {
			right: 40px;
		}
	}
	
	.mega-menu__lang-toggle {
		display: flex;
		align-items: center;
		gap: 16px;
	}
	
	.mega-menu__lang-link {
		color: var(--Text-Territary, #A4A8AB);
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: var(--Size-P2, 16px);
		font-style: normal;
		font-weight: 400;
		line-height: 140%;
		letter-spacing: -0.32px;
		text-decoration: none;
		transition: color 0.3s ease;
	}
	
	.mega-menu__lang-link--active {
		color: var(--Brand-Innovation-Red, #FF4E1C);
	}
	
	@media (hover: hover) {
		.mega-menu__lang-link:hover {
			color: var(--Brand-Innovation-Red, #FF4E1C);
		}
	}
	
	.mega-menu__lang-divider {
		flex-shrink: 0;
	}
	
	.mega-menu__container {
		position: relative;
		max-width: 1464px;
		height: 100%;
		margin: 0 auto;
		padding: 80px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 48px;
	}
	
	@media (max-width: 1199px) {
		.mega-menu__container {
			padding: 0 40px 68px 40px;
			gap: 16px;
			justify-content: flex-start;
		}
	}
	
	@media (max-width: 767px) {
		.mega-menu__container {
			padding: 0 20px 68px 20px;
			gap: 16px;
			justify-content: flex-start;
		}
	}
	
	.mega-menu__section {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 60px;
		padding-bottom: 40px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}
	
	@media (max-width: 1199px) {
		.mega-menu__section {
			flex-direction: column;
			align-items: flex-start;
			gap: 24px;
			padding-bottom: 16px;
		}
		
		.mega-menu__section:last-child {
			border-bottom: none;
			padding-bottom: 0;
		}
	}
	
	.mega-menu__title {
		color: #FFF;
		font-family: var(--Family-Google-Sans-Flex, "Google Sans Flex");
		font-size: var(--Size-H1, 56px);
		font-style: normal;
		font-weight: 300;
		line-height: 150%;
		text-transform: uppercase;
		margin: 0;
		min-width: 200px;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		gap: 30px;
		text-decoration: none;
		cursor: pointer;
		transition: color 0.3s ease;
	}
	
	.mega-menu__title:hover {
		color: var(--Brand-Innovation-Red, #FF4E1C);
	}

	@media (max-width: 1199px) {
		.mega-menu__title:hover {
			color: inherit;
		}
	}
	
	@media (max-width: 1199px) {
		.mega-menu__title {
			font-size: var(--Size-H6, 20px);
			font-weight: 300;
			line-height: 150%;
			min-width: auto;
			gap: 16px;
		}
		
		.mega-menu__title svg {
			display: none;
		}
	}
	
	.mega-menu__links {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 40px;
		flex: 1;
		justify-content: flex-end;
		color: #FFF;
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: var(--Size-H6, 24px);
		font-style: normal;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: -0.48px;
	}
	
	@media (max-width: 1199px) {
		.mega-menu__links {
			flex-direction: column;
			gap: 18px;
			justify-content: flex-start;
			margin-left: 20px;
		}
	}
	
	.mega-menu__link {
		color: #FFF;
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: var(--Size-H6, 24px);
		font-style: normal;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: -0.48px;
		text-decoration: none;
		transition: color 0.3s ease;
		white-space: nowrap;
	}
	
	@media (max-width: 1199px) {
		.mega-menu__link {
			color: var(--Text-Territary, #A4A8AB);
			font-size: var(--Size-P2, 16px);
			font-weight: 400;
			line-height: 140%;
			letter-spacing: -0.32px;
		}
	}
	
	.mega-menu__link:hover {
		color: #FF4B00;
	}

	@media (max-width: 1199px) {
		.mega-menu__link:hover {
			color: inherit;
		}
	}

	.mega-menu__link--disabled {
		color: #FFF;
		opacity: 0.3;
		pointer-events: none;
		cursor: default;
	}

	@media (max-width: 1199px) {
		.mega-menu__link--disabled {
			opacity: 0.2;
		}
	}

	.mega-menu__notice {
		display: none;
		align-items: center;
		justify-content: flex-end;
		gap: 8px;
		margin-top: -30px;
	}

	@media (min-width: 1200px) {
		.mega-menu__notice {
			display: flex;
		}
	}

	.mega-menu__notice svg {
		flex-shrink: 0;
		width: 24px;
		height: 24px;
	}

	.mega-menu__notice span {
		color: var(--Text-Disable, #E6EAEE);
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: 20px;
		font-weight: 400;
		line-height: 150%;
		letter-spacing: -0.4px;
	}

	.mega-menu__section:has(.mega-menu__link:hover) .mega-menu__title {
		color: var(--Brand-Innovation-Red, #FF4E1C);
	}

	@media (max-width: 1199px) {
		.mega-menu__section:has(.mega-menu__link:hover) .mega-menu__title {
			color: inherit;
		}
	}

	.anniversary-nav__item {
		position: relative;
		height: 90px;
		display: flex;
		align-items: center;
	}

	.anniversary-nav__item:nth-child(3) {
		position: static;
	}

	.anniversary-nav__item:nth-child(3)::after {
		display: none;
	}

	.anniversary-nav__item:nth-child(3) .anniversary-nav__link::after {
		content: '';
		position: absolute;
		bottom: -33px;
		left: 50%;
		transform: translateX(-50%);
		width: 0;
		height: 3px;
		background: rgba(255, 78, 28, 1);
		transition: width 0.5s ease;
	}

	.anniversary-nav__item:nth-child(3):hover .anniversary-nav__link::after {
		width: 100%;
	}
	
	/* 1뎁스 메뉴 링크 기본 스타일 */
	.anniversary-nav__link {
		position: relative;
		color: #FFF !important;
		font-family: 'Google Sans', sans-serif !important;
		font-size: 18px !important;
		font-weight: 500 !important;
		line-height: 140% !important;
		transition: color 0.3s ease !important;
	}
	
	/* 1뎁스 메뉴 호버 시 border-bottom 애니메이션 (헤더 하단 90px 위치) */
	.anniversary-nav__item::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 0;
		height: 3px;
		background: rgba(255, 78, 28, 1);
		transition: width 0.5s ease;
	}
	
	.anniversary-nav__item:hover::after {
		width: 100%;
	}
	
	/* 네비게이션 호버 시 1뎁스 메뉴 색상 변경 */
	.anniversary-header.nav-hovered .anniversary-nav__link {
		color: rgba(23, 27, 30, 1) !important;
	}

	/* Heritage dropdown - left aligned with nav start */
	.anniversary-nav__item:nth-child(1) .anniversary-nav__dropdown {
		position: absolute;
		top: 90px;
		left: 0;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		pointer-events: none;
		z-index: 40;
	}

	/* Future dropdown - right aligned with EVENT nav item end */
	.anniversary-nav__item:nth-child(3) .anniversary-nav__dropdown {
		position: absolute;
		top: 90px;
		right: 0;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		pointer-events: none;
		z-index: 40;
	}

	.anniversary-nav__item:hover .anniversary-nav__dropdown {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}

	.anniversary-nav__dropdown-content {
		height: 90px;
		display: flex;
		align-items: center;
		gap: 50px;
	}

	/* Heritage 좌측 정렬 */
	.anniversary-nav__item:nth-child(1) .anniversary-nav__dropdown-content {
		justify-content: flex-start;
	}

	/* Future 우측 정렬 */
	.anniversary-nav__item:nth-child(3) .anniversary-nav__dropdown-content {
		justify-content: flex-end;
	}

	.anniversary-nav__dropdown-link {
		display: flex;
		align-items: center;
		height: 90px;
		padding: 0;
		color: var(--Text-Secondary, #4A4D50) !important;
		font-family: 'Pretendard', sans-serif !important;
		font-size: 18px !important;
		font-weight: 400 !important;
		font-style: normal !important;
		line-height: 140% !important;
		letter-spacing: -0.36px !important;
		text-decoration: none;
		white-space: nowrap;
		transition: color 0.3s ease, font-weight 0.3s ease;
		justify-content: center;
	}

	/* Heritage 2뎁스 min-width (font-weight 600 기준 너비 올림) */
	.anniversary-nav__item:nth-child(1) .anniversary-nav__dropdown-link:nth-child(1) { min-width: 87px; }
	.anniversary-nav__item:nth-child(1) .anniversary-nav__dropdown-link:nth-child(2) { min-width: 65px; }
	.anniversary-nav__item:nth-child(1) .anniversary-nav__dropdown-link:nth-child(3) { min-width: 130px; }
	.anniversary-nav__item:nth-child(1) .anniversary-nav__dropdown-link:nth-child(4) { min-width: 129px; }

	/* Future 2뎁스 min-width */
	.anniversary-nav__item:nth-child(3) .anniversary-nav__dropdown-link:nth-child(1) { min-width: 115px; }
	.anniversary-nav__item:nth-child(3) .anniversary-nav__dropdown-link:nth-child(2) { min-width: 76px; }
	.anniversary-nav__item:nth-child(3) .anniversary-nav__dropdown-link:nth-child(3) { min-width: 110px; }
	.anniversary-nav__item:nth-child(3) .anniversary-nav__dropdown-link:nth-child(4) { min-width: unset; }

	.anniversary-nav__dropdown-link:hover {
		color: #FF4B00 !important;
		font-weight: 600 !important;
	}

	/* 2뎁스 비활성 링크 (미오픈 페이지) */
	.anniversary-nav__dropdown-link--disabled {
		color: var(--Text-Territary, #A4A8AB) !important;
		pointer-events: none;
		cursor: default;
		opacity: 0.4;
	}
	
	/* Hamburger menu button */
	.anniversary-header__menu-toggle line {
		stroke: white;
		transition: stroke 0.3s ease;
	}
	
	.anniversary-header.nav-hovered .anniversary-header__menu-toggle line {
		stroke: rgba(0, 0, 0, 1);
	}

	/* Year text — 아우터 링 기준 간격
	   --yt-gap: 링 ~ 아이콘 사이 갭 (1920: 32px)
	   --yt-icon-w: 아이콘 SVG 폭 (1920: 101px)
	   --yt-icon-gap: 아이콘 ~ 텍스트 사이 갭 (1920: 18px)
	   --yt-offset: gap + icon + icon-gap 합산 */
	.year-text {
		--yt-gap: clamp(16px, 1.67vw, 32px);
		--yt-icon-w: clamp(50px, min(5.26vw, 9.35vh), 101px);
		--yt-icon-gap: clamp(10px, min(0.94vw, 1.67vh), 18px);
		--yt-offset: calc(var(--yt-gap) + var(--yt-icon-w) + var(--yt-icon-gap));
		position: absolute;
		top: 50%;
		display: flex;
		flex-direction: column;
		align-items: center;
		opacity: 0;
		transition: opacity 1.2s cubic-bezier(0.42, 0, 0.58, 1);
	}

	.year-text-left {
		right: calc(50% + clamp(167.5px, min(25.975vw, 46.18vh), 417px) + var(--yt-offset));
		transform: translateY(-50%);
	}

	.year-text-right {
		left: calc(50% + clamp(167.5px, min(25.975vw, 46.18vh), 417px) + var(--yt-offset));
		transform: translateY(-50%);
	}

	/* year-icon (대시 타임라인): 60px 안→바깥, 0s delay */
	.year-icon {
		transition: transform 1.2s cubic-bezier(0.42, 0, 0.58, 1);
	}
	.year-text-left .year-icon--right {
		transform: translateY(-50%) translateX(-60px);
	}
	.year-text-right .year-icon--left {
		transform: translateY(-50%) translateX(60px);
	}
	.year-text.year-text-enter .year-icon--right {
		transform: translateY(-50%) translateX(0);
	}
	.year-text.year-text-enter .year-icon--left {
		transform: translateY(-50%) translateX(0);
	}

	/* year-number (년도): 80px 안→바깥, 0.1s delay */
	.anniversary-hero__year-number {
		transition: transform 1.2s cubic-bezier(0.42, 0, 0.58, 1) 0.1s;
	}
	.year-text-left .anniversary-hero__year-number {
		transform: translateX(80px);
	}
	.year-text-right .anniversary-hero__year-number {
		transform: translateX(-80px);
	}
	.year-text.year-text-enter .anniversary-hero__year-number {
		transform: translateX(0);
	}

	/* year-description: 년도와 동일 모션 */
	.anniversary-hero__year-description {
		transition: transform 1.2s cubic-bezier(0.42, 0, 0.58, 1) 0.1s;
	}
	.year-text-left .anniversary-hero__year-description {
		transform: translateX(80px);
	}
	.year-text-right .anniversary-hero__year-description {
		transform: translateX(-80px);
	}
	.year-text.year-text-enter .anniversary-hero__year-description {
		transform: translateX(0);
	}

	.year-text.year-text-enter {
		opacity: 1;
	}
	
	@media (max-width: 1023px) {
		/* PC year-text 숨기고 모바일 롤링으로 대체 */
		.year-text {
			display: none;
		}
	}
	
	.year-icon {
		position: absolute;
		top: 50%;
		transition: opacity 0.5s ease, transform 1.2s cubic-bezier(0.42, 0, 0.58, 1);
		width: var(--yt-icon-w, 101px);
	}

	.year-icon--right {
		left: calc(100% + var(--yt-icon-gap, 18px));
	}

	.year-icon--left {
		right: calc(100% + var(--yt-icon-gap, 18px));
	}
	
	@media (max-width: 1023px) {
		.year-icon {
			display: none;
		}
	}

	/* ========================================
	   Home Page Hero Section
	   ======================================== */
	
	/* Background video layer */
	.anniversary-hero__bg {
		overflow: hidden;
	}

	.anniversary-hero__video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	
	/* Overlay with blur effect */
	.anniversary-hero__overlay {
		background: rgba(0, 0, 0, 0.30);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		transition: background 0.5s ease;
	}
	
	@media (max-width: 1023px) {
		.anniversary-hero__overlay {
			background: rgba(0, 0, 0, 0.30);
		}
	}
	
	@media (max-width: 1023px) {
		.wheel-wrapper.wheel-wrapper {
			top: 18.71vh !important;
			transform: translate(-50%, 0) !important;
			width: 314px !important;
			height: 314px !important;
		}
	}

	@media (min-width: 768px) and (max-width: 1023px) {
		.wheel-wrapper.wheel-wrapper {
			width: 490px !important;
			height: 490px !important;
		}
	}
	
	/* Year number typography (1946 / 2046) */
	.anniversary-hero__year-number {
		color: #FFF;
		text-align: center;
		font-family: 'Google Sans', sans-serif;
		font-size: clamp(52px, min(6.39vw, 11.36vh), 120px);
		font-style: normal;
		font-weight: 300;
		line-height: 100%;
		position: relative;
		display: inline-flex;
		align-items: center;
	}
	
	/* Year description typography (보호로 시작된... / 사람을 향한...) */
	.anniversary-hero__year-description {
		color: #FFF;
		font-family: 'Pretendard', sans-serif;
		font-size: clamp(16px, min(1.28vw, 2.28vh), 24px);
		font-style: normal;
		font-weight: 400;
		line-height: 130%;
		letter-spacing: -0.48px;
		display: inline-flex;
		text-align: center;
	}
	
	.anniversary-hero__year-description--left {
		text-align: left;
	}
	
	.anniversary-hero__year-description--right {
		text-align: right;
	}
	
	.anniversary-hero__80th-overlay {
		pointer-events: none;
		z-index: 50;
	}
	
	.anniversary-hero__detail-btn {
		display: none;
	}
	
	@media (max-width: 1023px) {
		.anniversary-hero__detail-btn {
			display: block;
			position: fixed;
			bottom: calc(30px + env(safe-area-inset-bottom, 0px));
			left: 50%;
			transform: translateX(-50%);
			width: calc(100vw - 48px);
			z-index: 100;
			
			color: #FFF;
			text-align: center;
			font-family: var(--Family-Google-Sans-Flex, "Google Sans Flex");
			font-size: var(--Size-P2, 16px);
			font-style: normal;
			font-weight: 500;
			line-height: 140%;
			text-decoration: none;
			
			border-radius: 999px;
			background: rgba(255, 255, 255, 0.20);
			backdrop-filter: blur(20px);
			-webkit-backdrop-filter: blur(20px);
			
			padding: 11px 0;
			
			transition: background 0.3s ease;
		}
	}

	@media (min-width: 768px) and (max-width: 1023px) {
		.anniversary-hero__detail-btn {
			width: calc(100vw - 340px);
			padding: 15px 0;
			bottom: calc(60px + env(safe-area-inset-bottom, 0px));
		}
	}

	/* ========================================
	   Responsive Design - Header
	   ======================================== */
	
	@media (min-width: 768px) and (max-width: 1199px) {
		.anniversary-header {
			height: 88px;
		}
		
		.anniversary-header__container {
			padding: 0 40px;
			height: 88px;
			justify-content: space-between !important;
		}
		
		.anniversary-header__logo-link {
			width: 182px;
			height: 30px;
		}
		
		.anniversary-logo-default,
		.anniversary-logo-hover {
			width: 182px;
			height: 30px;
			object-fit: contain;
		}
		
		#anniversary-nav {
			display: none;
		}
		
		.anniversary-nav__dropdown-bg {
			top: 88px;
		}
		
		.mega-menu__close {
			top: 29px;
			right: 40px;
		}
	}

	@media (max-width: 767px) {
		.anniversary-header {
			height: 72px;
		}
		
		.anniversary-header__container {
			padding: 0 20px;
			height: 72px;
			justify-content: space-between !important;
		}
		
		.anniversary-header__logo-link {
			width: 182px;
			height: 30px;
		}
		
		.anniversary-logo-default,
		.anniversary-logo-hover {
			width: 182px;
			height: 30px;
			object-fit: contain;
		}
		
		#anniversary-nav {
			display: none;
		}
		
		.anniversary-nav__dropdown-bg {
			top: 72px;
		}
		
		.mega-menu__close {
			top: 21px;
			right: 20px;
		}
	}
	
	/* Mobile: 375px */
	@media (max-width: 375px) {
		.anniversary-header {
			height: 72px;
		}
		
		.anniversary-header__container {
			padding: 0 20px;
			height: 72px;
			justify-content: space-between !important;
		}
		
		.anniversary-header__logo-link {
			width: 175px;
			height: 20px;
		}
		
		.anniversary-logo-default,
		.anniversary-logo-hover {
			width: 160px;
			height: 26px;
			object-fit: contain;
		}
		
		.mega-menu__close {
			top: 21px;
			right: 20px;
		}
	}

	/* ========================================
	   Mobile Year-Text Rolling Animation
	   ======================================== */

	.mobile-year-rolling {
		display: none;
	}

	@media (max-width: 1023px) {
		.mobile-year-rolling {
			display: block;
			position: absolute;
			bottom: calc(30px + 44px + 30px + env(safe-area-inset-bottom, 0px));
			left: 24px;
			right: 24px;
			height: 72px;
			overflow: hidden;
			z-index: 10;
		}

		.mobile-year-rolling__track {
			display: flex;
			flex-direction: column;
			animation: yearRolling 10s cubic-bezier(0.35, 0.01, 0.25, 1) 1s infinite;
		}

		.mobile-year-rolling__slide {
			height: 72px;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
		}

		.mobile-year-rolling__year-row {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 12px;
		}

		.mobile-year-rolling__number {
			color: #FFF;
			font-family: 'Google Sans', sans-serif;
			font-size: 52px;
			font-weight: 300;
			line-height: 100%;
		}

		.mobile-year-rolling__line {
			flex-shrink: 0;
		}

		.mobile-year-rolling__desc {
			color: #FFF;
			font-family: 'Pretendard', sans-serif;
			font-size: 24px;
			font-weight: 400;
			line-height: 150%;
			letter-spacing: -0.48px;
			text-align: center;
			margin: 0;
		}
	}

	@media (min-width: 768px) and (max-width: 1023px) {
		.mobile-year-rolling__number {
			font-family: var(--Family-Google-Sans-Flex, "Google Sans Flex");
			font-size: 64px;
		}

		.mobile-year-rolling {
			bottom: calc(60px + 52px + 60px + env(safe-area-inset-bottom, 0px));
		}
	}

	#wheel-canvas {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: clamp(315px, min(48.09vw, 85.49vh), 786px);
		height: clamp(315px, min(48.09vw, 85.49vh), 786px);
		pointer-events: none;
		z-index: 59;
		clip-path: circle(36.26% at 50% 50%);
		transition: clip-path 0s;
	}

	#wheel-canvas.intro-filled {
		clip-path: circle(55% at 50% 50%);
		transition: clip-path 1.2s cubic-bezier(0.35, 0.01, 0.25, 1);
	}

	@media (max-width: 1023px) {
		#wheel-canvas {
			clip-path: none;
		}
	}

	@keyframes yearRolling {
		0% { transform: translateY(0); }
		22.2% { transform: translateY(0); }
		44.4% { transform: translateY(-72px); }
		66.6% { transform: translateY(-72px); }
		88.8% { transform: translateY(0); }
		100% { transform: translateY(0); }
	}

	/* ── 모바일 터치 피드백 + cursor:none 해제 ── */
	@media (max-width: 1023px) {
		body.museum-main-page {
			cursor: auto;
		}
	}

	@media (hover: none) {
		a:active,
		button:active,
		[role="button"]:active {
			opacity: 0.6;
		}

		.mega-menu__link--disabled:active {
			opacity: 1;
		}

		.anniversary-btn-top:active {
			opacity: 1;
			background: rgba(0, 0, 0, 0.6);
			border-color: rgba(255, 255, 255, 0.5);
		}
	}
