@charset "utf-8";

/* Sub hero */

.sub_hero {
	position: relative; overflow: hidden; min-height: 420px; color: #fff;
	background: var(--hero-bg, #8231a7);
}
.sub_hero_motion { position: absolute; inset: 0; overflow: hidden; }
/* 크기/위치/블러는 service_color_guide.html(.blob/.big/.mid/.small)과 동일하게 맞춤 -
   움직임(애니메이션)은 그 가이드엔 없는 값이라 기존 temp.html 유래 drift를 그대로 유지 */
.sub_hero_blob {
	position: absolute; border-radius: 50%;
	filter: blur(50px); will-change: transform;
}
.sub_hero_blob_big {
	width: 64vw; height: 64vw; left: -9%; top: -28%;
	background: radial-gradient(circle at 32% 32%, var(--hero-big), transparent 70%);
	animation: sub_hero_drift_a 9s ease-in-out infinite;
}
.sub_hero_blob_mid {
	width: 54vw; height: 54vw; right: -8%; top: -30%;
	background: radial-gradient(circle at 58% 42%, var(--hero-mid), transparent 70%);
	animation: sub_hero_drift_b 11s ease-in-out infinite;
}
.sub_hero_blob_small {
	width: 60vw; height: 60vw; left: 32%; bottom: -65%;
	background: radial-gradient(circle, var(--hero-small), transparent 70%);
	animation: sub_hero_drift_c 13s ease-in-out infinite;
}
@keyframes sub_hero_drift_a {
	0%, 100% { transform: translate(0, 0) scale(1) rotate(0deg); }
	33%      { transform: translate(22vw, 16vh) scale(1.3) rotate(40deg); }
	66%      { transform: translate(-12vw, 26vh) scale(.8) rotate(-30deg); }
}
@keyframes sub_hero_drift_b {
	0%, 100% { transform: translate(0, 0) scale(1) rotate(0deg); }
	33%      { transform: translate(-18vw, 22vh) scale(.75) rotate(-35deg); }
	66%      { transform: translate(-28vw, -12vh) scale(1.25) rotate(25deg); }
}
@keyframes sub_hero_drift_c {
	0%, 100% { transform: translate(0, 0) scale(1) rotate(0deg); }
	33%      { transform: translate(18vw, -22vh) scale(1.2) rotate(30deg); }
	66%      { transform: translate(26vw, -6vh) scale(.78) rotate(-40deg); }
}
@media (prefers-reduced-motion: reduce) {
	.sub_hero_blob { animation: none; }
}

/* About */

.about_hero { position: relative; overflow: hidden; height: 500px; display: flex; align-items: center; justify-content: center; color: #fff; }
.about_hero h1 { position: relative; z-index: 1; margin: 0; font-size: 54px; font-weight: 600; }
.about_hero.hero_greetings {
	height: 600px;
	align-items: flex-start;
	background: #8231a7;
	--hero-big: #d199ff;
	--hero-mid: #ff3d75;
	--hero-small: #3c51c9;
}
.about_hero.hero_greetings h1 { margin-top: 128px; line-height: 1; }
.about_hero.hero_organization {
	height: 600px;
	align-items: flex-start;
	--hero-bg: #3951c9;
	--hero-big: #94a5fe;
	--hero-mid: #ff3d75;
	--hero-small: #8231a7;
	background: var(--hero-bg);
}
.about_hero.hero_organization h1 {
	margin-top: 128px;
	line-height: 1;
}
.about_hero.hero_network {
	height: 600px;
	align-items: flex-start;
	--hero-bg: #ff3d75;
	--hero-big: #f4a5bc;
	--hero-mid: #3951c9;
	--hero-small: #8231a7;
	background: var(--hero-bg);
}
.about_hero.hero_network h1 {
	margin-top: 128px;
	line-height: 1;
}
.about_hero.hero_contact {
	height: 600px;
	align-items: flex-start;
	--hero-bg: #8231a7;
	--hero-big: #d199ff;
	--hero-mid: #ff3d75;
	--hero-small: #3c51c9;
	background: var(--hero-bg);
}
.about_hero.hero_contact h1 { margin-top: 128px; line-height: 1; }

.about_body { padding: 60px 0 90px; }
.page_overview .about_body { padding: 0; }
.page_overview .about_body > .container { width: 1604px; max-width: none; }

.ceo_intro { position: relative; z-index: 2; display: grid; grid-template-columns: 790px 485px; gap: 126px; height: 520px; margin-top: -300px; background: #fff; }
.ceo_photo { position: relative; width: 790px; height: 520px; overflow: visible; background: #f0f2f0; }
.ceo_photo::after { content: ""; position: absolute; right: 0; top: 0; width: 214px; height: 100%; background: linear-gradient(90deg, rgba(242,244,243,0), #f0f2f0); }
.ceo_photo_image { width: 790px; height: 520px; overflow: hidden; }
.ceo_photo_image > img { display: block; width: 666px; height: 534px; object-fit: cover; }
.ceo_photo_caption { position: absolute; z-index: 2; right: -32px; bottom: 16px; display: flex; flex-direction: column; align-items: flex-start; color: #222; font-family: "IBM Plex Sans", sans-serif; }
.ceo_photo_caption > img { display: block; width: 156px; height: 51px; object-fit: contain; }
.ceo_photo.is_motion_ready .ceo_photo_image > img {
	opacity: 0;
	filter: blur(3px);
	transform: scale(1.02);
	transform-origin: center center;
	transition: opacity 1.45s ease, filter 1.35s ease, transform 1.8s cubic-bezier(.22, 1, .36, 1);
}
.ceo_photo.is_motion_ready .ceo_photo_caption {
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .8s ease .7s, transform .9s cubic-bezier(.22, 1, .36, 1) .7s;
}
.ceo_photo.is_motion_ready.is_visible .ceo_photo_image > img { opacity: 1; filter: blur(0); transform: scale(1); }
.ceo_photo.is_motion_ready.is_visible .ceo_photo_caption { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
	.ceo_photo.is_motion_ready .ceo_photo_image > img,
	.ceo_photo.is_motion_ready .ceo_photo_caption { opacity: 1; transform: none; transition: none; }
}
.ceo_message { position: relative; padding-top: 80px; }
.ceo_intro h2 { position: relative; z-index: 1; margin: 0 0 50px; font-size: 36px; font-weight: 700; line-height: 1; }
.ceo_intro .quote_mark { position: absolute; left: -27px; top: 62px; display: block; width: 100px; height: 69px; object-fit: contain; pointer-events: none; }
.ceo_intro p { position: relative; z-index: 1; margin: 0 0 16px; font-size: 18px; line-height: 30px; color: #222; }

.ceo_services { display: grid; grid-template-columns: 485px 485px; justify-content: space-between; width: 1200px; margin: 100px auto 0; }
.ceo_services p { margin: 0 0 20px; font-size: 18px; line-height: 30px; color: #222; }
.ceo_services p strong { display: block; font-size: 20px; font-weight: 700; line-height: 34px; }
.ceo_services ul { margin: 20px 0 0; padding-left: 27px; list-style: none; font-size: 18px; line-height: 30px; color: #222; }
.ceo_services li { position: relative; display: list-item; margin: 0; list-style: none; }
.ceo_services li::before { content: ""; position: absolute; left: -18px; top: 15px; width: 4px; height: 4px; border-radius: 50%; background: #222; transform: translateY(-50%); }

.mv_section { position: relative; height: 1000px; padding: 125px 0 0; margin: 100px calc(50% - 50vw) 0; overflow: hidden; background: linear-gradient(-63deg, #efe5fe 0%, rgba(246,241,255,.6) 100%); }
.mv_section::before,
.mv_section::after { content: ""; position: absolute; left: 50%; top: 561px; border: 1px solid #e6d6ed; border-radius: 50%; transform: translate(-50%, -50%); }
.mv_section::before { width: 1599px; height: 1599px; }
.mv_section::after { width: 920px; height: 920px; }
.mv_section h2 { position: relative; z-index: 6; margin: 0 0 131px; text-align: center; font-size: 54px; font-weight: 600; line-height: 1; }
.mv_grid { position: relative; z-index: 1; display: grid; grid-template-columns: 204px 490px 204px; align-items: center; justify-content: center; gap: 110px; margin: 0 auto; }
.mv_orbit { position: relative; justify-self: center; display: grid; place-items: center; width: 490px; height: 490px; border-radius: 50%; }
.mv_orbit::before { content: ""; position: absolute; z-index: 2; left: 50%; top: calc(50% + 6px); width: 310px; height: 310px; border-radius: 50%; background: rgba(230,219,255,.58); transform: translate(-50%, -50%); animation: mv_wave_beat 2.4s ease-in-out infinite; }
.mv_orbit_art { position: absolute; z-index: 1; left: 50%; top: 50%; display: block; width: 930px; height: 930px; max-width: none; pointer-events: none; transform: translate(-50%, -50%); }
.mv_circle { position: relative; z-index: 5; display: grid; place-items: center; width: 231px; height: 231px; border-radius: 50%; background: linear-gradient(144deg, #d199ff 0%, #8030a7 100%); color: #fff; font-family: Roboto, Arial, sans-serif; font-size: 54px; font-weight: 600; transform: translateY(6px); }
.mv_orbit_dot { --orbit-radius: 460px; position: absolute; z-index: 4; left: 50%; top: calc(50% + 6px); width: 0; height: 0; animation: mv_orbit 18s linear infinite; }
.mv_orbit_dot::after { content: ""; position: absolute; left: var(--orbit-radius); top: 0; width: 15px; height: 15px; border-radius: 50%; background: #e6d6ed; transform: translate(-50%, -50%); }
.mv_orbit_dot.dot_02 { animation-delay: -9s; }
.mv_orbit_dot.dot_03 { --orbit-radius: 799.5px; animation-duration: 28s; animation-delay: 0s; }
.mv_orbit_dot.dot_04 { --orbit-radius: 799.5px; animation-duration: 28s; animation-delay: -7s; }
.mv_orbit_dot.dot_05 { --orbit-radius: 799.5px; animation-duration: 28s; animation-delay: -14s; }
.mv_orbit_dot.dot_06 { --orbit-radius: 799.5px; animation-duration: 28s; animation-delay: -21s; }
@keyframes mv_orbit { to { transform: rotate(360deg); } }
@keyframes mv_wave_beat {
	0%, 100% { transform: translate(-50%, -50%) scale(1); }
	50% { transform: translate(-50%, -50%) scale(1.045); }
}
.mv_section.is_motion_ready .mv_orbit_dot { animation-play-state: paused; }
.mv_section.is_motion_ready.is_visible .mv_orbit_dot { animation-play-state: running; }
@media (prefers-reduced-motion: reduce) {
	.mv_orbit::before,
	.mv_orbit_dot { animation: none; }
}
.mv_card { position: relative; z-index: 5; text-align: center; }
.mv_card:first-child { text-align: right; transform: translate(-38px, -27px); }
.mv_card:last-child { text-align: left; transform: translate(38px, 93px); }
.mv_card .mv_icon { width: 152px; height: 152px; margin: 0 auto 16px; }
.mv_card:first-child .mv_icon { margin-right: 0; margin-left: auto; transform: translateX(28px); }
.mv_card:last-child .mv_icon { margin-right: auto; margin-left: 0; transform: translateX(-27px); }
.mv_card .mv_icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.mv_card strong { display: block; margin-bottom: 10px; font-size: 36px; font-weight: 700; line-height: 1; color: #8030a7; }
.mv_card p { margin: 0; font-size: 18px; line-height: 30px; color: #222; }
/* 20260909 수정 */
.mv_no_wrap { white-space: nowrap; }

.history_section { padding-top: 80px; padding-bottom: 80px; }
.history_timeline { position: relative; display: grid; grid-template-columns: 360px minmax(0, 668px); column-gap: 92px; max-width: 1120px; margin: 0 auto; padding-top: 60px; }
.history_heading { position: sticky; top: 150px; align-self: start; }
.history_section .history_heading h2 { margin: 0 0 34px; text-align: left; font-size: 24px; font-weight: 500; line-height: 1.2; }
.history_year { height: 100px; font-size: 100px; font-weight: 600; line-height: 1; color: #222; letter-spacing: -.04em; transition: opacity .15s ease, transform .15s ease; }
.history_year b { color: #8231a7; font-weight: 600; }
.history_year.is_changing { opacity: 0; transform: none; }
.history_list { position: relative; grid-column: 2; padding-left: 80px; }
.history_progress { position: absolute; left: 9px; top: 116px; width: 2px; background: #e6d6ed; transform: translateX(-50%); }
.history_progress_fill { position: absolute; inset: 0 auto auto 0; width: 100%; height: 0; background: #8231a7; transition: height .18s ease-out; }
.history_item { position: relative; display: flex; min-height: 380px; padding: 106px 0 80px; flex-direction: column; justify-content: flex-start; }
.history_item:last-child { min-height: 140px; padding-bottom: 0; }
.history_item::before { content: ""; position: absolute; left: -75px; top: 112px; width: 8px; height: 8px; border-radius: 50%; background: #cfcfcf; box-shadow: none; transition: left .3s ease, top .3s ease, width .3s ease, height .3s ease, background .3s ease, transform .35s ease, box-shadow .35s ease; }
.history_item.is_passed::before { left: -80px; top: 106px; width: 20px; height: 20px; background: #8231a7; box-shadow: inset 0 0 0 6px #e6d6ed; }
.history_item.is_active { opacity: 1; }
.history_item.is_active::before { transform: scale(1.12); box-shadow: inset 0 0 0 6px #e6d6ed, 0 0 0 5px rgba(130,49,167,.08); }
.history_item .year { display: none; }
.history_item p { margin: 0 0 24px; font-size: 18px; line-height: 1.67; color: #222; opacity: .35; transform: translateY(20px); transition: opacity .4s ease, transform .4s ease; }
.history_item.is_active p { opacity: 1; transform: translateY(0); }

.organization_body {
	position: relative;
	z-index: 2;
	min-height: 1522px;
	margin-top: -300px;
	padding-top: 120px;
	background-color: transparent;
	background-image: url(../images/organization_bg.png);
	background-repeat: no-repeat;
	background-position: center 685px;
	background-size: 1920px 837px;
}
.organization_body::before { content: ""; position: absolute; z-index: -1; top: 0; right: 0; width: calc(100% - max(8.2vw, 40px)); height: 520px; background: #fff; }
.org_chart { padding: 0; overflow-x: auto; }

.org_stage { position: relative; width: 1200px; height: 1020px; margin: 0 auto; color: var(--purple); }
.org_box { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; min-width: 0; height: 50px; padding: 0 30px; border: 1px solid #e6d6ed; border-radius: 10px; background: #fff; color: var(--purple); font-size: 18px; font-weight: 700; line-height: 30px; white-space: nowrap; }
.org_box.lv_ceo { top: 0; left: 50%; width: 138px; height: 70px; padding: 0; transform: translateX(-50%); border: 0; background: var(--purple); color: #fff; font-size: 28px; font-weight: 600; }
.org_box.lv_team { height: 70px; border-color: var(--purple); background: #f7f3fd; }
.org_line { position: absolute; z-index: 1; background: #e6d6ed; }

.org_legend {
	max-width: 1200px;
	min-height: 130px;
	margin: 0 auto 60px;
	padding: 30px 20px;
	border-radius: 20px;
	background: #f7f3fd;
	display: grid;
	grid-template-columns: 321px 502px 1fr;
	grid-auto-flow: row;
	gap: 0;
	list-style: none;
}
.org_legend li { position: relative; padding-left: 16px; list-style: none; font-size: 18px; line-height: 30px; color: #666; white-space: nowrap; }
.org_legend li::before { content: ""; position: absolute; left: 0; top: 12px; width: 4px; height: 4px; border-radius: 50%; background: #666; }

.org_stage_figma { height: 895px; }
.org_stage_figma .org_box { transform: none; box-sizing: border-box; }
.org_stage_figma .lv_ceo { top: 0; left: 512px; width: 176px; height: 75px; }
.org_stage_figma .lv_team { height: 73px; }
/* 20260909 수정 */
.node_institute_exact { top: 120px; left: 789px; width: 293px; }
.node_strategy_team_exact { top: 283px; left: 171px; width: 260px; }
.node_management_team_exact { top: 283px; left: 790px; width: 222px; }
.node_strategy_division_exact { top: 473px; left: 167px; width: 268px; }
.node_clinical_division_exact { top: 473px; left: 747px; width: 337px; }
.node_nd_exact { top: 645px; left: 140px; width: 88px; }
.node_cd_exact { top: 645px; left: 257px; width: 87px; }
.node_cppm_exact { top: 645px; left: 373px; width: 139px; }
.node_cr_exact { top: 643px; left: 777px; width: 86px; }
.node_smo_exact { top: 643px; left: 929px; width: 101px; }
.org_stage_figma .org_line { position: absolute; z-index: 1; display: block; background: #e6d6ed; }
.line_ceo_exact { top: 75px; left: 600px; width: 1px; height: 328px; }
.line_institute_exact { top: 156px; left: 600px; width: 189px; height: 1px; }
.line_team_axis_exact { top: 233px; left: 300px; width: 600px; height: 1px; }
.line_team_left_exact, .line_team_right_exact { top: 233px; width: 1px; height: 50px; }
.line_team_left_exact { left: 300px; }.line_team_right_exact { left: 900px; }
.line_division_axis_exact { top: 403px; left: 300px; width: 600px; height: 1px; }
.line_division_left_exact, .line_division_right_exact { top: 403px; width: 1px; height: 70px; }
.line_division_left_exact { left: 300px; }.line_division_right_exact { left: 900px; }
.line_dev_spine_exact { top: 546px; left: 300px; width: 1px; height: 99px; }
.line_dev_axis_exact { top: 593px; left: 184px; width: 260px; height: 1px; }
.line_dev_left_exact, .line_dev_right_exact { top: 593px; width: 1px; height: 52px; }
.line_dev_left_exact { left: 184px; }.line_dev_right_exact { left: 444px; }
.line_clinical_leaf_exact { top: 593px; left: 820px; width: 160px; height: 1px; }
.line_clinical_leaf_exact::before, .line_clinical_leaf_exact::after { content: ""; position: absolute; top: 0; width: 1px; height: 50px; background: #e6d6ed; }
.line_clinical_leaf_exact::before { left: 0; }.line_clinical_leaf_exact::after { right: 0; }
.line_clinical_spine_exact { top: 546px; left: 900px; width: 1px; height: 47px; }
.org_stage_figma .org_dot { position: absolute; z-index: 4; display: block; width: 16px; height: 16px; border-radius: 50%; background: #e6d6ed; }
.dot_ceo_exact { top: 67px; left: 592px; }.dot_institute_exact { top: 148px; left: 781px; }.dot_team_left_exact { top: 275px; left: 292px; }.dot_team_right_exact { top: 275px; left: 892px; }
.dot_division_left_exact { top: 465px; left: 292px; }.dot_division_right_exact { top: 465px; left: 892px; }
.dot_nd_exact { top: 637px; left: 176px; }.dot_cd_exact { top: 637px; left: 292px; }.dot_cppm_exact { top: 637px; left: 436px; }
.dot_cr_exact { top: 635px; left: 812px; }.dot_smo_exact { top: 635px; left: 972px; }

.network_body { position: relative; z-index: 2; margin-top: -300px; padding-top: 120px; background: transparent; }
.network_body::before { content: ""; position: absolute; z-index: -1; top: 0; right: 0; width: calc(100% - max(8.2vw, 40px)); height: 520px; background: #fff; }
.network_section + .network_section { margin-top: 70px; }
.network_section h2 { margin: 0 0 24px; font-size: 36px; font-weight: 700; }
.network_section > p { margin: 0; max-width: 1000px; font-size: 18px; line-height: 1.67; color: #222; }
.network_section > p + p { margin-top: 30px; }

.partner_filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 40px 0 34px; }
.partner_filter button { padding: 10px 20px; border: 1px solid #222; border-radius: 30px; background: #fff; color: #222; font-size: 16px; cursor: pointer; transition: .2s; }
.partner_filter button.active { background: var(--purple); border-color: var(--purple); color: #fff; }

.partner_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.partner_card { display: flex; align-items: center; justify-content: center; height: 128px; padding: 16px; border: 1px solid #e6e6e6; border-radius: 4px; text-align: center; font-size: 16px; font-weight: 600; color: #444; }
.partner_card[hidden] { display: none; }
.partner_card.is_filtering_in { animation: partner_filter_in .3s ease both; }
.partner_card img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
@keyframes partner_filter_in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.partner_card.is_filtering_in { animation: none; }
}

.page_contact .about_body {
	position: relative; z-index: 2;
	margin-top: -300px; padding: 121px 0 190px;
	background: transparent;
}
.page_contact .about_body::before {
	content: ""; position: absolute; z-index: 0;
	top: 0; right: 0; left: max(0px, calc(50% - 802px)); height: 520px;
	background: #fff;
}
.page_contact .about_body > .container { position: relative; z-index: 1; }

.contact_lead { display: grid; grid-template-columns: 588px 384px; gap: 228px; align-items: start; padding-bottom: 119px; }
.contact_lead h2 { margin: 0; font-size: 36px; font-weight: 700; line-height: 1.35; }
.contact_lead h2 .accent { display: block; color: var(--purple); }

.contact_table { display: flex; flex-direction: column; margin-top: 9px; }
.contact_table > div { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--line); }
.contact_table dt { font-size: 22px; font-weight: 700; }
.contact_table dd { margin: 0; font-size: 18px; }

.contact_divider { max-width: 1200px; margin: 0 auto 119px; border: 0; border-top: 1px solid var(--line); }

.office_block h3 { margin: 0 0 49px; font-size: 36px; font-weight: 700; }
.office_hq { display: grid; grid-template-columns: 588px 384px; column-gap: 40px; }
.office_hq h3 { grid-column: 1 / -1; }
.office_hq .office_row { display: block; }
.office_hq .office_row dt { margin-bottom: 13px; }
.office_row { display: flex; gap: 34px; margin: 0; }
.office_row dt { flex: 0 0 100px; font-size: 22px; font-weight: 700; }
.office_row dd { margin: 0; font-size: 18px; }

.map_placeholder {
	width: 100vw; height: 500px;
	margin: 40px calc(50% - 50vw) 80px;
	display: flex; align-items: center; justify-content: center;
	background: #d9d9d9; color: #444; font-size: 22px; font-weight: 700;
}
.map_placeholder.is_motion_ready {
	opacity: 1;
	clip-path: none;
	transform: none;
	background: #d9d9d9;
}
.map_placeholder.is_motion_ready.is_visible {
	opacity: 1;
	clip-path: inset(0);
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.map_placeholder.is_motion_ready { opacity: 1; clip-path: none; transform: none; transition: none; }
}

/* Services */

:root {
	--raci-a: #8231a7; --raci-r: #3951c9; --raci-c: #ff3d75; --raci-i: #666666;
}

.page_service_01 .sub_hero {
	--hero-bg: #8231a7; --hero-big: #d199ff; --hero-mid: #ff3d75; --hero-small: #3c51c8;
}
.page_service_04 .sub_hero {
	--hero-bg: #8231a7; --hero-big: #d199ff; --hero-mid: #ff3d75; --hero-small: #3c51c9;
}
.page_service_02 .sub_hero,
.page_service_05 .sub_hero {
	--hero-bg: #3951c9; --hero-big: #94a5fe; --hero-mid: #ff3d75; --hero-small: #8231a7;
}
.page_service_03 .sub_hero,
.page_service_06 .sub_hero {
	--hero-bg: #ff3d75; --hero-big: #f4a5bc; --hero-mid: #3951c9; --hero-small: #8231a7;
}

.sub_hero_content { position: relative; padding: 60px 0 56px; }
/* 20260909 수정 */
.sub_hero_tag { display: inline-block; padding: 0 25px; height: 40px; line-height: 40px; border-radius: 999px; background: rgba(34, 34, 34, .2); font-size: 18px; font-weight: 400; }
.sub_hero h1 { margin: 18px 0 10px; font-size: 54px; font-weight: 600; line-height: 1.1; letter-spacing: -.03em; }
.sub_hero_lead { margin: 0 0 12px; font-size: 24px; font-weight: 600; }
.sub_hero_copy { max-width: 1091px; font-size: 18px; line-height: 1.55; color: #fff; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.chips span { padding: 0 20px; height: 40px; line-height: 40px; border-radius: 999px; background: rgba(255, 255, 255, .2); font-size: 14px; font-weight: 500; }

.why_grid { display: grid; grid-template-columns: 164px 1fr; column-gap: 142px; row-gap: 40px; max-width: 1200px; margin-top: 56px; }
.why_grid strong { font-size: 24px; font-weight: 600; }
.why_grid p { margin: 0; font-size: 18px; line-height: 1.55; font-weight:400;}
.why_grid p b { font-weight: 700; }

.page_tabs { position: sticky; top: var(--header-h); z-index: 40; background: #4f176f; color: #fff; transition: background .25s ease, color .25s ease, box-shadow .25s ease; }

.page_tabs.is_stuck { background: #fff; color: #171717; box-shadow: 0 1px 0 var(--line); }
.page_tabs_inner { display: grid; grid-template-columns: repeat(5, 1fr); width: min(var(--frame-inner), calc(100% - 64px)); margin: 0 auto; }
.page_tabs a { padding: 25px 10px; border-bottom: 3px solid transparent; text-align: center; font-size: 18px; font-weight: 700; transition: .25s; }
.page_tabs a.active,
.page_tabs a:hover { background: #fff; color: var(--purple); border-bottom-color: var(--purple); }
.page_tabs.is_stuck a.active,
.page_tabs.is_stuck a:hover { background: var(--soft); color: var(--purple); border-bottom-color: var(--purple); }

#fit .section_intro { max-width: 792px; margin-bottom: 80px; line-height: 30px; }
.before_after { display: flex; align-items: start; max-width: 1082px; margin: 0 auto; }
.before_after article { flex: 0 0 543px; width: 543px; height: 460px; margin-top: 10px; padding: 40px 44px; box-sizing: border-box; border-radius: 30px; background: #f5f5f5; }
.before_after .after { position: relative; z-index: 1; flex-basis: 570px; width: 570px; height: 480px; margin-top: 0; margin-left: -31px; background: #8231a7; color: #fff; }
.before_after span { display: block; margin-bottom: 24px; font-weight: 500; font-size: 18px; color: var(--purple); }
.before_after .after span { color: #fff; font-size: 24px; }
.before_after ul { margin: 0; padding-left: 18px; font-size: 18px; line-height: 1.67; }
.before_after li { list-style: disc; margin: 0 0 24px; }
.before_after li:last-child { margin-bottom: 0; }
.before_after.is_motion_ready article { opacity: 0; transform: translateX(-60px); transition: opacity .75s ease, transform .75s ease; }
.before_after.is_motion_ready .after { transform: translateX(70px) scale(.95); transition-delay: .18s; }
.before_after.is_motion_ready.is_visible article { opacity: 1; transform: translateX(0); }
.before_after.is_motion_ready.is_visible .after { transform: translateX(0) scale(1); }

@media (prefers-reduced-motion: reduce) {
	.before_after.is_motion_ready article,
	.before_after.is_motion_ready .after { opacity: 1; transform: none; transition: none; }
}

.decision_cards { display: grid; grid-template-columns: repeat(3, 384px); gap: 24px; }
.decision_cards.cols_4 { grid-template-columns: repeat(4, 282px); }
.module_tabs.cols_4 { grid-template-columns: repeat(4, 1fr); }

.decision_cards article {
	position: relative; width: 384px; height: 280px; padding: 40px; box-sizing: border-box; border-radius: 30px;
	background-color: #fff; background-repeat: no-repeat; background-position: 0 0; background-size: auto;
	box-shadow: none; overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.decision_cards article:hover { transform: translateY(-8px); box-shadow: 0 12px 32px rgba(128, 48, 167, .16); }
.decision_cards h4 { margin: 0 0 14px; font-size: 24px; font-weight: 700; color: #8231a7; }
.decision_cards p { margin: 0; font-size: 18px; line-height: 1.6; }
.decision_cards b { display: none; }

.decision_cards.cols_4 article { width: 282px; height: 340px; padding: 40px 30px; }
@media (prefers-reduced-motion: reduce) {
	.decision_cards article { transition: none; }
	.decision_cards article:hover { transform: none; }
}

.module_tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.module_tab {
	position: relative; min-height: 380px; padding: 30px;
	border: 0; border-radius: 14px; background: #f5effa; color: #372d3c;
	text-align: left; font: inherit; cursor: pointer; transition: .25s;
}
.module_tab strong { display: block; margin-bottom: 50px; color: var(--purple); font-size: 24px; line-height: 1.25; }
.module_tab span { display: block;  font-weight: 700; font-size: 18px; line-height: 1.67; }
.module_tab p { margin: 0; font-size: 18px; font-weight: 400; line-height: 1.67; }
.module_tab::after {
	content: ""; position: absolute; left: 50%; bottom: -16px;
	border: 8px solid transparent; border-top-color: var(--purple);
	opacity: 0; transform: translate(-50%, -8px);
	transition: opacity .25s ease, transform .25s ease;
}
.module_tab.active { background: var(--purple); color: #fff; transform: translateY(-4px); }
.module_tab.active strong { color: #fff; }
.module_tab.active::after {
	opacity: 1; transform: translate(-50%, 0);
}
@media (prefers-reduced-motion: reduce) {
	.module_tab::after { transition: none; }
}

.module_content { margin-top: 44px; }
.module_panel { animation: fade .3s ease; }
.module_panel h3 { margin: 0 0 8px; font-size: 28px; font-weight: 700; }
.module_panel p { font-size: 18px; line-height: 1.6; }
.module_panel dl { display: grid; grid-template-columns: 300px 1fr; margin-top: 26px; border-top: 1px solid #c9c9c9; font-size: 18px; }
.module_panel dt,
.module_panel dd { margin: 0; padding: 13px 0; border-bottom: 1px solid #c9c9c9; }
.module_panel dt { font-weight: 700; }

@keyframes fade {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

.risk_band { position: relative; overflow: hidden; padding: 60px 0; color: #fff; background: linear-gradient(100deg, #73249b, #872dae); }
.risk_band::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .05));
	clip-path: polygon(50% 0, 100% 0, 100% 100%, 25% 100%);
}
.risk_band .container { position: relative; z-index: 1; }
.risk_band h2 { text-align: center; font-size: 48px; font-weight: 400; }

.risk_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin-top: 34px; }
.risk_grid i { display: block; width: 80px; height: 80px; border: 0; background-repeat: no-repeat; background-size: contain; font-size: 0; }
.risk_grid h4 { margin: 14px 0 6px; font-size: 18px; font-weight: 700; }
.risk_grid p { font-size: 18px; line-height: 1.6; letter-spacing: -.5px; color: rgba(255, 255, 255, .82); }

.participation_grid { display: grid; grid-template-columns: 563px 1fr; gap: 28px; align-items: center; }
.participation_graph { text-align: center; }
.participation_graph img { display: block; width: auto; height: auto; max-width: none; margin: 0; }
.role_legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-bottom: 14px; font-size: 12px; color: #5d5663; }
.role_legend .dot { width: 10px; height: 10px; margin-left: 10px; border-radius: 50%; }
.role_legend .dot:first-child { margin-left: 0; }
.dot_a { background: var(--raci-a); }
.dot_r { background: var(--raci-r); }
.dot_c { background: var(--raci-c); }
.dot_i { background: var(--raci-i); }

.role_table { font-size: 12px; }
.role_table > div { display: grid; grid-template-columns: 68px 196px 1fr; gap: 10px; margin-bottom: 0; padding: 12px 20px; background: #fff; border-bottom: 1px solid #e6d6ed; font-size: 16px; align-items: center; }
.role_table > div:nth-child(even):not(.table_head) { background: #f7f3fd; }
.role_table .table_head { font-size: 18px; }
.role_table .table_head { background: #8231a7; color: #fff; font-weight: 700; border-bottom: 0; }
.role_table em { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; font-style: normal; font-weight: 700; }
.role_table p { margin: 0; }

.simple_table > div { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #e4d9ec; letter-spacing: -.5px; }
.simple_table > div:not(:first-child) { border-left: 1px solid #e4d9ec; border-right: 1px solid #e4d9ec; }
.simple_table > div > * { padding: 12px 20px; font-size: 16px; }
.simple_table > div:first-child > * { font-size: 18px; }
.simple_table > div:first-child { background: #8231a7; color: #fff; }
.simple_table > div:nth-child(odd):not(:first-child) { background: #f7f3fd; }

.workflow_band { position: relative; overflow: hidden; padding: 60px 0; color: #fff; background: #050505; }
.workflow_band::before {
	content: ""; position: absolute; inset: -100px;
	background:
		radial-gradient(ellipse at 60% 50%, #7b19ad, transparent 35%),
		repeating-radial-gradient(ellipse at 60% 50%, transparent 0 35px, rgba(141, 42, 190, .5) 36px 48px);
}
.workflow_band .container { position: relative; }
.workflow_band h2 { text-align: center; font-size: 48px; font-weight: 400; }

.workflow { display: grid; grid-template-columns: repeat(4, 282px); justify-content: center; gap: 18px; margin-top: 34px; }
.workflow article { width: 282px; min-height: 184px; padding: 30px 10px 10px; border-radius: 30px; background: #fff; color: #2b2430; text-align: center; }
.workflow b { display: block; width: 80px; height: 80px; margin: 0 auto 16px; font-size: 0; background-repeat: no-repeat; background-size: contain; }
.workflow h4 { font-size: 18px; font-weight: 700; color: #8231a7; }
.workflow p { font-size: 18px; line-height: 1.5; }

.deliverables { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.deliverables article { padding: 30px; border-radius: 30px; background: #f7f3fd; transition: background-color .25s ease; }
.deliverables article:hover { background-color: #efe5fe; }
.deliverables h4 { margin: 0 0 6px; font-size: 18px; font-weight: 700; text-transform: uppercase; color: #8231a7; }
.deliverables h4.preserve_case { text-transform: none; }
.deliverables p { margin: 0; font-size: 18px; line-height: 1.6; }

.standards_table > div { display: grid; grid-template-columns: 1.1fr 1.2fr 2fr; border-bottom: 1px solid #e6d6ed; }
.standards_table > div > * { padding: 12px 20px; font-size: 16px; }
.standards_table > div:first-child > * { font-size: 18px; }
.standards_table > div:first-child { background: #8231a7; color: #fff; }
.standards_table > div:not(:first-child) { background: #fff; border-left: 1px solid #e6d6ed; border-right: 1px solid #e6d6ed; }
.standards_table > div:nth-child(odd):not(:first-child) { background: #f7f3fd; }
.standards_table > div:not(:first-child) > span:first-child { font-weight: 700; color: #8231a7; }

.terms { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.terms article {
	position: relative; min-height: 180px; padding: 22px; border-radius: 30px; background: #fff;
	box-shadow: 0 2px 27px rgba(128, 48, 167, .22); overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.terms article:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 32px rgba(128, 48, 167, .26);
}
.terms h4 { font-size: 24px; font-weight: 700; color: #8231a7; }
.terms p { font-size: 18px; line-height: 1.6; }
.terms article::after {
	content: ""; position: absolute; right: -10px; bottom: -10px; width: 110px; height: 110px;
	background-repeat: no-repeat; background-size: contain; opacity: .1; pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
	.terms article { transition: none; }
	.terms article:hover { transform: none; }
}

body.page_service_01 .decision_cards article:nth-child(1) { background-image: url(../images/service_icon01.png); }
body.page_service_01 .decision_cards article:nth-child(2) { background-image: url(../images/service_icon02.png); }
body.page_service_01 .decision_cards article:nth-child(3) { background-image: url(../images/service_icon03.png); }
body.page_service_01 .terms article:nth-child(1)::after { background-image: url(../images/core_icon01.png); }
body.page_service_01 .terms article:nth-child(2)::after { background-image: url(../images/core_icon02.png); }
body.page_service_01 .terms article:nth-child(3)::after { background-image: url(../images/core_icon03.png); }
body.page_service_01 .terms article:nth-child(4)::after { background-image: url(../images/core_icon04.png); }
body.page_service_common .terms article::after { right: 20px; bottom: 10px; width: 110px; height: 110px; opacity: 1; }

body.page_service_common .js_module_html[hidden] { display: none !important; }
body.page_service_01 .risk_grid[data-module="module-1"] article:nth-child(1) i { background-image: url(../images/circle_icon01.png); }
body.page_service_01 .risk_grid[data-module="module-1"] article:nth-child(2) i { background-image: url(../images/circle_icon02.png); }
body.page_service_01 .risk_grid[data-module="module-1"] article:nth-child(3) i { background-image: url(../images/circle_icon03.png); }
body.page_service_01 .risk_grid[data-module="module-2"] article:nth-child(1) i { background-image: url(../images/circle_icon04.png); }
body.page_service_01 .risk_grid[data-module="module-2"] article:nth-child(2) i { background-image: url(../images/circle_icon05.png); }
body.page_service_01 .risk_grid[data-module="module-2"] article:nth-child(3) i { background-image: url(../images/circle_icon06.png); }
body.page_service_01 .risk_grid[data-module="module-3"] article:nth-child(1) i { background-image: url(../images/circle_icon07.png); }
body.page_service_01 .risk_grid[data-module="module-3"] article:nth-child(2) i { background-image: url(../images/circle_icon08.png); }
body.page_service_01 .risk_grid[data-module="module-3"] article:nth-child(3) i { background-image: url(../images/circle_icon09.png); }
body.page_service_common .sub_hero { height: 814px; min-height: 814px; }
body.page_service_common .sub_hero_content { height: 814px; padding: 80px 0 0; }
body.page_service_common .sub_hero h1 { margin: 18px 0 24px; line-height: 1; }
body.page_service_06 .sub_hero h1 { line-height: normal; }
body.page_service_common .sub_hero_lead { margin-bottom: 20px; line-height: 29px; }
body.page_service_common .sub_hero_copy { line-height: 28px; }
body.page_service_common .chips { margin-top: 40px; }
body.page_service_common .why_grid {
	grid-template-columns: 164px 816px; column-gap: 142px; max-width: 1200px;
	margin-top: 80px; padding-top: 79px; border-top: 1px solid rgba(255, 255, 255, .45);
}
body.page_service_common .why_grid p { line-height: 28px; }
body.page_service_06 .why_grid { margin-top: 60px; padding-top: 59px; }

body.page_service_common .page_tabs { height: 80px; margin-top: -80px; top: var(--header-h); background: rgba(34, 34, 34, .3); color: #fff; box-shadow: none; }
body.page_service_common .page_tabs_inner { height: 80px; }
body.page_service_common .page_tabs a { display: flex; align-items: center; justify-content: center; padding: 0; border: 0; line-height: 30px; }
body.page_service_common .page_tabs a.active,
body.page_service_common .page_tabs a:hover { background: #fff; color: #8231a7; border: 0; }
body.page_service_common .page_tabs.is_stuck {
	background: #fff;
	color: #222;
	box-shadow: 0 1px 0 #e2e0e4, 0 8px 20px rgba(34, 34, 34, .06);
}
body.page_service_common .page_tabs.is_stuck a.active,
body.page_service_common .page_tabs.is_stuck a:hover {
	background: #f8f5fa;
	color: #8231a7;
	border: 0;
}

body.page_service_common #fit { padding: 92px 0 104px; }
body.page_service_common #fit h2 { margin-bottom: 30px; line-height: 47px; }
body.page_service_common #fit .section_intro { margin-bottom: 80px; }

body.page_service_common #decisions { padding: 56px 0 102px; }
body.page_service_common #decisions .small_title { margin-bottom: 13px; }
body.page_service_common #decisions .section_intro { width: 1021px; max-width: none; margin-bottom: 40px; line-height: 30px; }

body.page_service_common #service_modules { padding: 100px 0 97px; }
body.page_service_common #service_modules > .container > h2 { margin-bottom: 19px; }
body.page_service_common #service_modules > .container > .section_intro { margin-bottom: 79px; line-height: 30px; }
body.page_service_common .module_tabs { grid-template-columns: repeat(3, 384px); gap: 24px; height: 427px; align-items: start; }
body.page_service_common .module_tab { width: 384px; min-height: 380px; height: 380px; padding: 30px; border-radius: 30px; background: #f7f3fd; }
body.page_service_common .module_tab { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; font-size: 0; }
body.page_service_common .module_tab strong { margin-bottom: 30px; font-weight: 500; line-height: 30px; }
body.page_service_common .module_tab span,
body.page_service_common .module_tab p { line-height: 30px; }
body.page_service_common .module_tab.active { background: #8231a7; transform: none; }
body.page_service_common .module_tab::after {
	bottom: -47px; border-width: 47px 24px 0; border-top-color: #8231a7;
	transform: translate(-50%, 0);
	transition: opacity .25s ease;
}
body.page_service_common .module_tab.active::after { opacity: 1; }
body.page_service_common .module_content { margin-top: 78px; }
body.page_service_common .module_panel h3 { margin-bottom: 13px; line-height: 36px; }
body.page_service_common .module_panel > p { width: 1021px; margin: 0; line-height: 30px; }
body.page_service_common .module_panel dl { margin-top: 47px; line-height: 30px; }
body.page_service_common .module_panel dt,
body.page_service_common .module_panel dd { padding: 10px 0; }

body.page_service_01 .risk_band { height: 594px; padding: 80px 0 0; background: #6f2a8e url(../images/circle_icon_bg.png) center / 1920px 594px no-repeat; }
body.page_service_common .risk_band::after { display: none; }
body.page_service_common .risk_band h2 { width: 508px; margin: 0; text-align: left; font-size: 48px; line-height: 62px; }
body.page_service_common .risk_grid { grid-template-columns: repeat(3, 384px); gap: 24px; margin-top: 80px; }
body.page_service_common .risk_grid h4,
body.page_service_common .risk_grid p { width: 333px; }
body.page_service_common .risk_grid h4 { margin: 30px 0 0; line-height: 30px; }
body.page_service_common .risk_grid p { margin: 0; color: #fff; line-height: 30px; letter-spacing: 0; }

body.page_service_01 #participation { padding: 80px 0 80px; }
body.page_service_common #participation > .container > .small_title { margin-bottom: 13px; }
body.page_service_common #participation > .container > .section_intro { width: 1021px; max-width: none; margin-bottom: 60px; line-height: 30px; }
body.page_service_common .participation_grid { grid-template-columns: 562px 588px; gap: 50px; align-items: start; }
body.page_service_common .participation_graph img { width: 562px; height: 591px; }
body.page_service_common .role_legend { display: none; }
body.page_service_01 .role_table_title { height: 30px; margin: 0 0 17px; font-size: 18px; font-weight: 400; line-height: 30px; }
body.page_service_common .role_table > div { grid-template-columns: 68px 196px 324px; gap: 0; padding: 0; line-height: 21px; }
body.page_service_01 .role_table > div > em { margin: auto; }
body.page_service_common .role_table > div > span,
body.page_service_common .role_table > div > p,
body.page_service_common .role_table .table_head > b { padding: 12px 20px; }
body.page_service_common .role_table > div > p { padding-right: 12px; }
body.page_service_common .role_table .table_head { height: 48px; }
body.page_service_common .role_table .table_head > b { padding-top: 9px; padding-bottom: 9px; }
body.page_service_common .small_title.below { margin-top: 100px; padding-top: 73px; border-top: 1px solid #c9c9c9; }
body.page_service_common .simple_table { margin-top: 43px; }
body.page_service_common .simple_table > div { grid-template-columns: 600px 600px; }

body.page_service_common .workflow_band { height: 599px; padding: 80px 0 0; background: #050505 url(../images/workflow_bg.png) center / 1920px 599px no-repeat; }
/* 페이지별 workflow 배경(workflow_bg01~06) - 위 공용 규칙과 동일 우선순위(body.page_service_0X도
   클래스 2개 조합이라 specificity 동일)라 소스 순서상 뒤에 있는 이 규칙이 이김. background-image만
   덮어쓰고 크기/위치는 아래 모듈별 height/background-size 규칙들이 그대로 담당(이미지도 각
   페이지의 기본(모듈-1) 상태 높이에 맞춰 실측 export됨 : 01/02/05=599px, 03=705px, 04=654px, 06=998px) */
body.page_service_01 .workflow_band { background-image: url(../images/workflow_bg01.png); }
body.page_service_02 .workflow_band { background-image: url(../images/workflow_bg02.png); }
body.page_service_03 .workflow_band { background-image: url(../images/workflow_bg03.png); }
body.page_service_04 .workflow_band { background-image: url(../images/workflow_bg04.png); }
body.page_service_05 .workflow_band { background-image: url(../images/workflow_bg05.png); }
body.page_service_06 .workflow_band { background-image: url(../images/workflow_bg06.png); }
body.page_service_common .workflow_band::after,
body.page_service_common .workflow_band::before { content: ""; display: block; position: absolute; left: 0; top: 230px; width: 100%; height: 1px; }
body.page_service_common .workflow_band::after { background: rgba(255, 255, 255, .2); }
body.page_service_common .workflow_band::before { z-index: 1; background: #fff; box-shadow: 0 0 8px rgba(255, 255, 255, .75); transform: scaleX(0); transform-origin: left center; }
body.page_service_common .workflow_band .container { z-index: 2; }
body.page_service_common .workflow_band.is_workflow_active::before { transform: scaleX(1); transition: transform 3.2s linear; }
body.page_service_common .workflow_band h2 { margin: 0; font-size: 48px; line-height: 62px; }
body.page_service_common .workflow { grid-template-columns: repeat(4, 282px); gap: 24px; margin-top: 48px; }
body.page_service_common .workflow article { position: relative; width: 282px; height: 328px; min-height: 328px; padding: 0 22px; background: transparent; }
body.page_service_common .workflow article::before { content: ""; position: absolute; z-index: 0; left: 0; top: 144px; width: 282px; height: 184px; border-radius: 30px; background: #fff; }
body.page_service_common .workflow article::after { content: ""; position: absolute; left: 129px; top: 90px; width: 24px; height: 38px; background: url(../images/workflow_arrow.png) center top / 24px 24px no-repeat, url(../images/workflow_arrow.png) center 14px / 24px 24px no-repeat; }
body.page_service_common .workflow b { position: relative; z-index: 1; width: 80px; height: 80px; margin: 0 auto; background-size: 80px 80px; }
body.page_service_01 .workflow[data-module="module-1"] article:nth-child(1) b { background-image: url(../images/workflow_icon01.png); }
body.page_service_01 .workflow[data-module="module-1"] article:nth-child(2) b { background-image: url(../images/workflow_icon02.png); }
body.page_service_01 .workflow[data-module="module-1"] article:nth-child(3) b { background-image: url(../images/workflow_icon03.png); }
body.page_service_01 .workflow[data-module="module-1"] article:nth-child(4) b { background-image: url(../images/workflow_icon04.png); }
body.page_service_01 .workflow[data-module="module-2"] article:nth-child(1) b { background-image: url(../images/workflow_icon05.png); }
body.page_service_01 .workflow[data-module="module-2"] article:nth-child(2) b { background-image: url(../images/workflow_icon06.png); }
body.page_service_01 .workflow[data-module="module-2"] article:nth-child(3) b { background-image: url(../images/workflow_icon07.png); }
body.page_service_01 .workflow[data-module="module-2"] article:nth-child(4) b { background-image: url(../images/workflow_icon08.png); }
body.page_service_01 .workflow[data-module="module-3"] article:nth-child(1) b { background-image: url(../images/workflow_icon09.png); }
body.page_service_01 .workflow[data-module="module-3"] article:nth-child(2) b { background-image: url(../images/workflow_icon10.png); }
body.page_service_01 .workflow[data-module="module-3"] article:nth-child(3) b { background-image: url(../images/workflow_icon11.png); }
body.page_service_01 .workflow[data-module="module-3"] article:nth-child(4) b { background-image: url(../images/workflow_icon12.png); }
body.page_service_common .workflow h4 { position: relative; z-index: 1; margin: 94px 0 0; line-height: 30px; }
body.page_service_common .workflow p { position: relative; z-index: 1; margin: 0; line-height: 30px; }
body.page_service_01 .workflow_band.is_motion_ready .workflow article { opacity: 0; transform: translateY(-18px); transition: opacity .65s ease, transform .65s ease; }
body.page_service_common .workflow_band.is_motion_ready .workflow article.is_show { opacity: 1; transform: translateY(0); }

body.page_service_01 .section.tint_soft { padding: 80px 0; }
body.page_service_common .section.tint_soft .small_title { margin-bottom: 40px; }
body.page_service_common .deliverables { grid-template-columns: repeat(2, 588px); gap: 24px; }
body.page_service_01 .deliverables article { width: 588px; height: 150px; padding: 30px; }
body.page_service_common .deliverables h4,
body.page_service_common .deliverables p { line-height: 30px; }

body.page_service_common #standards { padding: 75px 0 99px; }
body.page_service_common #standards .small_title { margin-bottom: 13px; }
body.page_service_common #standards .section_intro { width: 792px; margin-bottom: 60px; line-height: 30px; }
body.page_service_01 .standards_table > div { grid-template-columns: 320px 230px 650px; }

body.page_service_common #terms { padding: 78px 0 100px; }
body.page_service_common #terms .small_title { margin-bottom: 80px; }
body.page_service_common .terms { grid-template-columns: repeat(4, 282px); gap: 24px; }
body.page_service_01 .terms article { width: 282px; height: 340px; min-height: 340px; padding: 30px; }
body.page_service_common .terms h4 { margin: 0 0 30px; line-height: 30px; }
body.page_service_common .terms p { margin: 0; line-height: 30px; }

body.page_service_02 .decision_cards article:nth-child(1) { background-image: url(../images/service_icon04.png); }
body.page_service_02 .decision_cards article:nth-child(2) { background-image: url(../images/service_icon05.png); }
body.page_service_02 .decision_cards article:nth-child(3) { background-image: url(../images/service_icon06.png); }
body.page_service_02 .terms article:nth-child(1)::after { background-image: url(../images/core_icon05.png); }
body.page_service_02 .terms article:nth-child(2)::after { background-image: url(../images/core_icon06.png); }
body.page_service_02 .terms article:nth-child(3)::after { background-image: url(../images/core_icon07.png); }
body.page_service_02 .terms article:nth-child(4)::after { background-image: url(../images/core_icon08.png); }

body.page_service_02 .risk_grid[data-module="module-1"] article:nth-child(1) i { background-image: url(../images/circle_icon10.png); }
body.page_service_02 .risk_grid[data-module="module-1"] article:nth-child(2) i { background-image: url(../images/circle_icon11.png); }
body.page_service_02 .risk_grid[data-module="module-1"] article:nth-child(3) i { background-image: url(../images/circle_icon12.png); }
body.page_service_02 .risk_grid[data-module="module-2"] article:nth-child(1) i { background-image: url(../images/circle_icon13.png); }
body.page_service_02 .risk_grid[data-module="module-2"] article:nth-child(2) i { background-image: url(../images/circle_icon14.png); }
body.page_service_02 .risk_grid[data-module="module-2"] article:nth-child(3) i { background-image: url(../images/circle_icon15.png); }
body.page_service_02 .risk_grid[data-module="module-3"] article:nth-child(1) i { background-image: url(../images/circle_icon16.png); }
body.page_service_02 .risk_grid[data-module="module-3"] article:nth-child(2) i { background-image: url(../images/circle_icon17.png); }
body.page_service_02 .risk_grid[data-module="module-3"] article:nth-child(3) i { background-image: url(../images/circle_icon18.png); }


body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) #fit .before_after article {
	height: 531px;
	min-height: 531px;
	margin-top: 12px;
}
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) #fit .before_after .after {
	height: 555px;
	min-height: 555px;
	margin-top: 0;
}
body.page_service_06 #fit .before_after article { height: 451px; min-height: 451px; }
body.page_service_06 #fit .before_after .after { height: 495px; min-height: 495px; }

body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) #decisions { background: #f7f3fd; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .decision_cards h4,
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .decision_cards p { line-height: 30px; }

body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .risk_band { height: 594px; padding: 80px 0 0; background: #6f2a8e url(../images/circle_icon_bg.png) center / 1920px 594px no-repeat; }
body:is(.page_service_03, .page_service_05) .module_tabs { grid-template-columns: repeat(4, 282px); gap: 24px; }
body:is(.page_service_03, .page_service_05) .module_tab { width: 282px; }
body.page_service_03 .module_tabs { height: auto; min-height: 530px; padding-bottom: 46px; box-sizing: border-box; }
body.page_service_03 .module_tab { height: auto; min-height: 484px; padding: 25px 31px; align-self: stretch; }
body.page_service_04 .module_tabs { height: 457px; }
body.page_service_04 .module_tab { height: 410px; min-height: 410px; }
body.page_service_05 .module_tabs { height: auto; min-height: 530px; padding-bottom: 46px; box-sizing: border-box; }
body.page_service_05 .module_tab { height: auto; min-height: 484px; padding: 25px 31px; align-self: stretch; }

body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) #participation { padding: 100px 0; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .role_table_wrap { padding-top: 6px; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .role_table_title {
	height: 30px; margin: 0 0 17px -2px;
	color: #8231a7; font-family: "IBM Plex Sans", sans-serif; font-size: 18px;
	font-style: normal; font-weight: 700; line-height: 30px;
}
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .role_table > div:not(.table_head) { border-right: 1px solid #e6d6ed; border-left: 1px solid #e6d6ed; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .role_table > div:nth-child(even):not(.table_head) { background: #fff; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .role_table > div:nth-child(odd):not(.table_head) { background: #f7f3fd; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .role_table > div > em { width: 28px; height: 28px; margin: auto; font-size: 14px; line-height: 20px; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .simple_table > div { border-bottom-color: #e6d6ed; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .simple_table > div:not(:first-child) { border-right-color: #e6d6ed; border-left-color: #e6d6ed; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .simple_table > div:first-child { height: 48px; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .simple_table > div:first-child > * { padding: 9px 20px; line-height: 30px; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .simple_table > div:not(:first-child) > * { line-height: 21px; }

body.page_service_02 .workflow[data-module="module-1"] article:nth-child(1) b { background-image: url(../images/workflow_icon13.png); }
body.page_service_02 .workflow[data-module="module-1"] article:nth-child(2) b { background-image: url(../images/workflow_icon14.png); }
body.page_service_02 .workflow[data-module="module-1"] article:nth-child(3) b { background-image: url(../images/workflow_icon15.png); }
body.page_service_02 .workflow[data-module="module-1"] article:nth-child(4) b { background-image: url(../images/workflow_icon16.png); }
body.page_service_02 .workflow[data-module="module-2"] article:nth-child(1) b { background-image: url(../images/workflow_icon17.png); }
body.page_service_02 .workflow[data-module="module-2"] article:nth-child(2) b { background-image: url(../images/workflow_icon18.png); }
body.page_service_02 .workflow[data-module="module-2"] article:nth-child(3) b { background-image: url(../images/workflow_icon19.png); }
body.page_service_02 .workflow[data-module="module-2"] article:nth-child(4) b { background-image: url(../images/workflow_icon20.png); }
body.page_service_02 .workflow[data-module="module-3"] article:nth-child(1) b { background-image: url(../images/workflow_icon21.png); }
body.page_service_02 .workflow[data-module="module-3"] article:nth-child(2) b { background-image: url(../images/workflow_icon22.png); }
body.page_service_02 .workflow[data-module="module-3"] article:nth-child(3) b { background-image: url(../images/workflow_icon23.png); }
body.page_service_02 .workflow[data-module="module-3"] article:nth-child(4) b { background-image: url(../images/workflow_icon24.png); }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .workflow_band.is_motion_ready .workflow article {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .65s ease, transform .65s ease;
}

body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .section.tint_soft { padding: 100px 0; background: #fff; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .deliverables article { width: 588px; min-height: 120px; padding: 30px; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) #standards { background: #f7f3fd; }
body.page_service_common .standards_table > div { grid-template-columns: 310px 230px 660px; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .standards_table > div:first-child { height: 48px; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .standards_table > div:first-child > * { padding: 9px 20px; line-height: 30px; }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .standards_table > div:not(:first-child) > * { line-height: 21px; }

body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .terms article { width: 282px; height: 320px; min-height: 320px; padding: 30px 30px 60px; }

body.page_service_03 .decision_cards.cols_4 article:nth-child(1) { background-image: url(../images/service_icon07.png); }
body.page_service_03 .decision_cards.cols_4 article:nth-child(2) { background-image: url(../images/service_icon08.png); }
body.page_service_03 .decision_cards.cols_4 article:nth-child(3) { background-image: url(../images/service_icon09.png); }
body.page_service_03 .decision_cards.cols_4 article:nth-child(4) { background-image: url(../images/service_icon10.png); }
body:is(.page_service_02, .page_service_03, .page_service_04, .page_service_05, .page_service_06) .decision_cards article {
	background-position: 0 6px;
}
body.page_service_03 .terms article:nth-child(1)::after { background-image: url(../images/core_icon09.png); }
body.page_service_03 .terms article:nth-child(2)::after { background-image: url(../images/core_icon10.png); }
body.page_service_03 .terms article:nth-child(3)::after { background-image: url(../images/core_icon11.png); }
body.page_service_03 .terms article:nth-child(4)::after { background-image: url(../images/core_icon12.png); }

body.page_service_03 .risk_grid[data-module="module-1"] article:nth-child(1) i { background-image: url(../images/circle_icon19.png); }
body.page_service_03 .risk_grid[data-module="module-1"] article:nth-child(2) i { background-image: url(../images/circle_icon20.png); }
body.page_service_03 .risk_grid[data-module="module-1"] article:nth-child(3) i { background-image: url(../images/circle_icon21.png); }
body.page_service_03 .risk_grid[data-module="module-2"] article:nth-child(1) i { background-image: url(../images/circle_icon22.png); }
body.page_service_03 .risk_grid[data-module="module-2"] article:nth-child(2) i { background-image: url(../images/circle_icon23.png); }
body.page_service_03 .risk_grid[data-module="module-2"] article:nth-child(3) i { background-image: url(../images/circle_icon24.png); }
body.page_service_03 .risk_grid[data-module="module-3"] article:nth-child(1) i { background-image: url(../images/circle_icon25.png); }
body.page_service_03 .risk_grid[data-module="module-3"] article:nth-child(2) i { background-image: url(../images/circle_icon26.png); }
body.page_service_03 .risk_grid[data-module="module-3"] article:nth-child(3) i { background-image: url(../images/circle_icon27.png); }
body.page_service_03 .risk_grid[data-module="module-4"] article:nth-child(1) i { background-image: url(../images/circle_icon28.png); }
body.page_service_03 .risk_grid[data-module="module-4"] article:nth-child(2) i { background-image: url(../images/circle_icon29.png); }
body.page_service_03 .risk_grid[data-module="module-4"] article:nth-child(3) i { background-image: url(../images/circle_icon30.png); }

body:is(.page_service_03, .page_service_06) .workflow_band { height: 998px; background-size: 1920px 998px; }
body.page_service_03 .workflow_band:has(.workflow[data-module="module-1"]:not([hidden])) { height: 705px; background-size: 1920px 705px; }
body.page_service_03 .workflow_band:has(.workflow[data-module="module-2"]:not([hidden])),
body.page_service_03 .workflow_band:has(.workflow[data-module="module-3"]:not([hidden])) { height: 968px; background-size: 1920px 968px; }
body.page_service_03 .workflow_band:has(.workflow[data-module="module-2"]:not([hidden])).is_workflow_active::before,
body.page_service_03 .workflow_band:has(.workflow[data-module="module-3"]:not([hidden])).is_workflow_active::before,
body.page_service_03 .workflow_band:has(.workflow[data-module="module-4"]:not([hidden])).is_workflow_active::before,
body.page_service_06 .workflow_band.is_workflow_active::before {
	transition-duration: 1.6s;
}
body.page_service_03 .workflow[data-module="module-1"],
body.page_service_04 .workflow { grid-template-columns: repeat(5, 220px); gap: 24px; }
body.page_service_03 .workflow[data-module="module-1"] article { width: 220px; height: 414px; min-height: 414px; padding: 0 20px; }
body.page_service_03 .workflow[data-module="module-1"] article::before { width: 220px; height: 270px; }
body.page_service_03 .workflow[data-module="module-1"] article::after,
body.page_service_04 .workflow article::after { left: 98px; }
body.page_service_03 .workflow[data-module="module-2"],
body.page_service_03 .workflow[data-module="module-3"],
body.page_service_03 .workflow[data-module="module-4"],
body.page_service_06 .workflow { grid-template-columns: repeat(3, 384px); gap: 60px 24px; }
body.page_service_03 .workflow:is([data-module="module-2"], [data-module="module-3"], [data-module="module-4"]),
body.page_service_06 .workflow { position: relative; }
body.page_service_03 .workflow:is([data-module="module-2"], [data-module="module-3"], [data-module="module-4"])::before,
body.page_service_03 .workflow:is([data-module="module-2"], [data-module="module-3"], [data-module="module-4"])::after,
body.page_service_06 .workflow::before,
body.page_service_06 .workflow::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 50%;
	top: 424px;
	width: 100vw;
	height: 1px;
	transform: translateX(-50%);
}
body.page_service_03 .workflow:is([data-module="module-2"], [data-module="module-3"], [data-module="module-4"])::before,
body.page_service_06 .workflow::before { background: rgba(255, 255, 255, .2); }
body.page_service_03 .workflow:is([data-module="module-2"], [data-module="module-3"], [data-module="module-4"])::after,
body.page_service_06 .workflow::after {
	background: #fff;
	box-shadow: 0 0 8px rgba(255, 255, 255, .75);
	transform: translateX(-50%) scaleX(0);
	transform-origin: left center;
}
body.page_service_03 .workflow_band.is_workflow_active .workflow:is([data-module="module-2"], [data-module="module-3"], [data-module="module-4"])::after,
body.page_service_06 .workflow_band.is_workflow_active .workflow::after {
	transform: translateX(-50%) scaleX(1);
	transition: transform 1.6s linear 1.6s;
}
body.page_service_03 .workflow[data-module="module-2"] article,
body.page_service_03 .workflow[data-module="module-3"] article,
body.page_service_03 .workflow[data-module="module-4"] article,
body.page_service_06 .workflow article { width: 384px; height: 324px; min-height: 324px; padding: 0 32px; }
body.page_service_03 .workflow:is([data-module="module-2"], [data-module="module-3"], [data-module="module-4"]) article,
body.page_service_06 .workflow article { z-index: 1; }
body.page_service_03 .workflow[data-module="module-2"] article:nth-child(n+4),
body.page_service_03 .workflow[data-module="module-3"] article:nth-child(n+4) { height: 294px; min-height: 294px; }
body.page_service_03 .workflow[data-module="module-2"] article::before,
body.page_service_03 .workflow[data-module="module-3"] article::before,
body.page_service_03 .workflow[data-module="module-4"] article::before,
body.page_service_06 .workflow article::before { width: 384px; height: 180px; }
body.page_service_03 .workflow[data-module="module-2"] article:nth-child(n+4)::before,
body.page_service_03 .workflow[data-module="module-3"] article:nth-child(n+4)::before { height: 150px; }
body.page_service_03 .workflow[data-module="module-2"] article::after,
body.page_service_03 .workflow[data-module="module-3"] article::after,
body.page_service_03 .workflow[data-module="module-4"] article::after,
body.page_service_06 .workflow article::after { left: 180px; }
body.page_service_03 .workflow[data-module="module-1"] article:nth-child(1) b { background-image: url(../images/workflow_icon25.png); }
body.page_service_03 .workflow[data-module="module-1"] article:nth-child(2) b { background-image: url(../images/workflow_icon26.png); }
body.page_service_03 .workflow[data-module="module-1"] article:nth-child(3) b { background-image: url(../images/workflow_icon27.png); }
body.page_service_03 .workflow[data-module="module-1"] article:nth-child(4) b { background-image: url(../images/workflow_icon28.png); }
body.page_service_03 .workflow[data-module="module-1"] article:nth-child(5) b { background-image: url(../images/workflow_icon29.png); }
body.page_service_03 .workflow[data-module="module-2"] article:nth-child(1) b { background-image: url(../images/workflow_icon30.png); }
body.page_service_03 .workflow[data-module="module-2"] article:nth-child(2) b { background-image: url(../images/workflow_icon31.png); }
body.page_service_03 .workflow[data-module="module-2"] article:nth-child(3) b { background-image: url(../images/workflow_icon32.png); }
body.page_service_03 .workflow[data-module="module-2"] article:nth-child(4) b { background-image: url(../images/workflow_icon33.png); }
body.page_service_03 .workflow[data-module="module-2"] article:nth-child(5) b { background-image: url(../images/workflow_icon34.png); }
body.page_service_03 .workflow[data-module="module-2"] article:nth-child(6) b { background-image: url(../images/workflow_icon35.png); }
body.page_service_03 .workflow[data-module="module-3"] article:nth-child(1) b { background-image: url(../images/workflow_icon36.png); }
body.page_service_03 .workflow[data-module="module-3"] article:nth-child(2) b { background-image: url(../images/workflow_icon37.png); }
body.page_service_03 .workflow[data-module="module-3"] article:nth-child(3) b { background-image: url(../images/workflow_icon38.png); }
body.page_service_03 .workflow[data-module="module-3"] article:nth-child(4) b { background-image: url(../images/workflow_icon39.png); }
body.page_service_03 .workflow[data-module="module-3"] article:nth-child(5) b { background-image: url(../images/workflow_icon40.png); }
body.page_service_03 .workflow[data-module="module-3"] article:nth-child(6) b { background-image: url(../images/workflow_icon41.png); }
body.page_service_03 .workflow[data-module="module-4"] article:nth-child(1) b { background-image: url(../images/workflow_icon42.png); }
body.page_service_03 .workflow[data-module="module-4"] article:nth-child(2) b { background-image: url(../images/workflow_icon43.png); }
body.page_service_03 .workflow[data-module="module-4"] article:nth-child(3) b { background-image: url(../images/workflow_icon44.png); }
body.page_service_03 .workflow[data-module="module-4"] article:nth-child(4) b { background-image: url(../images/workflow_icon45.png); }
body.page_service_03 .workflow[data-module="module-4"] article:nth-child(5) b { background-image: url(../images/workflow_icon46.png); }
body.page_service_03 .workflow[data-module="module-4"] article:nth-child(6) b { background-image: url(../images/workflow_icon47.png); }

body.page_service_03 .deliverables[data-module="module-1"] article { height: 150px; }
body.page_service_03 .deliverables[data-module="module-2"] article:nth-child(1),
body.page_service_03 .deliverables[data-module="module-2"] article:nth-child(2),
body.page_service_03 .deliverables[data-module="module-2"] article:nth-child(3),
body.page_service_03 .deliverables[data-module="module-2"] article:nth-child(4) { height: 150px; }
body.page_service_03 .deliverables[data-module="module-2"] article:nth-child(5),
body.page_service_03 .deliverables[data-module="module-2"] article:nth-child(6) { height: 120px; }
body.page_service_03 .deliverables[data-module="module-3"] article:nth-child(1),
body.page_service_03 .deliverables[data-module="module-3"] article:nth-child(2),
body.page_service_03 .deliverables[data-module="module-3"] article:nth-child(5),
body.page_service_03 .deliverables[data-module="module-3"] article:nth-child(6) { height: 150px; }
body.page_service_03 .deliverables[data-module="module-3"] article:nth-child(3),
body.page_service_03 .deliverables[data-module="module-3"] article:nth-child(4) { height: 120px; }
body.page_service_03 .deliverables[data-module="module-4"] article:nth-child(3),
body.page_service_03 .deliverables[data-module="module-4"] article:nth-child(4) { height: 150px; }
body.page_service_03 .deliverables[data-module="module-4"] article:not(:nth-child(3)):not(:nth-child(4)) { height: 120px; }
body.page_service_03 .deliverables[data-module="module-4"] article:last-child { grid-column: 1 / -1; width: 1200px; }
body.page_service_04 .risk_grid[data-module="module-1"] article:nth-child(1) i { background-image: url(../images/circle_icon31.png); }
body.page_service_04 .risk_grid[data-module="module-1"] article:nth-child(2) i { background-image: url(../images/circle_icon32.png); }
body.page_service_04 .risk_grid[data-module="module-1"] article:nth-child(3) i { background-image: url(../images/circle_icon33.png); }
body.page_service_04 .risk_grid[data-module="module-2"] article:nth-child(1) i { background-image: url(../images/circle_icon34.png); }
body.page_service_04 .risk_grid[data-module="module-2"] article:nth-child(2) i { background-image: url(../images/circle_icon35.png); }
body.page_service_04 .risk_grid[data-module="module-2"] article:nth-child(3) i { background-image: url(../images/circle_icon36.png); }
body.page_service_04 .risk_grid[data-module="module-3"] article:nth-child(1) i { background-image: url(../images/circle_icon37.png); }
body.page_service_04 .risk_grid[data-module="module-3"] article:nth-child(2) i { background-image: url(../images/circle_icon38.png); }
body.page_service_04 .risk_grid[data-module="module-3"] article:nth-child(3) i { background-image: url(../images/circle_icon39.png); }
body.page_service_04 .terms article:nth-child(1)::after { background-image: url(../images/core_icon13.png); }
body.page_service_04 .terms article:nth-child(2)::after { background-image: url(../images/core_icon14.png); }
body.page_service_04 .terms article:nth-child(3)::after { background-image: url(../images/core_icon15.png); }
body.page_service_04 .terms article:nth-child(4)::after { background-image: url(../images/core_icon16.png); }
body.page_service_06 .terms article::after { opacity: .1; }
body.page_service_06 .terms article:nth-child(1)::after { background-image: url(../images/core_icon21.svg); }
body.page_service_06 .terms article:nth-child(2)::after { background-image: url(../images/core_icon22.svg); }
body.page_service_06 .terms article:nth-child(3)::after { background-image: url(../images/core_icon23.svg); }
body.page_service_06 .terms article:nth-child(4)::after { background-image: url(../images/core_icon24.svg); }
body.page_service_04 .workflow[data-module="module-1"] article:nth-child(1) b { background-image: url(../images/workflow_icon48.png); }
body.page_service_04 .workflow[data-module="module-1"] article:nth-child(2) b { background-image: url(../images/workflow_icon49.png); }
body.page_service_04 .workflow[data-module="module-1"] article:nth-child(3) b { background-image: url(../images/workflow_icon50.png); }
body.page_service_04 .workflow[data-module="module-1"] article:nth-child(4) b { background-image: url(../images/workflow_icon51.png); }
body.page_service_04 .workflow[data-module="module-1"] article:nth-child(5) b { background-image: url(../images/workflow_icon52.png); }
body.page_service_04 .workflow[data-module="module-2"] article:nth-child(1) b { background-image: url(../images/workflow_icon53.png); }
body.page_service_04 .workflow[data-module="module-2"] article:nth-child(2) b { background-image: url(../images/workflow_icon54.png); }
body.page_service_04 .workflow[data-module="module-2"] article:nth-child(3) b { background-image: url(../images/workflow_icon55.png); }
body.page_service_04 .workflow[data-module="module-2"] article:nth-child(4) b { background-image: url(../images/workflow_icon56.png); }
body.page_service_04 .workflow[data-module="module-2"] article:nth-child(5) b { background-image: url(../images/workflow_icon57.png); }
body.page_service_04 .workflow[data-module="module-3"] article:nth-child(1) b { background-image: url(../images/workflow_icon58.png); }
body.page_service_04 .workflow[data-module="module-3"] article:nth-child(2) b { background-image: url(../images/workflow_icon59.png); }
body.page_service_04 .workflow[data-module="module-3"] article:nth-child(3) b { background-image: url(../images/workflow_icon60.png); }
body.page_service_04 .workflow[data-module="module-3"] article:nth-child(4) b { background-image: url(../images/workflow_icon61.png); }
body.page_service_04 .workflow[data-module="module-3"] article:nth-child(5) b { background-image: url(../images/workflow_icon62.png); }
body.page_service_04 .workflow_band:has(.workflow[data-module="module-1"]:not([hidden])) { height: 654px; background-size: 1920px 654px; }
body.page_service_04 .workflow_band:has(.workflow[data-module="module-2"]:not([hidden])) { height: 674px; background-size: 1920px 674px; }
body.page_service_04 .workflow_band:has(.workflow[data-module="module-3"]:not([hidden])) { height: 644px; background-size: 1920px 644px; }
body.page_service_04 .workflow article { width: 220px; padding: 0 20px; }
body.page_service_04 .workflow[data-module="module-1"] article { height: 364px; min-height: 364px; }
body.page_service_04 .workflow[data-module="module-2"] article { height: 384px; min-height: 384px; }
body.page_service_04 .workflow[data-module="module-3"] article { height: 354px; min-height: 354px; }
body.page_service_04 .workflow[data-module="module-1"] article::before { width: 220px; height: 220px; }
body.page_service_04 .workflow[data-module="module-2"] article::before { width: 220px; height: 240px; }
body.page_service_04 .workflow[data-module="module-3"] article::before { width: 220px; height: 210px; }
body.page_service_04 .deliverables article:nth-child(1),
body.page_service_04 .deliverables article:nth-child(2) { height: 120px; }
body.page_service_04 .deliverables article:nth-child(3),
body.page_service_04 .deliverables article:nth-child(4) { height: 150px; }
body.page_service_05 .risk_grid[data-module="module-1"] article:nth-child(1) i { background-image: url(../images/circle_icon40.png); }
body.page_service_05 .risk_grid[data-module="module-1"] article:nth-child(2) i { background-image: url(../images/circle_icon41.png); }
body.page_service_05 .risk_grid[data-module="module-1"] article:nth-child(3) i { background-image: url(../images/circle_icon42.png); }
body.page_service_05 .risk_grid[data-module="module-2"] article:nth-child(1) i { background-image: url(../images/circle_icon43.png); }
body.page_service_05 .risk_grid[data-module="module-2"] article:nth-child(2) i { background-image: url(../images/circle_icon44.png); }
body.page_service_05 .risk_grid[data-module="module-2"] article:nth-child(3) i { background-image: url(../images/circle_icon45.png); }
body.page_service_05 .risk_grid[data-module="module-3"] article:nth-child(1) i { background-image: url(../images/circle_icon46.png); }
body.page_service_05 .risk_grid[data-module="module-3"] article:nth-child(2) i { background-image: url(../images/circle_icon47.png); }
body.page_service_05 .risk_grid[data-module="module-3"] article:nth-child(3) i { background-image: url(../images/circle_icon48.png); }
body.page_service_05 .risk_grid[data-module="module-4"] article:nth-child(1) i { background-image: url(../images/circle_icon49.png); }
body.page_service_05 .risk_grid[data-module="module-4"] article:nth-child(2) i { background-image: url(../images/circle_icon50.png); }
body.page_service_05 .risk_grid[data-module="module-4"] article:nth-child(3) i { background-image: url(../images/circle_icon51.png); }
body.page_service_05 .terms article:nth-child(1)::after { background-image: url(../images/core_icon17.png); }
body.page_service_05 .terms article:nth-child(2)::after { background-image: url(../images/core_icon18.png); }
body.page_service_05 .terms article:nth-child(3)::after { background-image: url(../images/core_icon19.png); }
body.page_service_05 .terms article:nth-child(4)::after { background-image: url(../images/core_icon20.png); }
body.page_service_05 .workflow[data-module="module-1"] article:nth-child(1) b { background-image: url(../images/workflow_icon63.png); }
body.page_service_05 .workflow[data-module="module-1"] article:nth-child(2) b { background-image: url(../images/workflow_icon64.png); }
body.page_service_05 .workflow[data-module="module-1"] article:nth-child(3) b { background-image: url(../images/workflow_icon65.png); }
body.page_service_05 .workflow[data-module="module-1"] article:nth-child(4) b { background-image: url(../images/workflow_icon66.png); }
body.page_service_05 .workflow[data-module="module-2"] article:nth-child(1) b { background-image: url(../images/workflow_icon67.png); }
body.page_service_05 .workflow[data-module="module-2"] article:nth-child(2) b { background-image: url(../images/workflow_icon68.png); }
body.page_service_05 .workflow[data-module="module-2"] article:nth-child(3) b { background-image: url(../images/workflow_icon69.png); }
body.page_service_05 .workflow[data-module="module-2"] article:nth-child(4) b { background-image: url(../images/workflow_icon70.png); }
body.page_service_05 .workflow[data-module="module-3"] article:nth-child(1) b { background-image: url(../images/workflow_icon71.png); }
body.page_service_05 .workflow[data-module="module-3"] article:nth-child(2) b { background-image: url(../images/workflow_icon72.png); }
body.page_service_05 .workflow[data-module="module-3"] article:nth-child(3) b { background-image: url(../images/workflow_icon73.png); }
body.page_service_05 .workflow[data-module="module-3"] article:nth-child(4) b { background-image: url(../images/workflow_icon74.png); }
body.page_service_05 .workflow[data-module="module-4"] article:nth-child(1) b { background-image: url(../images/workflow_icon75.png); }
body.page_service_05 .workflow[data-module="module-4"] article:nth-child(2) b { background-image: url(../images/workflow_icon76.png); }
body.page_service_05 .workflow[data-module="module-4"] article:nth-child(3) b { background-image: url(../images/workflow_icon77.png); }
body.page_service_05 .workflow[data-module="module-4"] article:nth-child(4) b { background-image: url(../images/workflow_icon78.png); }
body.page_service_05 .workflow_band:has(.workflow[data-module="module-3"]:not([hidden])),
body.page_service_05 .workflow_band:has(.workflow[data-module="module-4"]:not([hidden])) { height: 648px; background-size: 1920px 648px; }
body.page_service_05 .workflow[data-module="module-3"] article,
body.page_service_05 .workflow[data-module="module-4"] article { height: 358px; min-height: 358px; }
body.page_service_05 .workflow[data-module="module-3"] article::before,
body.page_service_05 .workflow[data-module="module-4"] article::before { height: 214px; }
body.page_service_05 .deliverables[data-module="module-1"] article:nth-child(-n+2),
body.page_service_05 .deliverables[data-module="module-2"] article:nth-child(-n+2),
body.page_service_05 .deliverables[data-module="module-3"] article,
body.page_service_05 .deliverables[data-module="module-4"] article { height: 120px; }
body.page_service_05 .deliverables[data-module="module-1"] article:nth-child(n+3),
body.page_service_05 .deliverables[data-module="module-2"] article:nth-child(n+3) { height: 150px; }
body.page_service_05 .deliverables[data-module="module-4"] article { height: 150px; }
body.page_service_06 .risk_grid[data-module="module-1"] article:nth-child(1) i { background-image: url(../images/circle_icon52.png); }
body.page_service_06 .risk_grid[data-module="module-1"] article:nth-child(2) i { background-image: url(../images/circle_icon53.png); }
body.page_service_06 .risk_grid[data-module="module-1"] article:nth-child(3) i { background-image: url(../images/circle_icon54.png); }
body.page_service_06 .risk_grid[data-module="module-2"] article:nth-child(1) i { background-image: url(../images/circle_icon55.png); }
body.page_service_06 .risk_grid[data-module="module-2"] article:nth-child(2) i { background-image: url(../images/circle_icon56.png); }
body.page_service_06 .risk_grid[data-module="module-2"] article:nth-child(3) i { background-image: url(../images/circle_icon57.png); }
body.page_service_06 .risk_grid[data-module="module-3"] article:nth-child(1) i { background-image: url(../images/circle_icon58.png); }
body.page_service_06 .risk_grid[data-module="module-3"] article:nth-child(2) i { background-image: url(../images/circle_icon59.png); }
body.page_service_06 .risk_grid[data-module="module-3"] article:nth-child(3) i { background-image: url(../images/circle_icon60.png); }
body.page_service_06 .workflow[data-module="module-1"] article:nth-child(1) b { background-image: url(../images/workflow_icon79.png); }
body.page_service_06 .workflow[data-module="module-1"] article:nth-child(2) b { background-image: url(../images/workflow_icon80.png); }
body.page_service_06 .workflow[data-module="module-1"] article:nth-child(3) b { background-image: url(../images/workflow_icon81.png); }
body.page_service_06 .workflow[data-module="module-1"] article:nth-child(4) b { background-image: url(../images/workflow_icon82.png); }
body.page_service_06 .workflow[data-module="module-1"] article:nth-child(5) b { background-image: url(../images/workflow_icon83.png); }
body.page_service_06 .workflow[data-module="module-1"] article:nth-child(6) b { background-image: url(../images/workflow_icon84.png); }
body.page_service_06 .workflow[data-module="module-2"] article:nth-child(1) b { background-image: url(../images/workflow_icon85.png); }
body.page_service_06 .workflow[data-module="module-2"] article:nth-child(2) b { background-image: url(../images/workflow_icon86.png); }
body.page_service_06 .workflow[data-module="module-2"] article:nth-child(3) b { background-image: url(../images/workflow_icon87.png); }
body.page_service_06 .workflow[data-module="module-2"] article:nth-child(4) b { background-image: url(../images/workflow_icon88.png); }
body.page_service_06 .workflow[data-module="module-2"] article:nth-child(5) b { background-image: url(../images/workflow_icon89.png); }
body.page_service_06 .workflow[data-module="module-2"] article:nth-child(6) b { background-image: url(../images/workflow_icon90.png); }
body.page_service_06 .workflow[data-module="module-3"] article:nth-child(1) b { background-image: url(../images/workflow_icon91.png); }
body.page_service_06 .workflow[data-module="module-3"] article:nth-child(2) b { background-image: url(../images/workflow_icon92.png); }
body.page_service_06 .workflow[data-module="module-3"] article:nth-child(3) b { background-image: url(../images/workflow_icon93.png); }
body.page_service_06 .workflow[data-module="module-3"] article:nth-child(4) b { background-image: url(../images/workflow_icon94.png); }
body.page_service_06 .workflow[data-module="module-3"] article:nth-child(5) b { background-image: url(../images/workflow_icon95.png); }
body.page_service_06 .workflow[data-module="module-3"] article:nth-child(6) b { background-image: url(../images/workflow_icon96.png); }
body.page_service_06 .deliverables[data-module="module-1"] article { height: 150px; }
body.page_service_06 .deliverables[data-module="module-2"] article,
body.page_service_06 .deliverables[data-module="module-3"] article { height: 120px; }
body.page_service_06 .deliverables[data-module="module-3"] article:nth-child(-n+2) { height: 150px; }
body.page_service_06 .deliverables[data-module="module-2"] article:last-child,
body.page_service_06 .deliverables[data-module="module-3"] article:last-child { grid-column: 1 / -1; width: 1200px; }

body.page_service_04 .decision_cards article:nth-child(1) { background-image: url(../images/service_icon11.png); }
body.page_service_04 .decision_cards article:nth-child(2) { background-image: url(../images/service_icon12.png); }
body.page_service_04 .decision_cards article:nth-child(3) { background-image: url(../images/service_icon13.png); }

body.page_service_05 .decision_cards.cols_4 article:nth-child(1) { background-image: url(../images/service_icon14.png); }
body.page_service_05 .decision_cards.cols_4 article:nth-child(2) { background-image: url(../images/service_icon15.png); }
body.page_service_05 .decision_cards.cols_4 article:nth-child(3) { background-image: url(../images/service_icon16.png); }
body.page_service_05 .decision_cards.cols_4 article:nth-child(4) { background-image: url(../images/service_icon17.png); }

body.page_service_06 .decision_cards article:nth-child(1) { background-image: url(../images/service_icon18.png); }
body.page_service_06 .decision_cards article:nth-child(2) { background-image: url(../images/service_icon19.png); }
body.page_service_06 .decision_cards article:nth-child(3) { background-image: url(../images/service_icon20.png); }

/* Keep every service workflow background edge-to-edge at all module heights. */
body.page_service_common .workflow_band {
	background-size: cover;
	background-position: center;
}

@media (prefers-reduced-motion: reduce) {
	body.page_service_common .workflow_band::before { transform: scaleX(1); transition: none; }
	body.page_service_common .workflow_band.is_motion_ready .workflow article { opacity: 1; transform: none; transition: none; }
	body.page_service_03 .workflow:is([data-module="module-2"], [data-module="module-3"], [data-module="module-4"])::after,
	body.page_service_06 .workflow::after {
		transform: translateX(-50%) scaleX(1);
		transition: none;
	}
}

/* Insights and resources */

.insights_section { padding: 120px 0 200px; background: var(--soft); }
.insights_title { margin: 0 0 115px; text-align: center; font-size: 44px; font-weight: 700; letter-spacing: -.02em; }

.insights_tabs { display: flex; max-width: 320px; margin: -40px auto 80px; }
.insights_tabs a {
	flex: 1; height: 45px; display: flex; align-items: center; justify-content: center;
	background: #fff; color: var(--purple); font-size: 18px; font-weight: 500;
}
.insights_tabs a.active { background: var(--purple); color: #fff; }

.insights_search { position: relative; max-width: 800px; margin: 0 auto 80px; }
.insights_search input {
	width: 100%; padding: 15px 40px 15px 20px; border: 0; border-bottom: 1px solid #222;
	background: transparent; font: inherit; font-size: 16px; color: #222;
}
.insights_search input::placeholder { color: #222; }
.insights_search input:focus { outline: none; }
.insights_search .icon_search {
	position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
	width: 24px; height: 24px; background: none;
}
.insights_search .icon_search img { display: block; width: 100%; height: 100%; }

.insights_list { display: flex; flex-direction: column; gap: 15px; margin-bottom: 120px; }

.insights_row {
	position: relative;
	display: flex; align-items: center; gap: 20px;
	padding: 24px 60px; background: #fff; color: var(--ink);
	box-shadow: 10px 10px 15px rgba(128, 48, 167, .1);
	font-size: 18px; transition: background .2s ease, color .2s ease;
}
a.insights_row { text-decoration: none; }
.insights_row:hover,
.insights_row.is_pinned { background: var(--purple); color: #fff; }

.insights_row .row_title { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1 1 auto; max-width: 70%; }
.insights_row .row_title span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; font-weight: 400; }
.insights_row .row_meta,
.insights_row .row_date {
	position: absolute; right: 5%; top: 50%; transform: translateY(-50%);
	font-size: 16px; opacity: .85; white-space: nowrap; text-align: right;
}
.insights_row .row_source {
	position: absolute; left: 72.58%; top: 50%; transform: translateY(-50%);
	font-size: 16px; opacity: .85; white-space: nowrap; text-align: left;
}

.insights_row .icon_pin { display: block; flex: 0 0 auto; width: 28px; height: 28px; object-fit: contain; }
.insights_row:hover .icon_pin,
.insights_row.is_pinned .icon_pin { filter: brightness(0) invert(1); }

.insights_row .icon_file { width: 18px; height: 20px; object-fit: contain; }
.insights_row:hover .icon_file,
.insights_row.is_pinned .icon_file { filter: brightness(0) invert(1); }

.update_grid { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 24px; row-gap: 60px; margin-bottom: 54px; }
.update_card {
	display: block; background: #fff; overflow: hidden;
	box-shadow: 10px 10px 15px rgba(128, 48, 167, .1); color: inherit;
	transition: transform .25s ease, box-shadow .25s ease;
}
.update_card:hover,
.update_card:focus-visible {
	transform: translateY(-8px);
	box-shadow: 10px 18px 28px rgba(128, 48, 167, .18);
}
.update_card .thumb { display: block; aspect-ratio: 384 / 340; overflow: hidden; }
.update_card .thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.update_card p { margin: 0; padding: 18px 20px; font-size: 18px; text-transform: uppercase; color: #222; text-align: center; }
@media (prefers-reduced-motion: reduce) {
	.update_card { transition: none; }
	.update_card:hover,
	.update_card:focus-visible { transform: none; }
}

.pagination { display: flex; align-items: center; justify-content: center; gap: 8px; }
.pagination a,
.pagination span {
	display: flex; align-items: center; justify-content: center;
	width: 54px; height: 54px; border-radius: 10px; background: #fff; color: #666; font-size: 22px; font-weight: 400;
}
.pagination a.active,
.pagination a:hover { background: var(--purple); color: #fff; box-shadow: 0 5px 7.5px rgba(128, 48, 167, .3); }
.pagination .dots { border-radius: 20px; background: none; color: #666; font-size: 24px; font-weight: 500; }
.pagination .arrow { color: var(--ink); font-size: 20px; }
.pagination .arrow img { display: block; width: 11px; height: 20px; transition: filter .1s ease; }
.pagination .arrow_next img { transform: scaleX(-1); }
.pagination .arrow:hover img { filter: brightness(0) invert(1); }

.insights_detail_head { max-width: 1200px; margin: 0 auto 45px; text-align: center; padding-bottom: 30px; position: relative; }
.insights_detail_head::after { content: ''; display: block; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 3000px; height: 1px; background-color: var(--line); }
.insights_detail_head h1 { margin: 0 0 25px; font-size: 36px; font-weight: 700; line-height: 1.3; margin-top: 100px; }
.insights_detail_head time { font-size: 18px; color: #222; }
.insights_detail_head .detail_source {
	margin-left: 12px; padding-left: 12px; border-left: 1px solid var(--line);
	font-size: 18px; color: #222;
}

.insights_detail_hero { max-width: 1200px; margin: 0 auto 60px; position: relative; padding-bottom: 50px; }
.insights_detail_hero::after { content: ''; display: block; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 3000px; height: 1px; background-color: var(--line); }
.insights_detail_hero .thumb { display: block; aspect-ratio: 1200 / 1073; overflow: hidden; }
.insights_detail_hero .thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }

.attachment_bar { background: #F7F3FD; border-top: 1px solid var(--line); position: relative; left: 50%; width: 100vw; transform: translateX(-50%); margin-bottom: -50px; margin-top: 70px; }
.attachment_inner {
	width: min(var(--frame-inner), calc(100% - 150px)); margin: 0 auto;
	display: flex; flex-wrap: nowrap; align-items: flex-start; column-gap: 30px; row-gap: 14px; padding: 17px 0;
}
.attachment_label { font-size: 18px; line-height: 30px; color: #222; flex-shrink: 0; }
.attachment_files { display: flex; flex-wrap: wrap; align-items: center; column-gap: 30px; row-gap: 14px; min-width: 0; }
.attachment_file { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; line-height: 30px; color: #222; text-decoration: none; }
.attachment_file img { display: block; width: 18px; height: 20px; aspect-ratio: 1 / 1; object-fit: contain; }

.insights_detail_body { max-width: 1200px; margin: 0 auto 60px; font-size: 18px; line-height: 1.67; color: #222; padding-bottom: 50px; position: relative; }
.insights_detail_body::after { content: ''; display: block; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 3000px; height: 1px; background-color: var(--line); }
.insights_detail_body h2 { margin: 36px 0 14px; font-size: 28px; font-weight: 600; }
.insights_detail_body h3 { margin: 30px 0 12px; font-size: 24px; }
.insights_detail_body h3 b { font-weight: 700; }
.insights_detail_body p { margin: 0 0 16px; }
.insights_detail_body ul { margin: 0 0 16px; padding-left: 20px; }
.insights_detail_body li { margin: 6px 0; }

.insights_view_more { display: flex; justify-content: center; margin: 0 0 50px; }
.insights_view_more a {
	display: inline-flex; padding: 13px 36px; background: #8030a7; color: #fff;
	font-size: 18px; font-weight: 600; text-transform: uppercase; letter-spacing: .02em;
	transition: background-color .2s ease;
}
.insights_view_more a:hover { background: #a457ca; }
.insights_view_more a:focus-visible { background: #8030a7; outline: 1px solid #32085e; outline-offset: -1px; }
.insights_view_more a:active { background: #570380; }

.insights_nav { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; gap: 20px; padding-top: 30px; }
.insights_nav a { display: flex; flex-direction: column; gap: 6px; color: var(--ink); }
.insights_nav .next { text-align: right; align-items: flex-end; }
.insights_nav .dir { display: flex; align-items: center; gap: 6px; font-weight: 700; font-size: 24px; }
.insights_nav .next .dir { flex-direction: row-reverse; }
.insights_nav .nav_arrow { display: block; width: 32px; height: 32px; }
.insights_nav .nav_arrow_next { transform: scaleX(-1); }
.insights_nav .article { font-size: 16px; color: #555; margin: 0; }

.insights_lead { max-width: 996px; margin: -85px auto 80px; text-align: center; font-size: 18px; line-height: 1.67; color: #222; }

.inquiry_form { max-width: 1200px; margin: 0 auto; padding: 70px 100px; background: #fff; }
.form_row { display: grid; grid-template-columns: 142px 1fr; gap: 10px 40px; align-items: start; padding: 12px 0; }
.form_row + .form_row { border-top: 1px solid transparent; }
.form_row label { padding-top: 12px; font-size: 18px; font-weight: 700; color: #222; }
.form_row .field_group { display: flex; gap: 24px; }
.form_row .field_group > * { flex: 1; }

.inquiry_form input[type="text"],
.inquiry_form input[type="email"],
.inquiry_form select,
.inquiry_form textarea {
	width: 100%; padding: 10px 20px; height: 50px; border: 2px solid transparent; border-radius: 0;
	background: #f5f5f5; font: inherit; font-size: 16px; color: #222;
	transition: border-color .15s ease, background .15s ease;
}
.inquiry_form input::placeholder,
.inquiry_form textarea::placeholder { color: #afafaf; }
.inquiry_form select { appearance: none; background-image: url(../images/select_arrow.png); background-position: calc(100% - 20px) center; background-size: 36px 18px; background-repeat: no-repeat; }

.custom_select { position: relative; }
.custom_select_trigger {
	width: 100%; height: 50px; padding: 10px 20px; border: 2px solid transparent; outline: none;
	display: flex; align-items: center; justify-content: space-between;
	background: #f5f5f5; font: inherit; font-size: 16px; color: #afafaf; text-align: left; cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}
.custom_select_trigger:focus { outline: none; }
.custom_select_trigger:hover { border-color: #8231a7; }
.custom_select.has_value .custom_select_value { color: #222; }
.custom_select_arrow { display: block; width: 36px; height: 18px; transition: transform .2s ease; }
.custom_select.is_open .custom_select_trigger { border-color: #8231a7; background: #fff; outline: none; }
/* 20260903 수정 */
.custom_select.is_open .custom_select_trigger { border-bottom: 0; }
.custom_select.is_open .custom_select_arrow { transform: rotate(180deg); }
.custom_select_options {
	position: absolute; top: 100%; left: 0; right: 0; z-index: 10;
	margin-top: 0; background: #fff; border: 2px solid #8231a7; border-top: 0;
	list-style: none; padding: 0;
	max-height: 0; overflow: hidden; opacity: 0;
	transition: max-height .2s ease, opacity .2s ease;
}
.custom_select.is_open .custom_select_options { height: 203px; max-height: 203px; opacity: 1; overflow: hidden; }
.custom_select_options li {
	height: 50px; padding: 0 20px; display: flex; align-items: center;
	font-size: 16px; color: #222; cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.custom_select_options li:hover,
.custom_select_options li.is_active { background: #f5f5f5; color: #222; }
.inquiry_form textarea { height: 280px; padding-top: 15px; resize: vertical; font-family: inherit; }
.inquiry_form input:hover,
.inquiry_form select:hover,
.inquiry_form textarea:hover { border-color: var(--purple); }
.inquiry_form input:focus,
.inquiry_form select:focus,
.inquiry_form textarea:focus { border-color: var(--purple); background: #fff; outline: none; }

.consent_row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.consent_row .agree { display: flex; align-items: center; gap: 14px; font-size: 18px; color: #222; }
.consent_row .agree input {
	appearance: none; -webkit-appearance: none;
	box-sizing: border-box;
	width: 32px; height: 32px; flex: none;
	background: #f5f5f5; border: 2px solid transparent; cursor: pointer;
	position: relative;
	transition: background-color .15s ease, border-color .15s ease;
}
.consent_row .agree input:focus,
.consent_row .agree input:hover { border-color: #8231a7; }
.consent_row .agree input:checked { background: var(--purple); }
.consent_row .agree input:checked::after {
	content: ""; position: absolute; left: 10px; top: 2px;
	width: 8px; height: 15px;
	border: solid #fff; border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.consent_row .consent_view { font-size: 18px; color: #222; }
.consent_row .consent_view button { border: 0; background: none; padding: 0; font: inherit; font-weight: 700; color: var(--purple); cursor: pointer; }

.inquiry_submit { display: flex; justify-content: center; margin: 50px 0 0; }
.inquiry_submit a {
	padding: 13px 36px; border: 0; background: var(--purple); color: #fff;
	font-size: 18px; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; cursor: pointer;
}
.inquiry_submit button:disabled { opacity: .5; cursor: not-allowed; }

.consent_modal {
	position: fixed; inset: 0; z-index: 2000; display: none;
	align-items: flex-start; justify-content: center;
	padding: 90px 20px; overflow-y: auto;
	background: rgba(34, 34, 34, .5);
	backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.consent_modal.is_open { display: flex; }

.consent_modal_panel { position: relative; width: min(1200px, 100%); padding: 50px; background: #fff; }
.consent_modal_close {
	position: absolute; top: 20px; right: 20px; width: 36px; height: 36px;
	border: 0; background: none; padding: 0; cursor: pointer;
}
.consent_modal_close img { display: block; width: 100%; height: 100%; }
.consent_modal_panel h2 { margin: 0 0 16px; font-size: 28px; font-weight: 700; }
.consent_modal_panel > p { margin: 0 0 26px; font-size: 18px; line-height: 1.67; color: #222; }

.consent_table { width: 100%; border-collapse: collapse; font-size: 16px; }
.consent_table th,
.consent_table td { padding: 12px 20px; border: 1px solid #e6d6ed; text-align: left; vertical-align: top; color: #222; }
.consent_table th { background: var(--purple); color: #fff; font-size: 18px; font-weight: 700; line-height: 30px; border: 0; }
.consent_table td:first-child { width: 280px; }
.consent_table tbody tr:nth-child(even) td { background: #f7f3fd; }

.thanks_modal {
	position: fixed; inset: 0; z-index: 2100; display: none;
	align-items: flex-start; justify-content: center;
	padding: 90px 20px; overflow-y: auto;
	background: rgba(34, 34, 34, .5);
	backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.thanks_modal.is_open { display: flex; }

.thanks_modal_panel {
	position: relative; width: min(600px, 100%); min-height: 400px; padding: 0;
	background: #fff; overflow: hidden; text-align: left;
}
.thanks_ribbon { position: absolute; top: 0; left: 0; width: 180px; height: 401px; pointer-events: none; }
.thanks_ribbon img { display: block; width: 100%; height: 100%; }
.thanks_modal_close {
	position: absolute; top: 31px; right: 30px; width: 36px; height: 36px;
	border: 0; background: none; padding: 0; cursor: pointer; z-index: 1;
}
.thanks_modal_close img { display: block; width: 100%; height: 100%; }
.thanks_modal_panel h2 { position: absolute; left: 120px; top: 149px; transform: translateY(-50%); margin: 0; font-size: 28px; font-weight: 700; color: #222; white-space: nowrap; }
.thanks_modal_panel p { position: absolute; left: 120px; top: 205px; margin: 0; font-size: 18px; line-height: 1.67; color: #222; white-space: nowrap; }

/* Experiences */

.exp_hero { position: relative; }
.exp_hero_gradient {
	position: absolute; inset: 0; height: 600px;
	--hero-bg: #8231a7; --hero-big: #d199ff; --hero-mid: #ff3d75; --hero-small: #3c51c8;
}
.exp_hero_head { position: relative; z-index: 1; padding: 90px 0 60px; text-align: center; }
.exp_hero_head h1 { margin: 0; font-size: 54px; font-weight: 600; color: #fff; }

.exp_hero_panel { position: relative; z-index: 1; margin-bottom: 65px; }
.exp_hero_panel::before {
	content: ""; position: absolute; inset: 0; left: 8.229%; z-index: -1;
	background: #fff;
}
.exp_hero_panel > .frame_inner { padding: 60px 0 55px; }
.exp_hero_panel h2 { margin: 0 0 20px; font-size: 36px; font-weight: 700; line-height: 1.3; color: #222; }
.exp_hero_panel > .frame_inner > p { margin: 0 0 45px; max-width: 900px; font-size: 18px; line-height: 1.6; color: #444; }
/* 20260909 수정 */
.exp_no_wrap { white-space: nowrap; }

.exp_stats { display: grid; grid-template-columns: repeat(5, 167px); justify-content: space-between; gap: 20px; }
.exp_stat { text-align: center; position: relative; }
.exp_stat:not(:first-child)::before {
	content: ""; position: absolute; left: -46px; top: 50%; transform: translateY(-50%);
	width: 1px; height: 100px; background: #e1e1e1;
}
.exp_stat strong {
	display: block; font-size: 54px; font-weight: 600; line-height: 1.1; color: var(--purple);
	font-variant-numeric: tabular-nums;
}
.exp_stat span { display: block; margin-top: 12px; font-size: 18px; color: #666; }

.exp_section { padding: 110px 0; background: var(--bg_F7F3FD, #F7F3FD); }
.exp_section_tint { background: #fff; }
.exp_section_title { margin: 0 0 60px; text-align: center; font-size: 36px; font-weight: 700; color: #222; }

.exp_card {
	background: #fff; border-radius: 30px;
	padding: 45px 50px 40px;
	transition: box-shadow .2s ease;
}
.exp_card:not(.exp_card_combo):hover { box-shadow: 0 14px 20px rgba(130, 49, 167, .2); }
.exp_card + .exp_card { margin-top: 40px; }
.exp_card h3 { margin: 0 0 30px; font-size: 28px; font-weight: 600; color: #222; text-align: center; }
.exp_card h3 small { font-size: 18px; font-weight: 400; color: #222; }

.exp_row { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.exp_row .exp_card { margin-top: 0; }

.exp_chart_wrap { position: relative; height: 360px; }
.exp_chart_wrap_tall { height: 420px; }

.exp_card_combo { display: grid; grid-template-columns: 375px 468px; justify-content: center; gap: 40px 130px; }
.exp_card_combo > h3 { grid-column: 1 / -1; }
.exp_card_combo > .exp_legend { grid-column: 1 / -1; }
.exp_combo_bar { margin: 0; }
.exp_combo_bar .exp_chart_wrap { width: 468px; height: 348px; }
.exp_donut_wrap { width: 375px; height: 375px; display: flex; align-items: center; justify-content: center; }
.exp_donut_center {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	text-align: center; pointer-events: none;
}
.exp_donut_center strong { display: block; font-size: 32px; font-weight: 700; color: #222; }
.exp_donut_center span { display: block; margin-top: 2px; font-size: 14px; color: #888; }

.exp_legend {
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px;
	margin: 30px auto 0; width: fit-content; list-style: none;
	background: #f7f3fd; border-radius: 30px; padding: 14px 40px 14px 42px;
}
.exp_legend li {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 14px; color: #444; cursor: pointer; user-select: none;
	transition: opacity .15s ease; font-weight: 700;
}
.exp_legend li .dot { width: 15px; height: 15px; border-radius: 50%; flex: none; }
.exp_legend li.is_off { opacity: .35; }

.exp_tooltip {
	position: absolute; z-index: 20; pointer-events: none;
	transform: translate(-50%, -100%); margin-top: -10px;
	background: rgba(0, 0, 0, .8); color: #fff; border-radius: 5px;
	padding: 6px 12px; font-size: 13px; white-space: nowrap;
	display: flex; align-items: center; gap: 8px;
	opacity: 0; transition: opacity .1s ease;
}
.exp_tooltip.is_visible { opacity: 1; }
.exp_tooltip .swatch { width: 10px; height: 10px; border-radius: 2px; flex: none; }
.exp_tooltip::after {
	content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
	border: 6px solid transparent; border-top-color: rgba(0, 0, 0, .8);
}

@media (max-width: 1400px) {

	.exp_hero_panel::before { left: 0; }
}
