:root {
	--c-a: #e2e2e2;
	--c-b: #f5f5f5;
	--c-c: #f0d0ee;
	--c-d: #f0c8f0;
	--c-e: #f0b8ef;
	--c-ink: #00221a;
	--c-ink-soft: #717977;
	--c-accent: #ff00ea;
	--radius-xl: 28px;
	--radius-l: 18px;
	--radius-m: 12px;
	--shadow-1: 0 10px 30px rgba(255, 0, 255, 0.35);
	--shadow-2: 0 14px 40px rgba(113, 121, 119, 0.12);
	--sp: clamp(14px, 1.2vw, 18px);
	--w-max: 1200px;
}

html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

body {
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
}
.s-190171 {
	max-width: var(--w-max);
	margin: 0 auto;
	padding: 0 20px;
}
.s-190171--inl-3c1503 {
	text-align: center;
}
.s-384991 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 0;
	position: relative;
	z-index: 5;
	padding: 0 20px;
}
.s-592110 {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}
.s-592110 svg {
	width: 36px;
	height: 36px;
	filter: drop-shadow(var(--shadow-2));
	animation: 6s ease-in-out 0.8s infinite s-breathe;
}
.s-592110 .s-708311 {
	font-weight: 800;
	letter-spacing: 0.4px;
	font-size: 1.05rem;
	color: var(--c-ink);
}
.s-900222 {
	display: flex;
	align-items: center;
	gap: 16px;
}
.s-900222 a {
	color: var(--c-ink);
	text-decoration: none;
	font-weight: 600;
	padding: 10px 12px;
	border-radius: 10px;
}
.s-900222 a:hover {
	background: var(--c-b);
}
.s-910010 {
	display: none;
}
.s-910010 button {
	all: unset;
	cursor: pointer;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--c-b);
	box-shadow: var(--shadow-2);
}
.s-910010 span {
	width: 22px;
	height: 2px;
	background: var(--c-ink);
	display: block;
	position: relative;
}
.s-910010 span:after,
.s-910010 span:before {
	content: '';
	position: absolute;
	left: 0;
	width: 22px;
	height: 2px;
	background: var(--c-ink);
}
.s-910010 span:before {
	top: -6px;
}
.s-910010 span:after {
	top: 6px;
}
.s-770003 {
	position: absolute;
	inset: 0;
	background: rgba(0, 34, 26, 0.28);
	backdrop-filter: saturate(120%) blur(6px);
	display: none;
	z-index: 99;
}
.s-770003 .s-770004 {
	position: absolute;
	top: 0;
	right: 0;
	width: min(86vw, 420px);
	height: 100%;
	background: linear-gradient(180deg, var(--c-a), var(--c-b));
	padding: 22px 18px 40px;
	border-top-left-radius: 24px;
	box-shadow: var(--shadow-1);
}
.s-770004 a {
	display: block;
	margin: 10px 4px;
	padding: 14px 16px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	color: var(--c-ink);
	font-weight: 700;
}
.s-770010 {
	position: absolute;
	top: 14px;
	right: 14px;
	all: unset;
	cursor: pointer;
	background: #fff;
	border-radius: 12px;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	box-shadow: var(--shadow-2);
}
.s-181818 {
	position: sticky;
	top: 0;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.9),
		rgba(255, 255, 255, 0.78)
	);
	backdrop-filter: saturate(120%) blur(10px);
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	z-index: 60;
	padding: 20px 0;
}
.s-444444 {
	position: relative;
	min-height: 88vh;
	display: grid;
	align-items: center;
	overflow: hidden;
}
.s-555555,
.s-555556,
.s-555557 {
	position: absolute;
	filter: blur(20px) saturate(120%);
	opacity: 0.55;
	mix-blend-mode: multiply;
}
.s-555555 {
	width: 520px;
	height: 520px;
	left: -120px;
	top: 80px;
	background: radial-gradient(
		circle at 30% 30%,
		#edc8f0,
		#b8f0d5 60%,
		#e2e2e2 100%
	);
	border-radius: 46% 54% 42% 58%/38% 40% 60% 62%;
	animation: 18s ease-in-out infinite s-blob1;
}
.s-555556 {
	width: 380px;
	height: 380px;
	right: 10%;
	bottom: 14%;
	background: radial-gradient(
		circle at 60% 40%,
		#f5f5f5,
		#e2e2e2 60%,
		#e7d0f0 100%
	);
	border-radius: 56% 44% 60% 40%/58% 42%;
	animation: 20s ease-in-out infinite s-blob2;
}
.s-555557 {
	width: 280px;
	height: 280px;
	left: 52%;
	top: 10%;
	background: radial-gradient(
		circle at 60% 40%,
		#f0c8f0,
		#e2e2e2 70%,
		#f5f5f5 100%
	);
	border-radius: 50% 50% 45% 55%/60% 40%;
	animation: 24s ease-in-out infinite s-blob3;
}
@keyframes s-blob1 {
	0%,
	100% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(18px) rotate(20deg);
	}
}
@keyframes s-blob2 {
	0%,
	100% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-22px) rotate(-16deg);
	}
}
@keyframes s-blob3 {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-14px, 10px);
	}
}
.s-121212 {
	position: relative;
	z-index: 2;
}
.s-333333 {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	gap: 40px;
	align-items: center;
	padding: clamp(24px, 4vw, 46px) 0;
}
.s-313131 {
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.75),
		rgba(255, 255, 255, 0.58)
	);
	border-radius: 46px 22px/30px 40px 30px 38px;
	box-shadow: var(--shadow-1);
	padding: clamp(22px, 3vw, 34px);
}
.s-202020 {
	display: flex;
	gap: 16px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.s-202020 .s-pill {
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid rgba(0, 0, 0, 0.05);
	padding: 8px 12px;
	border-radius: 999px;
	font-size: 0.82rem;
	color: var(--c-ink-soft);
	box-shadow: var(--shadow-2);
}
.s-131313 {
	font-size: clamp(32px, 4.6vw, 56px);
	line-height: 1.05;
	letter-spacing: 0.2px;
	color: var(--c-ink);
	font-weight: 900;
	margin: 0 0 14px;
}
.s-141414 {
	font-size: clamp(16px, 1.25vw, 20px);
	color: var(--c-ink-soft);
	margin: 0 0 18px;
	max-width: 60ch;
}
.s-151515 {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.s-151515 a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	font-weight: 800;
	border-radius: 14px;
	padding: 12px 16px;
}
.s-cta-1 {
	background: linear-gradient(90deg, #ff00ea, #a0ff82);
	box-shadow: var(--shadow-1);
	color: #00221a;
}
.s-cta-1--inl-bbe9ac {
	border: none;
}
.s-cta-1:hover {
	transform: translateY(-1px);
}
.s-cta-2 {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	color: var(--c-ink);
	box-shadow: var(--shadow-2);
}
.s-cta-2--inl-9f2eda {
	border: 1px solid rgba(0, 0, 0, 0.06);
}
.s-meta {
	display: flex;
	gap: 18px;
	align-items: center;
	margin-top: 18px;
	color: var(--c-ink-soft);
	font-size: 0.92rem;
}
.s-meta--inl-964c04 {
	justify-content: center;
	margin-top: 10px;
}
.s-meta svg {
	opacity: 0.7;
}
.s-414141 {
	position: relative;
	isolation: isolate;
}
.s-424242 {
	position: relative;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.6),
		rgba(255, 255, 255, 0.35)
	);
	border: 1px solid rgba(0, 0, 0, 0.05);
	border-radius: 30px;
	padding: 18px;
	box-shadow: var(--shadow-2);
}
.s-434343 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.s-434343 img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	border-radius: 16px;
	filter: saturate(105%) contrast(98%) brightness(103%);
}
.s-badge {
	position: absolute;
	top: -14px;
	left: -10px;
	background: linear-gradient(90deg, #a0ff82, #ff00ea);
	color: #00221a;
	padding: 8px 12px;
	border-radius: 999px;
	font-weight: 800;
	box-shadow: var(--shadow-1);
}
.s-in {
	opacity: 0;
	transform: translateY(16px);
	transition:
		opacity 0.8s,
		transform 0.8s;
}
.s-in--inl-3068a4 {
	margin: 20px auto 0;
	max-width: 900px;
}
.s-in.s-on {
	opacity: 1;
	transform: none;
}
.s-550000 {
	padding: clamp(36px, 6vw, 80px) 0;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.86),
		rgba(255, 255, 255, 0.9)
	);
}
.s-550001 {
	padding: clamp(36px, 6vw, 80px) 0;
	background: linear-gradient(180deg, var(--c-b), #fff);
}
.s-550002 {
	padding: clamp(36px, 6vw, 80px) 0;
	background: linear-gradient(180deg, var(--c-c), var(--c-b));
}
.s-550003 {
	padding: clamp(36px, 6vw, 80px) 0;
	background: linear-gradient(180deg, #fff, var(--c-d));
}
.s-ttl {
	font-size: clamp(26px, 3.4vw, 42px);
	font-weight: 900;
	letter-spacing: 0.2px;
	margin: 0 0 10px;
	color: var(--c-ink);
}
.s-sub {
	color: var(--c-ink-soft);
	max-width: 66ch;
	margin: 0 auto 30px;
	text-align: center;
}
.s-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.s-card {
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 22px;
	padding: 18px;
	box-shadow: var(--shadow-2);
}
.s-card--inl-38cdb4 {
	margin-top: 8px;
}
.s-card h3 {
	margin: 0 0 6px;
	font-size: 1.05rem;
}
.s-card p {
	margin: 0;
	color: var(--c-ink-soft);
}
.s-icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: linear-gradient(90deg, #ff00ea, #a0ff82);
	display: grid;
	place-items: center;
	margin-bottom: 10px;
	box-shadow: var(--shadow-1);
}

.s-step {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 18px;
	padding: 16px;
	margin: 14px 0;
	box-shadow: var(--shadow-2);
	position: relative;
}
.s-dot {
	position: absolute;
	left: -20px;
	top: 18px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: linear-gradient(#ff00ea, #a0ff82);
	box-shadow: 0 0 0 6px rgba(0, 255, 214, 0.15);
}
.s-chart {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 22px;
	padding: 16px;
	box-shadow: var(--shadow-2);
}
.s-chart svg {
	width: 100%;
	height: auto;
	display: block;
}
.s-faq {
	max-width: 900px;
	margin: 0 auto;
}
.s-q {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 16px;
	padding: 16px;
	margin: 10px 0;
	cursor: pointer;
	box-shadow: var(--shadow-2);
}
.s-a {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s;
}
.s-q.open + .s-a {
	max-height: 400px;
}
footer {
	padding: 40px 0;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
	background: linear-gradient(180deg, #fff, var(--c-b));
}
.s-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}
.s-foot a {
	color: var(--c-ink-soft);
	text-decoration: none;
}
.s-cookie {
	position: fixed;
	left: 14px;
	right: 14px;
	bottom: 14px;
	background: linear-gradient(90deg, #a0ff82, #ff00ea);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 18px;
	padding: 14px;
	box-shadow: var(--shadow-1);
	display: none;
	z-index: 70;
	width: 30%;
}
.s-cookie b {
	color: #00221a;
}
.s-rail {
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	width: 100%;
	background: rgba(0, 0, 0, 0.04);
	z-index: 80;
}
.s-rail > i {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #ff00ea, #a0ff82);
	box-shadow: var(--shadow-1);
	transition: width 0.12s linear;
}
.s-fade {
	opacity: 0;
	transform: translateY(10px);
}
.s-fade.s-on {
	opacity: 1;
	transform: none;
	transition:
		opacity 0.8s,
		transform 0.8s;
}
.s-reveal {
	--d: 0s;
	--speed: 1s;
	position: relative;
	display: inline-block;
}
.s-reveal::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0.85),
		rgba(255, 255, 255, 0)
	);
	transform: translateX(-102%);
	border-radius: 8px;
}
.s-reveal.s-on {
	animation: s-rev var(--speed) ease forwards var(--d);
}
.s-reveal.s-on::after {
	animation: s-wipe calc(var(--speed) * 0.9) ease forwards var(--d);
}
@keyframes s-rev {
	from {
		opacity: 0.001;
		filter: blur(6px);
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		filter: none;
		transform: none;
	}
}
@keyframes s-wipe {
	to {
		transform: translateX(101%);
		opacity: 0;
	}
}
.s-press {
	transition:
		transform 0.15s,
		box-shadow 0.3s,
		background-position 0.6s;
}
.s-press:active {
	transform: translateY(1px) scale(0.995);
}
.s-cta-1 {
	background-image: linear-gradient(90deg, #ff00ea, #a0ff82);
	background-size: 200% 100%;
}
.s-cta-1:hover {
	background-position: 100% 0;
}
.s-pop {
	transform: translateY(8px) scale(0.98);
	opacity: 0;
	will-change: transform, opacity;
}
.s-pop.s-on {
	opacity: 1;
	transform: none;
	transition:
		transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1),
		opacity 0.7s;
}
.s-202020 .s-pill {
	opacity: 0;
	transform: translateY(6px);
	transition:
		opacity 0.5s,
		transform 0.5s;
}
.s-202020.s-on .s-pill {
	opacity: 1;
	transform: none;
}
.s-202020.s-on .s-pill:first-child {
	transition-delay: 0.05s;
}
.s-202020.s-on .s-pill:nth-child(2) {
	transition-delay: 0.15s;
}
.s-202020.s-on .s-pill:nth-child(3) {
	transition-delay: 0.25s;
}
@keyframes s-breathe {
	0%,
	100% {
		transform: none;
		filter: drop-shadow(var(--shadow-2));
	}
	50% {
		transform: translateY(-1px);
	}
}
.s-555555,
.s-555556,
.s-555557 {
	animation-name: s-blob1, s-hue !important;
	animation-duration: 18s, 24s;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out, linear;
}
@keyframes s-hue {
	0% {
		filter: hue-rotate(0deg) blur(20px) saturate(120%);
	}
	100% {
		filter: hue-rotate(20deg) blur(20px) saturate(120%);
	}
}
.s-434343 img {
	transition:
		transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1),
		filter 0.6s;
}
.s-434343 img:hover {
	transform: translateY(-2px) scale(1.02);
	filter: saturate(110%) contrast(102%);
}
@media (max-width: 1080px) {
	.s-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 820px) {
	.s-333333 {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	.s-434343 img {
		height: 200px;
	}
	.s-900222 {
		display: none;
	}
	.s-910010 {
		display: block;
	}
}
@media (prefers-reduced-motion: reduce) {
	.s-434343 img,
	.s-592110 svg,
	.s-fade,
	.s-pop,
	.s-press,
	.s-reveal {
		animation: none !important;
		transition: none !important;
	}
	.s-rail {
		display: none;
	}
}
.elem--inl-c062cb {
	border-radius: 14px;
	height: 220px;
	margin-top: 10px;
	object-fit: cover;
	width: 100%;
	min-height: 50vh;
}
.elem--inl-5b34e4 {
	border-radius: 12px;
	height: 160px;
	margin-top: 10px;
	object-fit: cover;
	width: 100%;
}
.elem--inl-a11c1a {
	border-radius: 18px;
	height: 280px;
	object-fit: cover;
	width: 100%;
}
.elem--inl-a1a861 {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}
