@font-face {
			font-family: "Freesentation";
			src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-4Regular.woff2") format("woff2");
			font-weight: 400;
			font-style: normal;
			font-display: swap;
		}

		@font-face {
			font-family: "Freesentation";
			src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-5Medium.woff2") format("woff2");
			font-weight: 500;
			font-style: normal;
			font-display: swap;
		}

		@font-face {
			font-family: "Freesentation";
			src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-7Bold.woff2") format("woff2");
			font-weight: 700;
			font-style: normal;
			font-display: swap;
		}

		@font-face {
			font-family: "Freesentation";
			src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-8ExtraBold.woff2") format("woff2");
			font-weight: 800;
			font-style: normal;
			font-display: swap;
		}

		@font-face {
			font-family: "Freesentation";
			src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-9Black.woff2") format("woff2");
			font-weight: 900;
			font-style: normal;
			font-display: swap;
		}

		@font-face {
			font-family: "Paperlogy";
			src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2") format("woff2");
			font-weight: 500;
			font-style: normal;
			font-display: swap;
		}

		@font-face {
			font-family: "Paperlogy";
			src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2") format("woff2");
			font-weight: 700;
			font-style: normal;
			font-display: swap;
		}

		@font-face {
			font-family: "Paperlogy";
			src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2") format("woff2");
			font-weight: 800;
			font-style: normal;
			font-display: swap;
		}

		:root {
			color-scheme: light;
			--container: min(calc(100vw - 2rem), 1472px);
		}

		html {
			overflow-x: clip;
		}

		@media (min-width: 768px) {
			:root {
				--container: min(calc(100vw - 4rem), 1472px);
			}
		}

		body {
			font-family: "Freesentation", system-ui, sans-serif;
			background: #ffffff;
			color: #111318;
			overflow-x: hidden;
		}

		body.modal-open {
			overflow: hidden;
		}

		.site-container {
			width: var(--container);
			margin-inline: auto;
		}

		.feature-container {
			width: min(calc(100vw - 2rem), 1544px);
			margin-inline: auto;
		}

		.all-in-one-item {
			position: relative;
		}

		@media (min-width: 768px) {
			.feature-container {
				width: min(calc(100vw - 4rem), 1544px);
			}
		}

		.font-display {
			font-family: "Paperlogy", "Freesentation", system-ui, sans-serif;
		}

		.font-body {
			font-family: "Freesentation", system-ui, sans-serif;
		}

		.font-korean {
			font-family: "Pretendard", "Freesentation", system-ui, sans-serif;
		}

		.font-growth {
			font-family: "Freesentation", "Pretendard", system-ui, sans-serif;
			font-weight: 800;
		}

		.hero-surface {
			background-image: url("/assets/images/sec1_bg.jpg");
			background-position: center;
			background-size: cover;
			background-repeat: no-repeat;
		}

		.hero-scroll-arrow {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			color: rgba(255, 255, 255, 0.92);
			animation: heroArrowFloat 1.9s ease-in-out infinite;
			will-change: transform;
		}

		@keyframes heroArrowFloat {
			0%,
			100% {
				transform: translateY(0);
				opacity: 0.82;
			}
			50% {
				transform: translateY(10px);
				opacity: 1;
			}
		}

		.hero-cta-shell {
			min-height: 68px;
			transition: opacity 0.28s ease, transform 0.28s ease;
		}

		.hero-cta-shell.is-floating {
			position: fixed;
			left: 50%;
			bottom: 1rem;
			z-index: 45;
			width: min(calc(100vw - 2rem), 404px);
			transform: translateX(-50%);
		}

		.hero-cta-shell.is-floating .site-container {
			width: 100%;
		}

		.hero-cta-shell.is-floating .hero-cta-button {
			max-width: none;
		}

		.hero-cta-shell.is-floating.is-hidden {
			opacity: 0;
			pointer-events: none;
			transform: translate(-50%, 18px);
		}

		.brand-surface {
			background-color: #111827;
			background-image: var(--brand-surface-image, url("/assets/images/flow-bg.jpg"));
			background-position: center bottom;
			background-size: cover;
			background-repeat: no-repeat;
		}

		.brand-orbit--image-mode {
			background-image: none;
			background-position: center;
			background-repeat: no-repeat;
			background-size: contain;
		}

		.brand-orbit--image-mode .brand-orbit__core,
		.brand-orbit--image-mode .brand-node {
			display: none;
		}

		.brand-orbit::before,
		.brand-orbit::after {
			content: none;
		}

		.brand-orbit {
			height: 460px;
		}

		.brand-node {
			position: absolute;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 82px;
			height: 82px;
			border-radius: 9999px;
			background: rgba(52, 59, 76, 0.88);
			box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
			backdrop-filter: blur(6px);
		}

		.brand-node img {
			width: 68%;
			height: 38%;
			object-fit: contain;
		}

		.brand-node.text-node {
			font-family: "Pretendard", "Freesentation", system-ui, sans-serif;
			font-weight: 700;
			color: #ffffff;
			letter-spacing: -0.03em;
		}

		.brand-orbit__core {
			position: absolute;
			left: 50%;
			top: 66%;
			z-index: 10;
			width: 38%;
			transform: translate(-50%, -50%);
		}

		.swiper-button-next,
		.swiper-button-prev {
			width: 42px;
			height: 42px;
			border-radius: 9999px;
			background: rgba(255, 255, 255, 0.96);
			box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
			color: #737b88;
		}

		.swiper-button-next::after,
		.swiper-button-prev::after {
			font-size: 13px;
			font-weight: 900;
		}

		.swiper-pagination-bullet {
			background: #bcc2d0;
			opacity: 1;
		}

		.swiper-pagination-bullet-active {
			background: #1476ff;
		}

		.strategy-swiper {
			position: relative;
		}

		.strategy-swiper .swiper-button-next,
		.strategy-swiper .swiper-button-prev {
			display: flex;
			align-items: center;
			justify-content: center;
			top: 50%;
			width: 32px;
			height: 32px;
			margin-top: 0;
			border: 0;
			background: transparent;
			box-shadow: none;
			color: rgba(255, 255, 255, 0.8);
			transform: translateY(-50%);
			transition: color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
			z-index: 50;
		}

		.strategy-swiper .swiper-button-prev {
			left: 10px;
		}

		.strategy-swiper .swiper-button-next {
			right: 10px;
		}

		.strategy-swiper .swiper-button-next::after,
		.strategy-swiper .swiper-button-prev::after {
			font-size: 20px;
			font-weight: 900;
		}

		.strategy-swiper .swiper-pagination {
			display: none;
		}

		/* 01, 03, 04, 05번용 브랜드 컬러 버튼 화살표 */
		.strategy-swiper--brand-arrows .swiper-button-next,
		.strategy-swiper--brand-arrows .swiper-button-prev {
			color: #9b9b9b;
		}

		.strategy-swiper--brand-arrows .swiper-button-next:hover,
		.strategy-swiper--brand-arrows .swiper-button-prev:hover {
			color: #0056cc;
		}

		.strategy-media {
			width: 100%;
			max-width: 940px;
			justify-self: end;
			position: relative;
			overflow: hidden;
			border-radius: 30px;
			background: #ffffff;
			box-shadow: 0 18px 46px rgba(15, 23, 42, 0.12);
			padding: 0; /* 여백 제거하여 풀커버 */
		}

		.strategy-swiper,
		.strategy-swiper .swiper-wrapper,
		.strategy-swiper .swiper-slide {
			height: auto;
		}

		.strategy-swiper .swiper-slide {
			display: flex;
			align-items: stretch;
			min-height: clamp(260px, 34vw, 490px);
		}

		.strategy-swiper .swiper-slide img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: contain; /* 원본 비율 유지 (깨짐 방지) */
			background: #ffffff; /* 비율 차이로 인한 공백 발생 시 배경색 */
		}

		.strategy-frame {
			position: relative;
			width: 100%;
			height: 100%;
			overflow: hidden;
		}

		.strategy-dual-copy {
			position: absolute;
			inset: auto 0 0 0;
			z-index: 2;
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
		}

		.strategy-dual-copy-item {
			padding: 0 clamp(18px, 3vw, 34px) clamp(20px, 3vw, 28px);
			color: #ffffff;
			text-align: left;
			text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
		}

		.strategy-split-copy-title {
			display: block;
			font-family: "Pretendard", "Freesentation", system-ui, sans-serif;
			font-size: clamp(1.25rem, 2vw, 1.875rem);
			font-weight: 800;
			line-height: 1.1;
			letter-spacing: -0.04em;
			text-transform: uppercase;
		}

		.strategy-split-copy-subtitle {
			display: block;
			margin-top: 0.35rem;
			font-family: "Pretendard", "Freesentation", system-ui, sans-serif;
			font-size: clamp(0.875rem, 1.1vw, 1.125rem);
			font-weight: 600;
			line-height: 1.2;
			letter-spacing: -0.03em;
			opacity: 0.9;
		}

		.strategy-swiper--light-arrows .swiper-button-next,
		.strategy-swiper--light-arrows .swiper-button-prev {
			color: rgba(255, 255, 255, 0.96);
		}

		.policy-trigger {
			color: #1476ff;
			font-weight: 700;
			line-height: 1;
			transition: color 0.2s ease, opacity 0.2s ease;
		}

		.policy-trigger:hover {
			color: #0d6cf0;
		}

		.policy-trigger:focus-visible {
			outline: 2px solid rgba(20, 118, 255, 0.24);
			outline-offset: 2px;
			border-radius: 6px;
		}

		.policy-trigger-footer {
			color: rgba(255, 255, 255, 0.72);
			font-weight: 500;
		}

		.policy-trigger-footer:hover {
			color: #ffffff;
		}

		.textarea-template {
			color: #111318;
		}

		.textarea-template.is-template {
			color: #94a3b8;
		}

		@media (max-width: 767px) {
			.brand-surface {
				background-image: var(--brand-surface-mobile-image, var(--brand-surface-image, url("/assets/images/flow-bg.jpg")));
				background-position: var(--brand-surface-mobile-position, center top);
				background-size: var(--brand-surface-mobile-size, cover);
			}
			.all-in-one-grid {
				display: grid !important;
				grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
				column-gap: 0 !important;
				row-gap: 2.5rem !important;
				margin-top: 2.25rem;
				align-items: start;
			}
			.all-in-one-item {
				grid-column: span 2 / span 2 !important;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: flex-start;
				padding: 0 0.4rem 0 !important;
				text-align: center;
			}
			.all-in-one-item:nth-child(4),
			.all-in-one-item:nth-child(5) {
				grid-column: span 3 / span 3 !important;
				padding-top: 0.5rem !important;
			}
			.all-in-one-item:nth-child(1)::after,
			.all-in-one-item:nth-child(2)::after,
			.all-in-one-item:nth-child(4)::after {
				content: "";
				position: absolute;
				right: 0;
				top: 0.875rem;
				height: 8.9rem;
				width: 1px;
				background: rgba(203, 213, 225, 0.72);
			}
			.all-in-one-item img {
				height: 72px !important;
				width: 72px !important;
			}
			.all-in-one-item h3 {
				margin-top: 1rem !important;
				font-size: 1.125rem !important;
				line-height: 1.4 !important;
				letter-spacing: -0.03em;
				word-break: keep-all;
			}
			.all-in-one-item:nth-child(4) h3,
			.all-in-one-item:nth-child(5) h3 {
				margin-top: 0.95rem !important;
			}
			.all-in-one-copy {
				margin-top: 4rem !important;
				font-size: 1.75rem !important;
				line-height: 1.55 !important;
				letter-spacing: -0.04em;
			}
			.strategy-media {
				width: calc(100% + 2rem);
				max-width: none;
				margin-left: -1rem;
				margin-right: -1rem;
				justify-self: stretch;
				border-radius: 0;
				box-shadow: none;
			}
			.strategy-swiper .swiper-slide {
				min-height: auto;
			}
			.strategy-frame img {
				height: auto;
			}
			.strategy-dual-copy-item {
				padding: 0 16px 18px;
			}
			.strategy-swiper .swiper-button-prev {
				left: 0.75rem;
			}
			.strategy-swiper .swiper-button-next {
				right: 0.75rem;
			}
			.brand-orbit {
				height: 620px;
				max-width: 100%;
				overflow: hidden;
			}
			.brand-orbit--image-mode {
				height: auto;
				min-height: 0;
				aspect-ratio: var(--brand-orbit-mobile-ratio, 769 / 783);
				background-image: var(--brand-orbit-mobile-image);
				background-position: var(--brand-orbit-mobile-position, center top);
				background-repeat: no-repeat;
				background-size: var(--brand-orbit-mobile-size, contain);
			}
			.brand-orbit::before {
				content: "";
				position: absolute;
				left: 50%;
				top: 55%;
				width: 138%;
				height: 138%;
				border: 1px dashed rgba(140, 178, 255, 0.22);
				border-radius: 9999px;
				transform: translate(-50%, -50%);
			}
			.brand-orbit--image-mode::before,
			.brand-orbit--image-mode::after {
				content: none;
			}
			.brand-orbit__core {
				top: 60%;
				width: min(40vw, 180px);
			}
			.brand-node {
				width: 96px;
				height: 96px;
			}
			.brand-node img {
				width: 72%;
				height: 40%;
			}
			.brand-orbit .brand-node--1 {
				left: 19%;
				top: 72%;
			}
			.brand-orbit .brand-node--2 {
				left: 19%;
				top: 54%;
			}
			.brand-orbit .brand-node--3 {
				left: 29%;
				top: 36%;
			}
			.brand-orbit .brand-node--4 {
				left: 41%;
				top: 20%;
			}
			.brand-orbit .brand-node--5 {
				left: 61%;
				top: 20%;
			}
			.brand-orbit .brand-node--6 {
				left: 81%;
				top: 36%;
			}
			.brand-orbit .brand-node--7 {
				left: 81%;
				top: 60%;
			}
			.brand-orbit .brand-node--8 {
				left: 61%;
				top: 76%;
			}
			.hero-surface {
				background-image: url("/assets/images/sec1_bg_mo.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
			}
		}

		@media (min-width: 768px) {
			.hero-cta-shell {
				min-height: 84px;
			}
			.hero-cta-shell.is-floating {
				bottom: 1.5rem;
				width: min(calc(100vw - 4rem), 404px);
			}
			.brand-orbit {
				height: 760px;
				max-width: 1120px;
			}
			.brand-orbit--image-mode {
				width: 100%;
				height: auto;
				min-height: 0;
				aspect-ratio: var(--brand-orbit-desktop-ratio, 1156 / 568);
				background-image: var(--brand-orbit-desktop-image, var(--brand-orbit-mobile-image));
				background-position: var(--brand-orbit-desktop-position, center center);
				background-repeat: no-repeat;
				background-size: var(--brand-orbit-desktop-size, contain);
			}
			.brand-node {
				width: 156px;
				height: 156px;
			}
			.brand-orbit__core {
				top: 66%;
				width: 26%;
			}
			.brand-orbit .brand-node--1 {
				left: 4%;
				top: 76%;
			}
			.brand-orbit .brand-node--2 {
				left: 11%;
				top: 53%;
			}
			.brand-orbit .brand-node--3 {
				left: 23%;
				top: 34%;
			}
			.brand-orbit .brand-node--4 {
				left: 40%;
				top: 23%;
			}
			.brand-orbit .brand-node--5 {
				left: 58%;
				top: 23%;
			}
			.brand-orbit .brand-node--6 {
				left: 76%;
				top: 34%;
			}
			.brand-orbit .brand-node--7 {
				left: 89%;
				top: 53%;
			}
			.brand-orbit .brand-node--8 {
				left: 96%;
				top: 76%;
			}
		}

		/* --- 모달 관련 커스텀 스타일 --- */
		.modal-backdrop {
			background: rgba(15, 23, 42, 0.82); /* 깊이감 있는 네이비 블랙 */
			backdrop-filter: blur(10px); /* 블러 효과 강화 */
			-webkit-backdrop-filter: blur(10px);
		}

		.modal-content-animate {
			animation: modalShow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		}

		@keyframes modalShow {
			from { opacity: 0; transform: translateY(30px) scale(0.98); }
			to { opacity: 1; transform: translateY(0) scale(1); }
		}

		.policy-content::-webkit-scrollbar {
			width: 5px;
		}
		.policy-content::-webkit-scrollbar-track {
			background: #f1f5f9;
		}
		.policy-content::-webkit-scrollbar-thumb {
			background: #cbd5e1;
			border-radius: 10px;
		}
		.policy-content::-webkit-scrollbar-thumb:hover {
			background: #94a3b8;
		}

		.floating-top {
			opacity: 0;
			pointer-events: none;
			transform: translateY(10px);
			transition: opacity 0.22s ease, transform 0.22s ease;
		}

		.floating-top.is-visible {
			opacity: 1;
			pointer-events: auto;
			transform: translateY(0);
		}