.reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .9s cubic-bezier(.22, .61, .36, 1), transform .9s cubic-bezier(.22, .61, .36, 1);
}

.reveal.on {
	opacity: 1;
	transform: none;
}

.no-scrollbar::-webkit-scrollbar {
	display: none;
}

.no-scrollbar {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.tab-scroll {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	touch-action: pan-x;
	overscroll-behavior-x: contain;
	overscroll-behavior-y: none;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-behavior: smooth;
}

.tab-scroll::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

[data-table-scroll-pane] {
	overflow-x: auto;
	overflow-y: visible;
	touch-action: pan-x pan-y;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	cursor: grab;
}

[data-table-scroll-pane].is-dragging {
	cursor: grabbing;
	user-select: none;
	-webkit-user-select: none;
}

[data-table-scroll-pane].is-dragging * {
	user-select: none;
	-webkit-user-select: none;
	pointer-events: none;
}

@media (min-width: 1024px) {
	[data-table-scroll-pane] {
		overflow-x: visible;
		touch-action: auto;
		overscroll-behavior-x: auto;
		cursor: default;
	}

	[data-table-scroll-pane].is-dragging,
	[data-table-scroll-pane].is-dragging * {
		cursor: default;
		user-select: auto;
		-webkit-user-select: auto;
		pointer-events: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.reveal {
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

.eq-cat-btn {
	-webkit-tap-highlight-color: transparent;
	outline: none !important;
	box-shadow: none !important;
	transition: background-color .2s ease, color .2s ease;
	/* border-color는 전환하지 않음 — 클릭 시 파란 라인 깜빡임 방지 */
}

.eq-cat-btn:hover,
.eq-cat-btn:focus,
.eq-cat-btn:focus-visible,
.eq-cat-btn:active {
	outline: none !important;
	box-shadow: none !important;
}

.eq-cat-btn[aria-selected="true"] {
	background-color: #45BCFF;
	border-color: #45BCFF;
	color: #fff;
}

.eq-cat-btn[aria-selected="false"] {
	background-color: #fff;
	border-color: #E3E3E3;
	color: #242424;
}

.eq-cat-btn[aria-selected="false"]:hover {
	border-color: #E3E3E3;
}

/* ---- 병원 시스템: sticky 이미지 와이프 ---- */
.sys-point {
	--sys-image-center: 50%;
	--sys-wipe-ms: 850ms;
}

.sys-point__stage {
	width: 100%;
	max-width: 560px;
	height: min(500px, 48vh);
	aspect-ratio: 4 / 3;
	max-height: min(500px, 48vh);
}

.sys-point__stage-img {
	clip-path: inset(100% 0 0 0);
	will-change: clip-path;
	transition: clip-path var(--sys-wipe-ms) cubic-bezier(.22, .61, .36, 1);
}

.sys-point__stage-img.is-on {
	clip-path: inset(0 0 0 0);
}

@media (min-width: 1024px) {
	#system.sys-point .sys-point__block {
		position: relative;
		min-height: calc(100svh - 92px);
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		box-sizing: border-box;
		scroll-margin-top: 92px;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	/* 텍스트 블록 중심 = 이미지 h 정중앙 */
	#system.sys-point .sys-point__block-inner {
		position: absolute;
		left: 0;
		right: 0;
		top: var(--sys-image-center);
		transform: translateY(-50%);
		max-width: 520px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sys-point__stage-img {
		clip-path: inset(0 0 0 0) !important;
		transition: none !important;
	}
}

