@charset "utf-8";

:root {
	--ink: #111820;
	--muted: #66717f;
	--line: #e6edf4;
	--blue: #0b68d8;
	--teal: #11a99c;
	--bg: #f6f8fb;
	--dark: #06121f;
}

* {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	min-width: 320px;
	color: var(--ink);
	background: var(--bg);
	font-family: "Pretendard", "Noto Sans KR", "Malgun Gothic", Arial, sans-serif;
	letter-spacing: 0;
}

html {
	scrollbar-gutter: stable;
}

body {
	overflow-x: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

.text-blue {
	color: var(--blue);
}

button {
	font: inherit;
	cursor: pointer;
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 30;
	border-bottom: 1px solid rgba(255,255,255,.22);
	background: rgba(4,16,28,.22);
	backdrop-filter: blur(8px);
	transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.site-header.is-scrolled {
	border-bottom-color: rgba(17,24,32,.08);
	background: rgba(255,255,255,.96);
	box-shadow: 0 10px 28px rgba(15,31,48,.08);
}

.site-nav {
	width: min(100% - 48px, 1480px);
	height: 86px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 240px 1fr 240px;
	align-items: center;
	gap: 24px;
	color: #fff;
	transition: color .25s ease;
}

.site-header.is-scrolled .site-nav {
	color: var(--ink);
}

.brand {
	display: inline-flex;
	align-items: center;
	position: relative;
	width: 82px;
	height: 76px;
}

.footer-brand {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.brand-logo {
	position: absolute;
	left: 18px;
	top: 50%;
	width: 40px;
	height: 40px;
	object-fit: contain;
	transform: translateY(-50%);
	transition: opacity .25s ease;
}

.brand-logo-white {
	opacity: 1;
}

.brand-logo-blue {
	left: 18px;
	width: 40px;
	height: 40px;
	opacity: 0;
}

.site-header.is-scrolled .brand-logo-white,
.resources-body .brand-logo-white {
	opacity: 0;
}

.site-header.is-scrolled .brand-logo-blue,
.resources-body .brand-logo-blue {
	opacity: 1;
}

.main-menu,
.nav-menu {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(24px, 4vw, 66px);
	list-style: none;
	font-size: 16px;
	font-weight: 900;
}

.main-menu > li,
.nav-menu > li {
	position: relative;
	display: flex;
	align-items: center;
	height: 86px;
}

.main-menu a,
.nav-menu a {
	transition: opacity .2s ease;
}

.main-menu a:hover,
.nav-menu a:hover {
	opacity: .72;
}

.submenu {
	position: absolute;
	left: 50%;
	top: 100%;
	z-index: 40;
	width: 184px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: rgba(255,255,255,.98);
	border-radius: 8px;
	box-shadow: 0 18px 38px rgba(8,21,36,.16);
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%) scaleY(.86);
	transform-origin: top center;
	transition: opacity .2s ease, transform .22s ease, visibility .2s ease;
}

.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) scaleY(1);
}

.submenu li {
	display: block;
	height: auto;
}

.submenu a {
	display: block;
	padding: 13px 20px;
	color: #4f5a66;
	font-size: 15px;
	line-height: 1.2;
	font-weight: 800;
	text-align: center;
	white-space: nowrap;
}

.submenu a:hover {
	color: var(--blue);
	background: #f3f8ff;
	opacity: 1;
}

.site-header.is-scrolled .submenu {
	box-shadow: 0 16px 34px rgba(15,31,48,.14);
}

.nav-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
}

.hamburger {
	width: 42px;
	height: 30px;
	position: relative;
	display: inline-block;
}

.hamburger:before,
.hamburger:after,
.hamburger span {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 2px;
	background: #fff;
	border-radius: 999px;
	transition: background .25s ease;
}

.site-header.is-scrolled .hamburger:before,
.site-header.is-scrolled .hamburger:after,
.site-header.is-scrolled .hamburger span {
	background: var(--ink);
}

.hamburger:before {
	top: 3px;
}

.hamburger span {
	top: 14px;
}

.hamburger:after {
	bottom: 3px;
}

body.is-menu-open {
	overflow-x: hidden;
}

.site-menu-overlay {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: stretch;
	justify-content: center;
	overflow-y: auto;
	overscroll-behavior: contain;
	color: #fff;
	background: rgba(6,18,31,.82);
	backdrop-filter: blur(8px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .28s ease, visibility .28s ease;
}

.site-menu-overlay.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.site-menu-panel {
	width: min(100% - 120px, 1720px);
	min-height: 100vh;
	display: grid;
	grid-template-rows: 104px 1fr;
}

.site-menu-top {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.site-menu-close {
	position: relative;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 50%;
	background: rgba(255,255,255,.06);
}

.site-menu-close:before,
.site-menu-close:after {
	content: "";
	position: absolute;
	left: 13px;
	right: 13px;
	top: 50%;
	height: 2px;
	border-radius: 999px;
	background: #fff;
}

.site-menu-close:before {
	transform: rotate(45deg);
}

.site-menu-close:after {
	transform: rotate(-45deg);
}

.site-menu-close span {
	display: none;
}

.site-menu-content {
	align-self: center;
	padding: 42px 0 92px;
}

.site-menu-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(72px, 8vw, 156px);
}

.site-menu-group {
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,.24);
}

.site-menu-group h3 {
	margin: 0;
	color: rgba(255,255,255,.62);
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
	letter-spacing: 0;
}

.site-menu-group ul {
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.site-menu-group li + li {
	margin-top: 16px;
}

.site-menu-group a {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: #fff;
	font-size: clamp(19px, 1.55vw, 26px);
	line-height: 1.2;
	font-weight: 900;
	transition: color .22s ease, transform .22s ease;
}

.site-menu-group a:after {
	content: "\2192";
	margin-left: 12px;
	color: #70b8ff;
	font-size: .72em;
	line-height: 1;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity .22s ease, transform .22s ease;
}

.site-menu-group a:hover,
.site-menu-group a:focus {
	color: #70b8ff;
	transform: translateX(6px);
	outline: 0;
}

.site-menu-group a:hover:after,
.site-menu-group a:focus:after {
	opacity: 1;
	transform: translateX(0);
}

.hero {
	min-height: 100vh;
	position: relative;
	overflow: hidden;
	color: #fff;
	background: #07131f url("/images/main/ginus-hero-healthcare-it-cropped.png") center center / cover no-repeat;
}

.hero:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(4,18,31,.86) 0%, rgba(4,18,31,.58) 44%, rgba(4,18,31,.18) 100%),
		linear-gradient(180deg, rgba(2,9,18,.32) 0%, rgba(2,9,18,.62) 100%);
	pointer-events: none;
}

.hero-slide {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	transform: scale(1.035);
	transition: opacity .7s ease, transform 4.8s ease;
}

.hero-slide-01 {
	background-image: url("/images/main/ginus-hero-healthcare-it-cropped.png");
}

.hero-slide-02 {
	background-image: url("/images/main/ginus-hero-claims-reference.png");
}

.hero-slide-03 {
	background-image: url("/images/main/ginus-hero-operations-reference.png");
}

.hero-slide.is-active {
	opacity: 1;
	transform: scale(1);
}

.hero-content {
	position: relative;
	z-index: 2;
	width: min(100% - 48px, 1480px);
	min-height: 100vh;
	margin: 0 auto;
	padding: 170px 0 156px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.hero-title {
	max-width: 820px;
	margin: 0;
	font-size: clamp(40px, 4.7vw, 72px);
	line-height: 1.14;
	font-weight: 900;
	letter-spacing: 0;
	text-shadow: 0 10px 34px rgba(0,0,0,.28);
	word-break: keep-all;
}

.hero-title.is-animated {
	animation: heroTextUp 2s cubic-bezier(.16,.78,.24,1) both;
}

.hero-title span {
	display: block;
}

.hero-copy {
	max-width: 660px;
	margin: 24px 0 0;
	color: rgba(255,255,255,.9);
	font-size: 18px;
	line-height: 1.68;
	font-weight: 600;
	text-shadow: 0 8px 24px rgba(0,0,0,.34);
	word-break: keep-all;
}

.hero-copy.is-animated {
	animation: heroTextUp 2s cubic-bezier(.16,.78,.24,1) .24s both;
}

@keyframes heroTextUp {
	from {
		opacity: 0;
		transform: translateY(42px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.slider-ui {
	display: flex;
	align-items: center;
	gap: 22px;
	margin-top: 108px;
	font-weight: 900;
}

.counter {
	display: flex;
	align-items: center;
	gap: 11px;
	min-width: 74px;
	font-size: 15px;
}

.muted {
	color: rgba(255,255,255,.44);
}

.dots {
	display: flex;
	gap: 10px;
}

.dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.4);
}

.dot.is-active {
	background: var(--blue);
}

.section-band {
	background: #fff;
}

.section-inner {
	width: min(100% - 48px, 1300px);
	margin: 0 auto;
}

.intro {
	padding: 98px 0 104px;
	background: #fff;
}

.eyebrow {
	margin: 0 0 22px;
	color: var(--blue);
	font-size: 15px;
	font-weight: 900;
}

h2 {
	margin: 0;
	font-size: 62px;
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: 0;
	word-break: keep-all;
	white-space: nowrap;
}

h2 strong {
	color: var(--blue);
}

.intro-head {
	text-align: center;
}

.intro-head h2 {
	color: var(--blue);
	font-size: 42px;
	line-height: 1.25;
	white-space: normal;
}

.intro-copy {
	max-width: 780px;
	margin: 18px auto 0;
	color: #596879;
	font-size: 17px;
	line-height: 1.72;
	font-weight: 700;
	word-break: keep-all;
}

.intro-card-grid {
	margin-top: 56px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.intro-card {
	position: relative;
	--hover-rgb: 0, 114, 230;
	min-height: 440px;
	padding: 48px 44px;
	overflow: hidden;
	border-radius: 18px;
	color: #fff;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	box-shadow: 0 22px 48px rgba(18,42,66,.12);
	transition: background-size .45s ease, box-shadow .25s ease;
}

.intro-card:before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(5,18,31,.5) 0%, rgba(5,18,31,.18) 24%, rgba(5,18,31,0) 56%),
		linear-gradient(90deg, rgba(5,18,31,.1), rgba(5,18,31,0));
	transition: background .3s ease;
}

.intro-card:hover:before,
.intro-card:focus:before {
	background:
		linear-gradient(180deg, rgba(var(--hover-rgb), .78) 0%, rgba(var(--hover-rgb), .68) 46%, rgba(var(--hover-rgb), .76) 100%),
		linear-gradient(90deg, rgba(5,18,31,.14), rgba(5,18,31,.02));
}

.intro-card:hover,
.intro-card:focus {
	box-shadow: 0 24px 54px rgba(18,42,66,.16);
	outline: 0;
}

.intro-card-about {
	background-image: url("/images/redesign/intro-card-about.png");
	--hover-rgb: 0, 114, 230;
}

.intro-card-system {
	background-image: url("/images/redesign/intro-card-system.png");
	--hover-rgb: 0, 114, 230;
}

.intro-card-support {
	background-image: url("/images/redesign/intro-card-support.png");
	--hover-rgb: 0, 114, 230;
}

.intro-card strong {
	position: relative;
	z-index: 1;
	display: block;
	font-size: 30px;
	line-height: 1.22;
	font-weight: 900;
	text-shadow: 0 10px 24px rgba(0,0,0,.24);
}

.intro-card p {
	position: absolute;
	left: 44px;
	right: 44px;
	bottom: 92px;
	z-index: 1;
	margin: 0;
	color: rgba(255,255,255,.9);
	font-size: 16px;
	line-height: 1.72;
	font-weight: 700;
	word-break: keep-all;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .25s ease, transform .25s ease;
}

.intro-card span {
	position: absolute;
	right: 44px;
	bottom: 48px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	width: 28px;
	height: 24px;
	border-bottom: 0;
	color: #fff;
	font-size: 21px;
	line-height: 1;
	font-weight: 900;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .25s ease, transform .25s ease, width .25s ease;
}

.intro-card:hover p,
.intro-card:hover span,
.intro-card:focus p,
.intro-card:focus span {
	opacity: 1;
	transform: translateY(0);
}

.intro-card:hover span,
.intro-card:focus span {
	width: 28px;
	transform: translate(0, 0);
}

.feature-grid {
	margin-top: 52px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.feature-card {
	position: relative;
	min-height: 204px;
	padding: 32px 30px;
	overflow: hidden;
	border: 1px solid #dfe8f2;
	border-radius: 0;
	background: #fff;
	transition: border-color .25s ease;
}

.feature-card:hover {
	border-color: rgba(11,104,216,.35);
}

.feature-card:after {
	content: "";
	position: absolute;
	right: -36px;
	bottom: -56px;
	width: 126px;
	height: 126px;
	border-radius: 999px;
	background: rgba(234,242,253,.54);
	pointer-events: none;
	transition: transform .25s ease, opacity .25s ease;
}

.feature-card:hover:after {
	opacity: .78;
	transform: scale(1.12);
}

.feature-card strong {
	position: relative;
	z-index: 1;
	display: block;
	margin: 0;
	color: #111820;
	font-size: 29px;
	line-height: 1.2;
	font-weight: 900;
}

.feature-card p {
	position: relative;
	z-index: 1;
	margin: 20px 0 0;
	max-width: 360px;
	color: #667386;
	font-size: 16px;
	line-height: 1.72;
	font-weight: 600;
	word-break: keep-all;
}

.card-more {
	position: absolute;
	right: 30px;
	top: 30px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 0;
	color: var(--blue);
	background: transparent;
	font-size: 22px;
	font-weight: 900;
	opacity: .62;
	transition: opacity .25s ease;
}

.card-arrow {
	display: inline-block;
	font-size: 20px;
	line-height: 1;
	transition: transform .25s ease;
}

.feature-card:hover .card-more {
	opacity: .9;
}

.feature-card:hover .card-arrow {
	transform: translateX(5px);
}

.solution {
	padding: 86px 0 116px;
	color: var(--ink);
	background: #fff;
}

.solution-head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 34px;
	position: relative;
	text-align: center;
}

.solution .eyebrow {
	display: none;
}

.solution-head h2 {
	margin: 0;
	color: var(--blue);
	font-size: 56px;
	line-height: 1.08;
	font-weight: 900;
}

.solution-copy {
	max-width: 520px;
	margin: 18px auto 0;
	color: #667386;
	font-size: 16px;
	line-height: 1.7;
	font-weight: 700;
	word-break: keep-all;
}

.solution-tabs {
	margin-top: 28px;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.solution-tabs button {
	min-width: 108px;
	padding: 8px 18px;
	border: 1px solid #dce6f2;
	border-radius: 999px;
	color: #7a8796;
	background: #fff;
	font-size: 13px;
	line-height: 1;
	font-weight: 900;
	text-align: center;
	cursor: pointer;
}

.solution-tabs .is-active {
	border-color: #082941;
	color: #fff;
	background: #082941;
}

.solution-showcase {
	width: 100vw;
	max-width: none;
	margin-top: 34px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow-x: hidden;
	overflow-y: hidden;
}

.solution-track {
	display: flex;
	gap: 24px;
	transition: transform .55s cubic-bezier(.22, .61, .36, 1);
	will-change: transform;
}

.solution-dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	width: 100%;
	margin-top: 22px;
}

.solution-dot {
	display: block;
	flex: 0 0 9px;
	width: 9px;
	height: 9px;
	min-width: 9px;
	min-height: 9px;
	max-width: 9px;
	max-height: 9px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #9aa8b5;
	appearance: none;
	line-height: 0;
	font-size: 0;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}

.solution-dot.is-active {
	background: var(--blue);
}

.solution-panel {
	position: relative;
	flex: 0 0 min(1180px, calc(100vw - 300px));
	min-height: 470px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 18px;
	background:
		linear-gradient(90deg, rgba(4,18,31,.58), rgba(4,18,31,.12)),
		url("/images/main/ginus-hero-healthcare-it-cropped.png") center center / cover no-repeat;
}

.solution-panel:before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(4,18,31,.66) 0%, rgba(4,18,31,.28) 42%, rgba(4,18,31,.04) 100%),
		linear-gradient(180deg, rgba(4,18,31,0) 0%, rgba(4,18,31,.48) 100%);
	pointer-events: none;
}

.solution-panel:after {
	content: "\2192";
	position: absolute;
	right: 46px;
	bottom: 42px;
	z-index: 3;
	color: rgba(255,255,255,.9);
	font-size: 30px;
	line-height: 1;
	font-weight: 900;
	text-shadow: 0 10px 24px rgba(0,0,0,.28);
	pointer-events: none;
}

.solution-panel-content {
	position: absolute;
	left: 46px;
	right: 104px;
	bottom: 40px;
	z-index: 2;
}

.solution-panel-content span {
	position: absolute;
	left: 0;
	bottom: 318px;
	color: #fff;
	font-size: 48px;
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: 0;
	text-shadow: 0 14px 34px rgba(0,0,0,.32);
}

.solution-panel-content strong {
	display: block;
	margin-top: 0;
	color: #fff;
	font-size: 34px;
	line-height: 1.14;
	font-weight: 900;
	word-break: keep-all;
	text-shadow: 0 12px 30px rgba(0,0,0,.34);
}

.solution-panel-content p {
	max-width: 520px;
	margin: 18px 0 0;
	color: rgba(255,255,255,.82);
	font-size: 16px;
	line-height: 1.7;
	font-weight: 700;
	word-break: keep-all;
}

.solution-panel-content ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.solution-panel-content li {
	padding: 8px 14px;
	border: 1px solid rgba(255,255,255,.24);
	border-radius: 999px;
	color: rgba(255,255,255,.9);
	background: rgba(255,255,255,.12);
	font-size: 13px;
	font-weight: 900;
	backdrop-filter: blur(8px);
}

.solution-panel-eirs {
	background:
		linear-gradient(90deg, rgba(4,18,31,.58), rgba(4,18,31,.12)),
		url("/images/main/ginus-hero-claims-reference.png") center center / cover no-repeat;
}

.solution-panel-phoenix {
	background:
		linear-gradient(90deg, rgba(4,18,31,.58), rgba(4,18,31,.12)),
		url("/images/main/ginus-hero-operations-reference.png") center center / cover no-repeat;
}

.quick-service {
	position: relative;
	padding: 86px 0 92px;
	color: #fff;
	background:
		linear-gradient(90deg, rgba(4,18,31,.92), rgba(4,18,31,.72)),
		url("/images/main/ginus-hero-operations-reference.png") center center / cover no-repeat;
	overflow: hidden;
}

.quick-service:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));
	pointer-events: none;
}

.quick-head {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.quick-head .eyebrow {
	margin: 0;
	color: #fff;
	font-size: 38px;
	line-height: 1.1;
	font-weight: 900;
}

.quick-copy {
	margin: 14px 0 0;
	color: rgba(255,255,255,.74);
	font-size: 16px;
	line-height: 1.6;
	word-break: keep-all;
}

.quick-grid {
	position: relative;
	z-index: 1;
	margin-top: 36px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.quick-card {
	position: relative;
	min-height: 214px;
	padding: 38px 28px 34px;
	border: 1px solid rgba(255,255,255,.46);
	border-radius: 8px;
	background: rgba(255,255,255,.15);
	backdrop-filter: blur(8px);
	overflow: hidden;
	text-align: center;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
	transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.quick-card:hover,
.quick-card:focus-visible {
	border-color: rgba(0,114,230,.92);
	background: rgba(0,114,230,.9);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}

.quick-card:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 36px;
	width: 72px;
	height: 72px;
	border-radius: 999px;
	background: rgba(255,255,255,.18);
	transform: translateX(-50%);
	transition: background .22s ease;
}

.quick-card:hover:after,
.quick-card:focus-visible:after {
	background: rgba(255,255,255,.24);
}

.quick-icon {
	position: relative;
	z-index: 1;
	display: block;
	width: 38px;
	height: 38px;
	margin: 17px auto 31px;
	background: #fff;
}

.quick-icon-download {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E") center / contain no-repeat;
}

.quick-icon-file {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='m9 15 3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='m9 15 3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.quick-icon-support {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11a9 9 0 0 1 18 0'/%3E%3Cpath d='M5 11v4a2 2 0 0 0 2 2h1v-8H7a2 2 0 0 0-2 2Z'/%3E%3Cpath d='M19 11v4a2 2 0 0 1-2 2h-1v-8h1a2 2 0 0 1 2 2Z'/%3E%3Cpath d='M12 19h2a3 3 0 0 0 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11a9 9 0 0 1 18 0'/%3E%3Cpath d='M5 11v4a2 2 0 0 0 2 2h1v-8H7a2 2 0 0 0-2 2Z'/%3E%3Cpath d='M19 11v4a2 2 0 0 1-2 2h-1v-8h1a2 2 0 0 1 2 2Z'/%3E%3Cpath d='M12 19h2a3 3 0 0 0 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.quick-card strong {
	display: block;
	margin-top: 0;
	color: #fff;
	font-size: 23px;
	line-height: 1.32;
	font-weight: 900;
	word-break: keep-all;
}

.quick-card em {
	display: block;
	max-width: 240px;
	margin: 12px auto 0;
	color: rgba(255,255,255,.76);
	font-size: 15px;
	line-height: 1.58;
	font-style: normal;
	word-break: keep-all;
}

.quick-card-primary {
	background: rgba(255,255,255,.15);
}

.quick-card-primary:after {
	background: rgba(255,255,255,.18);
}

.quick-card-primary strong {
	color: #fff;
}

.quick-card-primary em {
	color: rgba(255,255,255,.76);
}

.quick-card:nth-child(2) {
	background: rgba(255,255,255,.15);
}

.quick-card:nth-child(2):after {
	background: rgba(255,255,255,.18);
}

.quick-card:nth-child(2) .quick-icon {
	background: #fff;
}

.quick-card:nth-child(3) {
	background: rgba(255,255,255,.15);
}

.quick-card:nth-child(3):after {
	background: rgba(255,255,255,.18);
}

.quick-card:nth-child(3) .quick-icon {
	background: #fff;
}

.quick-card:hover,
.quick-card:focus-visible,
.quick-card-primary:hover,
.quick-card-primary:focus-visible,
.quick-card:nth-child(2):hover,
.quick-card:nth-child(2):focus-visible,
.quick-card:nth-child(3):hover,
.quick-card:nth-child(3):focus-visible {
	border-color: rgba(0,114,230,.92);
	background: rgba(0,114,230,.9);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}

.quick-card:hover:after,
.quick-card:focus-visible:after,
.quick-card-primary:hover:after,
.quick-card-primary:focus-visible:after,
.quick-card:nth-child(2):hover:after,
.quick-card:nth-child(2):focus-visible:after,
.quick-card:nth-child(3):hover:after,
.quick-card:nth-child(3):focus-visible:after {
	background: rgba(255,255,255,.24);
}

.news {
	padding: 112px 0 120px;
}

.news-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.news-head h2 {
	margin: 0;
	color: var(--blue);
	font-size: 56px;
	line-height: 1.08;
	font-weight: 900;
}

.news-grid {
	margin-top: 54px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}

.news-column {
	border-top: 0;
}

.news-column-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 10px;
}

.news-column h3 {
	margin: 0;
	font-size: 24px;
	font-weight: 900;
}

.news-more {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 3px;
	color: var(--blue);
	font-size: 10px;
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase;
	white-space: nowrap;
}

.news-more:before {
	content: "+";
	font-size: 10px;
	line-height: 1;
	font-weight: 700;
	transform: translateY(-1px);
}

.news-column ul {
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--ink);
	list-style: none;
}

.news-column li {
	border-bottom: 1px solid var(--line);
}

.news-column li a {
	min-height: 74px;
	display: grid;
	grid-template-columns: 1fr 110px;
	align-items: center;
	gap: 20px;
	color: var(--ink);
	font-size: 17px;
	font-weight: 800;
}

.news-column li span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.news-column li time {
	color: var(--muted);
	font-size: 14px;
	font-weight: 700;
	text-align: right;
}

.site-footer {
	padding: 44px 0;
	color: rgba(255,255,255,.72);
	background: var(--dark);
}

.footer-grid {
	display: grid;
	grid-template-columns: 82px 1fr auto;
	column-gap: 24px;
	align-items: center;
}

.footer-brand {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	color: #fff;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.footer-brand img {
	display: block;
	width: 78px;
	height: 78px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.site-footer p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
}

.footer-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}

.footer-admin {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: flex-end;
	font-size: 13px;
	font-weight: 700;
}

.footer-admin,
.footer-admin a {
	color: rgba(255,255,255,.62);
}

.footer-admin a {
	text-decoration: none;
	transition: color .2s ease;
}

.footer-admin a:hover {
	color: #fff;
}

.footer-admin-state {
	color: rgba(255,255,255,.82);
}

.admin-login-body {
	min-height: 100vh;
	margin: 0;
	background:
		radial-gradient(circle at 72% 24%, rgba(0,114,230,.26), rgba(0,114,230,0) 34%),
		linear-gradient(135deg, #071827 0%, #0c2742 52%, #07111d 100%);
	color: #fff;
}

.admin-login-page {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 20px;
}

.admin-login-panel {
	width: min(100%, 480px);
}

.admin-login-brand {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 28px;
	color: #fff;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
}

.admin-login-brand img {
	width: 78px;
	height: 78px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.admin-login-card {
	padding: 42px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 18px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 28px 80px rgba(0,0,0,.30);
	color: var(--ink);
}

.admin-login-eyebrow {
	margin: 0 0 10px;
	color: var(--blue);
	font-size: 14px;
	font-weight: 900;
}

.admin-login-card h1 {
	margin: 0 0 32px;
	font-size: 34px;
	line-height: 1.2;
	letter-spacing: 0;
}

.admin-login-copy {
	margin: 14px 0 28px;
	color: var(--muted);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.7;
}

.admin-login-form {
	display: grid;
	gap: 13px;
}

.admin-login-form label {
	color: #34475b;
	font-size: 14px;
	font-weight: 900;
}

.admin-login-form input {
	height: 50px;
	padding: 0 16px;
	border: 1px solid #cfe2f6;
	border-radius: 10px;
	background: #fff;
	color: var(--ink);
	font-size: 16px;
	font-weight: 700;
	outline: none;
}

.admin-login-form input:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 4px rgba(0,114,230,.12);
}

.admin-login-form button {
	height: 54px;
	margin-top: 20px;
	border: 0;
	border-radius: 12px;
	background: var(--blue);
	color: #fff;
	font-size: 16px;
	font-weight: 900;
	cursor: pointer;
	box-shadow: 0 12px 26px rgba(11,104,216,.24);
	transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.admin-login-form button:hover {
	background: #005bc2;
	box-shadow: 0 14px 30px rgba(11,104,216,.30);
	transform: translateY(-1px);
}

.resources-body {
	min-width: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: #fff;
}

.resources-page {
	flex: 1 0 auto;
	color: var(--ink);
	background: #fff;
}

.resources-body .site-footer {
	flex: 0 0 auto;
}

.resources-hero {
	min-height: 280px;
	padding: 86px 0 0;
	display: flex;
	align-items: center;
	background:
		linear-gradient(90deg, rgba(5,19,34,.78) 0%, rgba(9,34,60,.48) 48%, rgba(0,114,230,.30) 100%),
		radial-gradient(circle at 76% 28%, rgba(44,150,255,.30), rgba(44,150,255,0) 34%),
		linear-gradient(135deg, #0a1c2d 0%, #133e68 100%);
	background-position: center;
	background-size: cover;
}

.resources-hero-inner {
	text-align: center;
}

.resources-eyebrow {
	margin: 0 0 12px;
	color: rgba(255,255,255,.78);
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
}

.resources-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 3.4vw, 58px);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: 0;
}

.resources-hero h1 + p {
	margin: 18px auto 0;
	max-width: 720px;
	color: #536170;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.7;
}

.resources-list-section {
	padding: 56px 0 110px;
	background: #fff;
}

.resources-board {
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.resources-board-head {
	padding: 0 0 18px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	border-bottom: 0;
	background: transparent;
}

.resources-board-count {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	color: #6a7888;
	font-size: 15px;
	font-weight: 800;
}

.resources-board-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}

.resources-search {
	display: flex;
	align-items: center;
	gap: 8px;
}

.resources-search label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.resources-search input[type="text"] {
	width: 280px;
	height: 42px;
	padding: 0 16px;
	border: 1px solid #d6e4f2;
	border-radius: 999px;
	color: var(--ink);
	background: #fff;
	font-size: 14px;
	font-weight: 800;
	outline: 0;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.resources-search input[type="text"]::placeholder {
	color: #9aa8b8;
	font-weight: 700;
}

.resources-search input[type="text"]:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 4px rgba(11,104,216,.08);
}

.resources-search button {
	height: 42px;
	padding: 0 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d6e4f2;
	border-radius: 999px;
	color: #405269;
	background: #fff;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}

.resources-search button {
	color: #fff;
	border-color: var(--blue);
	background: var(--blue);
}

.resources-search button:hover {
	opacity: .82;
}

.resources-write-button {
	flex: 0 0 auto;
	min-width: 82px;
	height: 38px;
	padding: 0 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #b8d8ff;
	border-radius: 999px;
	color: var(--blue);
	background: #fff;
	font-size: 14px;
	font-weight: 900;
	box-shadow: none;
}

.resources-write-button:hover {
	color: #fff;
	border-color: var(--blue);
	background: var(--blue);
	opacity: 1;
}

.resources-board-actions {
	padding-top: 18px;
	padding-right: 14px;
	display: flex;
	justify-content: flex-end;
}

.resources-board-bottom {
	min-height: 0;
	padding-top: 24px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.resources-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	background: #fff;
}

.resources-table caption {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.resources-table th {
	padding: 18px 20px;
	color: #667789;
	background: #fff;
	border-top: 2px solid var(--ink);
	border-bottom: 1px solid #e1edf9;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
}

.resources-table td {
	padding: 24px 20px;
	border-bottom: 1px solid #edf3fa;
	color: #627183;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.45;
	text-align: center;
	vertical-align: middle;
}

.resources-table tbody tr:last-child td {
	border-bottom: 0;
}

.resources-table tbody tr {
	transition: background .18s ease;
}

.resources-table tbody tr:hover {
	background: #f7fbff;
}

.resources-table .col-number {
	width: 104px;
	color: #8a9aab;
}

.resources-table .col-date {
	width: 170px;
}

.resources-table .col-hit {
	width: 110px;
}

.resource-title-cell {
	text-align: left !important;
}

.resource-title-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	max-width: 100%;
	color: var(--ink);
	font-size: 18px;
	font-weight: 900;
	line-height: 1.45;
}

.resource-title-link span {
	display: block;
	min-width: 0;
	flex: 0 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.resource-title-link:hover {
	color: var(--blue);
	opacity: 1;
}

.resource-title-link.is-preview:hover {
	color: var(--ink);
}

.resource-title-link em {
	flex: 0 0 auto;
	padding: 4px 8px;
	border-radius: 999px;
	color: var(--blue);
	background: #e9f3ff;
	font-size: 11px;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

.resource-empty {
	padding: 68px 20px !important;
	color: #7b8a9b !important;
	text-align: center !important;
}

.resource-pagination {
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	border-top: 0;
}

.resource-pagination a,
.resource-pagination strong {
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d5e7ff;
	border-radius: 10px;
	color: #496173;
	background: #fff;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}

.resource-pagination a:hover,
.resource-pagination strong {
	color: #fff;
	background: var(--blue);
	border-color: var(--blue);
	opacity: 1;
}

.resources-write-section {
	padding: 56px 0 104px;
	background: #fff;
}

.resources-write-form {
	max-width: 1060px;
	margin: 0 auto;
}

.resources-write-card {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.resources-write-head {
	margin-bottom: 0;
	padding-bottom: 20px;
	border-bottom: 1px solid #122033;
}

.resources-write-head span {
	display: inline-flex;
	align-items: center;
	height: 24px;
	margin-bottom: 10px;
	padding: 0 10px;
	border-radius: 999px;
	color: var(--blue);
	background: #eef6ff;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.resources-write-head h2 {
	margin: 0;
	color: var(--ink);
	font-size: 32px;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: -.02em;
}

.resources-field {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
	padding: 20px 0;
	border-top: 1px solid #e3eef9;
}

.resources-write-head + .resources-field {
	border-top: 0;
}

.resources-write-card .resources-field:last-child {
	border-bottom: 1px solid #e3eef9;
}

.resources-field-editor {
	padding-bottom: 18px;
}

.resources-field-files {
	padding: 18px 0;
}

.resources-field label {
	padding-top: 13px;
	color: var(--ink);
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -.01em;
}

.resources-field input[type="text"],
.resources-file-list input[type="file"] {
	width: 100%;
	height: 44px;
	padding: 0 16px;
	border: 1px solid #cfe0f4;
	border-radius: 10px;
	color: var(--ink);
	background: #fbfdff;
	font-size: 15px;
	font-weight: 700;
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.resources-field input[type="text"]:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 4px rgba(0, 114, 230, .1);
}

.resources-editor {
	width: 100%;
	min-height: 420px;
	border: 1px solid #cfe0f4;
	border-radius: 12px;
	background: #fff;
}

.resources-file-list {
	display: grid;
	gap: 6px;
}

.resources-file-list input[type="file"] {
	padding: 7px 12px;
	color: #506276;
	font-weight: 800;
}

.resources-file-list input[type="file"]::file-selector-button {
	height: 28px;
	margin-right: 12px;
	padding: 0 12px;
	border: 1px solid #b9d8fb;
	border-radius: 999px;
	color: var(--blue);
	background: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 900;
	cursor: pointer;
}

.resources-file-list input[type="file"]::-webkit-file-upload-button {
	height: 28px;
	margin-right: 12px;
	padding: 0 12px;
	border: 1px solid #b9d8fb;
	border-radius: 999px;
	color: var(--blue);
	background: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 900;
	cursor: pointer;
}

.resources-write-actions {
	padding-top: 14px;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}

.resources-action-button {
	min-width: 96px;
	height: 44px;
	padding: 0 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	transition: color .2s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
}

.resources-action-button.is-secondary {
	border: 1px solid #cfe0f4;
	color: #405269;
	background: #fff;
}

.resources-action-button.is-primary {
	border: 1px solid var(--blue);
	color: #fff;
	background: var(--blue);
}

.resources-action-button:hover {
	opacity: .84;
}

.resources-read-section {
	padding: 58px 0 110px;
	background: #fff;
}

.resources-read {
	max-width: 1120px;
	margin: 0 auto;
}

.resources-read-head {
	padding-bottom: 28px;
	border-bottom: 2px solid var(--ink);
}

.resources-read-head p {
	margin: 0 0 12px;
	color: var(--blue);
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}

.resources-read-head h2 {
	margin: 0;
	max-width: 100%;
	color: var(--ink);
	font-size: 34px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: 0;
	white-space: normal;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.resources-read-meta {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	color: #6b7b8d;
	font-size: 14px;
	font-weight: 800;
}

.resources-read-meta span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.resources-read-meta strong {
	color: var(--ink);
	font-weight: 900;
}

.resources-read-content {
	min-height: 320px;
	padding: 42px 0;
	border-bottom: 1px solid #e3eef9;
	color: #243449;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.9;
	word-break: keep-all;
}

.resources-read-content img {
	max-width: 100%;
	height: auto;
}

.resources-attachments {
	padding: 24px 0;
	border-bottom: 1px solid #e3eef9;
}

.resources-attachments h3 {
	margin: 0 0 14px;
	color: var(--ink);
	font-size: 18px;
	font-weight: 900;
	line-height: 1.2;
}

.resources-attachments ul {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
	list-style: none;
}

.resources-attachments a {
	min-height: 40px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	border: 1px solid #d5e7ff;
	border-radius: 999px;
	color: var(--blue);
	background: #fff;
	font-size: 14px;
	font-weight: 900;
}

.resources-attachments a:hover {
	color: #fff;
	background: var(--blue);
	opacity: 1;
}

.resources-read-actions {
	padding-top: 24px;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}

.faq-section {
	padding: 56px 0 110px;
	background: #fff;
}

.faq-tabs {
	width: fit-content;
	margin: 0 auto 34px;
	padding: 6px;
	display: flex;
	gap: 6px;
	border: 1px solid #d6e7fb;
	border-radius: 16px;
	background: #f8fbff;
	box-shadow: 0 18px 42px rgba(15, 70, 120, .08);
}

.faq-tab {
	min-width: 148px;
	height: 50px;
	padding: 0 24px;
	border: 0;
	border-radius: 12px;
	color: #516170;
	background: transparent;
	font-size: 16px;
	font-weight: 900;
	line-height: 1;
	transition: color .2s ease, background .2s ease, box-shadow .2s ease;
}

.faq-tab.is-active {
	color: #fff;
	background: var(--blue);
	box-shadow: 0 12px 28px rgba(0, 114, 230, .22);
}

.faq-panels {
	max-width: 1080px;
	margin: 0 auto;
}

.faq-list {
	display: grid;
	gap: 12px;
}

.faq-item {
	border: 1px solid #d9e8fa;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(15, 70, 120, .06);
	overflow: hidden;
}

.faq-item summary {
	position: relative;
	min-height: 72px;
	padding: 24px 76px 24px 30px;
	display: flex;
	align-items: center;
	color: var(--ink);
	font-size: 19px;
	font-weight: 900;
	line-height: 1.45;
	cursor: pointer;
	list-style: none;
}

.faq-item summary::-webkit-details-marker {
	display: none;
}

.faq-item summary:before {
	content: 'Q';
	width: 30px;
	height: 30px;
	margin-right: 16px;
	flex: 0 0 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: var(--blue);
	background: #eaf4ff;
	font-size: 13px;
	font-weight: 900;
}

.faq-item summary:after {
	content: '+';
	position: absolute;
	right: 30px;
	top: 50%;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: var(--blue);
	background: #eef6ff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}

.faq-item[open] {
	border-color: #9dc9ff;
	background: linear-gradient(180deg, #fff 0%, #fafdff 100%);
}

.faq-item[open] summary:after {
	content: '-';
}

.faq-answer {
	padding: 0 76px 28px;
	color: #445261;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.8;
}

.download-section {
	padding: 48px 0 110px;
	background: #fff;
}

.download-launcher {
	display: grid;
	gap: 10px;
}

.download-switch {
	display: flex;
	justify-content: center;
	gap: 8px;
}

.download-switch-item {
	min-width: 154px;
	height: 48px;
	padding: 0 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: 1px solid #d6e7fb;
	border-radius: 999px;
	color: #536276;
	background: #fff;
	font-family: inherit;
	text-align: center;
	cursor: pointer;
	transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.download-switch-item span {
	color: inherit;
	font-size: 16px;
	font-weight: 900;
	line-height: 1;
}

.download-switch-item small {
	height: auto;
	padding: 0;
	display: inline-flex;
	align-items: center;
	color: #8b9aae;
	background: transparent;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.download-switch-item.is-active {
	color: #fff;
	border-color: var(--blue);
	background: var(--blue);
	box-shadow: 0 12px 26px rgba(0, 114, 230, .18);
}

.download-switch-item.is-active small {
	color: rgba(255, 255, 255, .78);
}

.download-panel-wrap {
	position: relative;
	width: min(100%, 1080px);
	margin: 0 auto;
}

.download-panel {
	min-height: 300px;
	padding: 12px 0 0;
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	align-items: center;
	gap: 72px;
}

.download-panel[hidden] {
	display: none;
}

.download-product {
	display: grid;
	justify-items: center;
	align-content: center;
	min-height: 154px;
	border-right: 1px solid #e0ebf8;
	padding-right: 38px;
}

.download-product img {
	width: min(210px, 100%);
	max-height: 96px;
	object-fit: contain;
	object-position: center;
}

.download-file-list {
	display: grid;
	gap: 0;
}

.download-file {
	min-height: 82px;
	padding: 0 4px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 58px 114px;
	align-items: center;
	gap: 16px;
	border-bottom: 1px solid #d9e8fa;
	color: inherit;
	transition: background .2s ease, border-color .2s ease;
}

.download-file:first-child {
	border-top: 0;
}

.download-file:last-child {
	border-bottom: 0;
}

.download-file:hover {
	border-color: #acd2ff;
	background: transparent;
}

.download-file-name {
	overflow: hidden;
	color: var(--ink);
	font-size: 19px;
	font-weight: 900;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.download-type {
	width: 56px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	color: var(--blue);
	background: #eaf4ff;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}

.download-type.is-exe {
	color: #fff;
	background: var(--blue);
}

.download-action {
	height: 40px;
	padding: 0 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #9dc9ff;
	border-radius: 999px;
	color: var(--blue);
	background: #fff;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

.download-file:hover .download-action {
	color: #fff;
	background: var(--blue);
	border-color: var(--blue);
}

@media (max-width: 760px) {
	.resources-list-section .section-inner {
		width: 100%;
		max-width: 100%;
		padding-right: 16px;
		padding-left: 16px;
	}

	.resources-board {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.resources-hero {
		min-height: 230px;
		padding: 80px 0 0;
	}

	.resources-hero h1 {
		font-size: 38px;
	}

	.resources-hero h1 + p {
		font-size: 16px;
	}

	.resources-board-head {
		width: 100%;
		min-width: 0;
		max-width: 100%;
		padding: 24px 20px;
		align-items: stretch;
		flex-direction: column;
		gap: 14px;
	}

	.resources-board-tools,
	.resources-search {
		width: 100%;
	}

	.resources-search {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		min-width: 0;
	}

	.resources-board-tools {
		align-items: stretch;
		flex-direction: column;
	}

	.resources-search input[type="text"] {
		width: auto;
		min-width: 0;
	}

	.resources-search button {
		flex: 0 0 auto;
	}

	.resources-board-actions {
		padding: 16px 20px 0;
	}

	.resources-board-actions .resources-write-button {
		width: 100%;
	}

	.resources-board-bottom {
		min-height: 0;
		padding: 24px 20px 0;
		align-items: stretch;
		flex-direction: column;
		gap: 16px;
	}

	.resources-table {
		display: block;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		overflow: visible;
		white-space: normal;
		background: transparent;
	}

	.resources-table thead {
		display: none;
	}

	.resources-table tbody {
		display: grid;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		gap: 12px;
	}

	.resources-table tbody tr {
		display: grid;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
		grid-template-columns: minmax(0, 1fr) auto auto;
		grid-template-areas:
			"title title title"
			"number date hit";
		align-items: center;
		column-gap: 10px;
		row-gap: 12px;
		padding: 18px;
		border: 1px solid #dce8f5;
		border-radius: 8px;
		background: #fff;
	}

	.resources-table tbody tr:hover {
		background: #f8fbff;
	}

	.resources-table td {
		min-width: 0;
		padding: 0;
		border: 0;
		font-size: 13px;
		line-height: 1.4;
		text-align: left;
	}

	.resources-table .resource-title-cell {
		grid-area: title;
	}

	.resources-table .col-number {
		grid-area: number;
		width: auto;
		font-size: 11px;
	}

	.resources-table .col-number::before {
		content: "No. ";
	}

	.resources-table .col-date {
		grid-area: date;
		width: auto;
		font-size: 11px;
	}

	.resources-table .col-date::before {
		content: "작성일 ";
		color: #8a9aab;
	}

	.resources-table .col-hit {
		grid-area: hit;
		width: auto;
		font-size: 11px;
	}

	.resources-table .col-hit::before {
		content: "조회 ";
		color: #8a9aab;
	}

	.resources-table .resource-title-link {
		gap: 8px;
		font-size: 16px;
		line-height: 1.5;
	}

	.resources-table .resource-title-link span {
		display: -webkit-box;
		overflow: hidden;
		white-space: normal;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.resources-table .resource-title-link em {
		padding: 4px 7px;
		font-size: 10px;
	}

	.resources-table .resource-empty {
		grid-area: title;
		padding: 28px 0 !important;
	}

	.resource-pagination {
		padding: 24px 18px 28px;
		flex-wrap: wrap;
	}

	.resources-write-section {
		padding: 42px 0 86px;
	}

	.resources-write-card {
		padding: 28px 20px;
		border-radius: 16px;
	}

	.resources-write-head {
		margin-bottom: 24px;
	}

	.resources-write-head h2 {
		font-size: 26px;
	}

	.resources-field {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 18px 0;
	}

	.resources-field label {
		padding-top: 0;
	}

	.resources-editor {
		min-height: 340px;
	}

	.resources-write-actions {
		flex-direction: column-reverse;
	}

	.resources-action-button {
		width: 100%;
	}

	.resources-read-section {
		padding: 42px 0 86px;
	}

	.resources-read-head h2 {
		font-size: 26px;
	}

	.resources-read-meta {
		gap: 10px 16px;
	}

	.resources-read-content {
		min-height: 240px;
		padding: 32px 0;
		font-size: 16px;
		line-height: 1.8;
		word-break: break-word;
	}

	.resources-read-actions {
		flex-direction: column;
	}

	.faq-section {
		padding: 42px 0 86px;
	}

	.faq-tabs {
		width: 100%;
		margin-bottom: 26px;
	}

	.faq-tab {
		min-width: 0;
		flex: 1;
		padding: 0 14px;
	}

	.faq-item summary {
		min-height: 66px;
		padding: 20px 58px 20px 20px;
		font-size: 17px;
	}

	.faq-item summary:before {
		width: 28px;
		height: 28px;
		margin-right: 12px;
		flex-basis: 28px;
	}

	.faq-item summary:after {
		right: 20px;
	}

	.faq-answer {
		padding: 0 24px 24px 60px;
		font-size: 15px;
	}

	.download-section {
		padding: 42px 0 86px;
	}

	.download-switch {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.download-switch-item {
		min-height: 68px;
		padding: 0 18px;
	}

	.download-switch-item span {
		font-size: 20px;
	}

	.download-panel {
		min-height: 0;
		padding-top: 34px;
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.download-product {
		justify-items: center;
	}

	.download-product img {
		width: min(240px, 80%);
		object-position: center;
	}

	.download-file {
		grid-template-columns: 1fr 52px;
		gap: 14px;
		padding: 16px 12px 16px 0;
	}

	.download-file-name {
		font-size: 17px;
	}

	.download-type {
		width: 48px;
		height: 34px;
		font-size: 13px;
	}

	.download-action {
		grid-column: 1 / -1;
		width: 100%;
	}
}

.about-page {
	background: #fff;
}

.about-hero {
	position: relative;
	min-height: 560px;
	color: #fff;
	background:
		linear-gradient(90deg, rgba(4,18,31,.88), rgba(4,18,31,.48)),
		url("/images/company/01/about-hero-office-wide.png") center center / cover no-repeat;
	overflow: hidden;
}

.about-hero:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 300px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 28%, rgba(255,255,255,.42) 58%, rgba(255,255,255,.82) 82%, #fff 100%);
	pointer-events: none;
}

.about-hero-inner {
	position: relative;
	z-index: 1;
	min-height: 560px;
	padding: 120px 0 225px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	text-align: center;
}

.about-kicker {
	margin: 0 0 20px;
	color: rgba(255,255,255,.78);
	font-size: 16px;
	font-weight: 900;
	text-transform: uppercase;
}

.about-hero h1 {
	max-width: 850px;
	margin: 0 auto;
	font-size: clamp(44px, 5vw, 72px);
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: 0;
	word-break: keep-all;
}

.about-hero p:last-child {
	max-width: 640px;
	margin: 28px 0 0;
	color: rgba(255,255,255,.82);
	font-size: 19px;
	line-height: 1.7;
	font-weight: 700;
	word-break: keep-all;
}

.about-statement {
	position: relative;
	z-index: 2;
	margin-top: -92px;
	padding: 116px 0 124px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,.62) 58px, #fff 138px);
}

.about-statement-grid {
	display: grid;
	grid-template-columns: minmax(300px, 390px) minmax(0, 700px);
	justify-content: space-between;
	gap: 96px;
	align-items: start;
}

.about-statement .eyebrow,
.about-work .eyebrow {
	margin-bottom: 18px;
}

.about-statement h2,
.about-values-head h2,
.about-work-content h2,
.about-contact h2 {
	color: var(--blue);
	font-size: 58px;
	line-height: 1.08;
}

.about-title-en {
	max-width: 460px;
	margin: 20px 0 0;
	color: #7b8794;
	font-size: 15px;
	line-height: 1.55;
	font-weight: 700;
	word-break: keep-all;
	white-space: nowrap;
}

.about-lead {
	margin: 0;
	color: #334252;
	font-size: 24px;
	line-height: 1.72;
	font-weight: 800;
	word-break: keep-all;
}

.about-message {
	max-width: 700px;
	color: #263545;
	font-size: 17px;
	line-height: 1.92;
	font-weight: 700;
	word-break: keep-all;
}

.about-message p {
	margin: 0;
}

.about-message p + p {
	margin-top: 22px;
}

.about-greeting {
	color: var(--blue);
	font-size: 20px;
	line-height: 1.5;
	font-weight: 900;
}

.about-greeting strong,
.about-greeting span {
	display: block;
}

.about-greeting strong {
	margin-bottom: 4px;
	font-size: 26px;
	line-height: 1.2;
}

.about-signature {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	padding-right: 18px;
	padding-top: 22px;
	color: #65717f;
	font-size: 16px;
	text-align: right;
}

.about-signature img {
	display: block;
	width: 78px;
	height: auto;
}

.history-section {
	position: relative;
	z-index: 2;
	margin-top: -92px;
	padding: 116px 0 124px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,.62) 58px, #fff 138px);
}

.history-intro {
	display: block;
	text-align: center;
}

.history-intro h2 {
	margin: 0;
	color: var(--blue);
	font-size: 46px;
	line-height: 1.15;
}

.history-intro h2 + p {
	max-width: 680px;
	margin: 18px auto 0;
	color: #334252;
	font-size: 19px;
	line-height: 1.75;
	font-weight: 800;
	word-break: keep-all;
}

.history-lead {
	margin: 0;
	color: #334252;
	font-size: 19px;
	line-height: 1.75;
	font-weight: 800;
	word-break: keep-all;
}

.history-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 34px;
	margin-top: 48px;
	border-bottom: 1px solid #dfe7f0;
}

.history-filter a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	height: 48px;
	padding: 0 2px;
	border: 0;
	color: #536171;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
}

.history-filter a:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: transparent;
}

.history-filter a.is-active,
.history-filter a:hover,
.history-filter a:focus {
	color: var(--blue);
}

.history-filter a.is-active:after,
.history-filter a:hover:after,
.history-filter a:focus:after {
	background: var(--blue);
}

.history-timeline {
	position: relative;
	margin-top: 42px;
	border-top: 0;
	--history-progress: 0px;
	--history-dot-center: 33px;
	--history-line-top: var(--history-dot-center);
	--history-line-height: 100%;
}

.history-timeline:before {
	content: "";
	position: absolute;
	left: 50%;
	top: var(--history-line-top);
	height: var(--history-line-height);
	width: 1px;
	background: #cfd8e4;
}

.history-timeline:after {
	content: "";
	position: absolute;
	left: 50%;
	top: var(--history-line-top);
	width: 2px;
	height: var(--history-progress);
	background: var(--blue);
	transform: translateX(-50%);
	z-index: 1;
}

.history-year {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 74px;
	row-gap: 36px;
	min-height: 200px;
	padding: 0 0 48px;
	border-bottom: 0;
}

.history-year:before {
	content: "";
	position: absolute;
	left: 50%;
	top: var(--history-dot-center);
	width: 10px;
	height: 10px;
	border: 0;
	border-radius: 50%;
	background: #8b929a;
	transform: translate(-50%, -50%);
	z-index: 2;
	transition: width .2s ease, height .2s ease, background .2s ease, box-shadow .2s ease;
}

.history-year.is-active:before {
	width: 12px;
	height: 12px;
	background: var(--blue);
}

.history-year.is-current:before {
	box-shadow: 0 0 0 10px rgba(147, 197, 253, .42);
}

.history-year h3 {
	margin: 0;
	color: var(--blue);
	font-size: 66px;
	line-height: 1;
	letter-spacing: 0;
}

.history-year:nth-child(odd) h3 {
	grid-column: 2;
	text-align: left;
}

.history-year:nth-child(odd) ul {
	grid-column: 2;
}

.history-year:nth-child(even) h3 {
	grid-column: 1;
	grid-row: 1;
	text-align: right;
}

.history-year:nth-child(even) ul {
	grid-column: 1;
	grid-row: 2;
	text-align: right;
}

.history-year ul {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.history-year li {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	color: #263545;
	font-size: 17px;
	line-height: 1.55;
	font-weight: 800;
	word-break: keep-all;
}

.history-year:nth-child(even) li {
	grid-template-columns: minmax(0, 1fr) 42px;
}

.history-year:nth-child(even) li span {
	grid-column: 2;
	grid-row: 1;
	text-align: right;
}

.history-year li span {
	color: #7b8794;
	font-size: 14px;
	line-height: 1.8;
	font-weight: 900;
}

.business-section {
	position: relative;
	z-index: 2;
	margin-top: -92px;
	padding: 116px 0 124px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,.62) 58px, #fff 138px);
}

.business-intro h2 {
	margin: 0;
	color: var(--blue);
	font-size: 58px;
	line-height: 1;
}

.business-intro p {
	max-width: 720px;
	margin: 18px 0 0;
	color: #111d2b;
	font-size: 30px;
	line-height: 1.35;
	font-weight: 900;
	word-break: keep-all;
}

.business-area-list {
	margin-top: 58px;
	border-top: 2px solid #111d2b;
}

.business-area-item {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 52px;
	padding: 42px 0;
	border-bottom: 1px solid #dfe7f0;
}

.business-area-item > span {
	color: var(--blue);
	font-size: 28px;
	line-height: 1;
	font-weight: 900;
}

.business-area-item h3 {
	margin: 0;
	color: #111d2b;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 900;
}

.business-area-item p {
	max-width: 780px;
	margin: 16px 0 0;
	color: #334252;
	font-size: 18px;
	line-height: 1.75;
	font-weight: 700;
	word-break: keep-all;
}

.location-section {
	position: relative;
	z-index: 2;
	margin-top: -92px;
	padding: 116px 0 124px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,.62) 58px, #fff 138px);
}

.location-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 42px;
	align-items: start;
}

.location-copy {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.location-intro h2 {
	margin: 0;
	color: var(--blue);
	font-size: 46px;
	line-height: 1.15;
}

.location-intro h2 + p {
	margin: 18px 0 0;
	color: #334252;
	font-size: 19px;
	line-height: 1.75;
	font-weight: 800;
	word-break: keep-all;
}

.location-info {
	max-width: 860px;
	width: 100%;
	margin: 0 auto;
	padding: 34px 40px 38px;
	border: 1px solid #dfe7f0;
	background: #fff;
}

.location-info strong {
	display: block;
	color: #111d2b;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 900;
}

.location-info dl {
	margin: 24px 0 0;
	border-top: 2px solid #111d2b;
}

.location-info dl div {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 22px;
	padding: 18px 0;
	border-bottom: 1px solid #dfe7f0;
}

.location-info dt,
.location-info dd {
	margin: 0;
}

.location-info dt {
	color: #7b8794;
	font-size: 14px;
	font-weight: 900;
}

.location-info dd {
	color: #263545;
	font-size: 17px;
	line-height: 1.55;
	font-weight: 800;
	word-break: keep-all;
}

.location-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.location-actions a,
.location-actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	padding: 0 18px;
	border: 1px solid #d7e0eb;
	background: #fff;
	color: #263545;
	font-family: inherit;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
}

.location-actions a {
	border-color: var(--blue);
	background: var(--blue);
	color: #fff;
}

.location-map-wrap {
	margin-top: 54px;
	padding: 0;
	border: 1px solid #dfe7f0;
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}

.location-map-image {
	display: block;
	width: 100%;
	height: 430px;
	object-fit: cover;
	object-position: center;
}

.location-block-head {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 26px 30px 22px;
	border-bottom: 1px solid #dfe7f0;
}

.location-block-head span {
	color: var(--blue);
	font-size: 13px;
	line-height: 1;
	font-weight: 900;
}

.location-block-head h3 {
	margin: 0;
	color: #111d2b;
	font-size: 26px;
	line-height: 1.25;
	font-weight: 900;
}

.location-map-wrap .root_daum_roughmap {
	width: 100% !important;
}

.location-map-wrap .wrap_map {
	width: 100% !important;
}

.location-map-wrap .cont {
	display: none !important;
}

.location-contact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin-top: 34px;
}

.location-contact-grid article {
	min-height: 170px;
	padding: 30px;
	border: 1px solid #dfe7f0;
	border-radius: 18px;
	background: #fff;
}

.location-contact-grid span {
	display: block;
	position: relative;
	padding-left: 22px;
	color: #111d2b;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 900;
}

.location-contact-grid span:before {
	content: "";
	position: absolute;
	left: 0;
	top: .52em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--blue);
}

.location-contact-grid p {
	margin: 26px 0 0;
	color: #334252;
	font-size: 17px;
	line-height: 1.7;
	font-weight: 800;
	word-break: keep-all;
}

.location-parking-map {
	margin-top: 42px;
	padding: 30px;
	border: 1px solid #dfe7f0;
	border-radius: 18px;
	background: #fff;
}

.location-parking-map h3 {
	margin: 0 0 16px;
	color: #111d2b;
	font-size: 24px;
	line-height: 1.3;
	font-weight: 900;
}

.location-parking-map img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border: 1px solid #dfe7f0;
	border-radius: 18px;
}

.location-route-summary {
	margin-top: 42px;
}

.location-route-summary h3 {
	position: relative;
	margin: 0 0 22px;
	padding-left: 18px;
	color: #111d2b;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 900;
}

.location-route-summary h3:before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--blue);
}

.route-summary-item {
	display: grid;
	grid-template-columns: 55px 1px 60px minmax(0, 1fr);
	align-items: center;
	column-gap: 18px;
	row-gap: 10px;
	min-height: 84px;
	padding: 24px 30px;
	border: 1px solid #dfe7f0;
	border-radius: 18px;
	background: #fff;
}

.route-summary-item + .route-summary-item {
	margin-top: 14px;
}

.route-summary-bus {
	align-items: start;
}

.route-summary-bus strong {
	padding-top: 3px;
}

.route-summary-bus .route-divider {
	margin-top: 7px;
}

.route-summary-item strong {
	color: #111d2b;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 900;
}

.route-divider {
	width: 1px;
	height: 16px;
	background: #d7e0eb;
}

.route-summary-item .route-badge,
.route-bus-list span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	padding: 0 12px;
	border: 1px solid #8b5cf6;
	border-radius: 999px;
	color: #6d28d9;
	font-size: 14px;
	font-weight: 900;
	white-space: nowrap;
}

.route-summary-item > .route-badge {
	grid-column: 3;
	justify-self: start;
}

.route-summary-item .subway-line-9 {
	height: 30px;
	padding: 0 12px;
	border: 1px solid #c9a754;
	border-radius: 999px;
	background: #fff;
	color: #c9a754;
	font-size: 14px;
	line-height: 1;
}

.route-summary-item p {
	grid-column: 4;
	margin: 0;
	color: #334252;
	font-size: 17px;
	line-height: 1.6;
	font-weight: 800;
	word-break: keep-all;
}

.route-bus-list {
	display: flex;
	flex-direction: column;
	gap: 9px;
	grid-column: 3 / -1;
	margin: 0;
	padding: 0;
	list-style: none;
}

.route-bus-list li {
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	align-items: center;
	column-gap: 18px;
	color: #334252;
	font-size: 17px;
	line-height: 1.6;
	font-weight: 800;
	white-space: nowrap;
}

.route-bus-list span {
	justify-self: start;
	width: 60px;
	height: 30px;
	padding: 0 12px;
	border: 1px solid currentColor;
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	line-height: 1;
}

.route-bus-list .bus-main {
	color: #4f7ee8;
}

.route-bus-list .bus-branch {
	color: #59b85a;
}

.route-bus-list .bus-local {
	color: #24b4a5;
}

.location-map-card {
	display: flex;
	align-items: center;
	min-height: 300px;
	padding: 54px;
	background:
		linear-gradient(90deg, rgba(4,18,31,.88), rgba(4,18,31,.46)),
		url("/images/company/01/about-hero-office-wide.png") center center / cover no-repeat;
}

.location-map-card span {
	display: block;
	color: rgba(255,255,255,.72);
	font-size: 13px;
	font-weight: 900;
}

.location-map-card strong {
	display: block;
	margin-top: 16px;
	color: #fff;
	font-size: 34px;
	line-height: 1.25;
	font-weight: 900;
	word-break: keep-all;
}

.location-map-card p {
	max-width: 620px;
	margin: 18px 0 0;
	color: rgba(255,255,255,.82);
	font-size: 16px;
	line-height: 1.72;
	font-weight: 700;
	word-break: keep-all;
}

.location-map-card a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	margin-top: 26px;
	padding: 0 18px;
	background: #fff;
	color: #111d2b;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
}

.solution-detail-page {
	background: #fff;
}

.solution-detail-hero {
	position: relative;
	min-height: 720px;
	padding: 160px 0 110px;
	color: #fff;
	background:
		linear-gradient(90deg, rgba(4,18,31,.92) 0%, rgba(4,18,31,.72) 52%, rgba(4,18,31,.48) 100%),
		url("/images/main/ginus-hero-claims-reference.png") center center / cover no-repeat;
	overflow: hidden;
}

.solution-detail-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, .86fr) minmax(420px, .74fr);
	gap: 72px;
	align-items: center;
	min-height: 450px;
}

.eirs-page .solution-detail-hero {
	background-color: #04121f;
	background-image:
		linear-gradient(90deg, rgba(4,18,31,.82) 0%, rgba(4,18,31,.7) 34%, rgba(4,18,31,.38) 64%, rgba(4,18,31,.2) 100%),
		linear-gradient(180deg, rgba(4,18,31,.14) 0%, rgba(4,18,31,.5) 100%),
		url("/images/product/e_irs/eirs-hero-bg-flow-20260622.png");
	background-position: center center, center center, center center;
	background-size: 100% 100%, 100% 100%, cover;
	background-repeat: no-repeat;
}

.eirs-page .solution-detail-hero-grid {
	grid-template-columns: minmax(0, 760px);
}

.solution-label {
	margin: 0 0 20px;
	color: #70b8ff;
	font-size: 15px;
	line-height: 1;
	font-weight: 900;
	text-transform: uppercase;
}

.solution-detail-hero h1 {
	margin: 0;
	font-size: clamp(58px, 7vw, 108px);
	line-height: .95;
	font-weight: 900;
	letter-spacing: 0;
}

.solution-detail-hero-copy > p:not(.solution-label) {
	max-width: 650px;
	margin: 28px 0 0;
	color: rgba(255,255,255,.84);
	font-size: 22px;
	line-height: 1.65;
	font-weight: 800;
	word-break: keep-all;
}

.solution-keywords {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 34px;
}

.solution-keywords span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	padding: 0 16px;
	border: 1px solid rgba(255,255,255,.34);
	border-radius: 999px;
	color: #fff;
	background: rgba(255,255,255,.08);
	font-size: 14px;
	font-weight: 900;
}

.solution-hero-visual {
	padding: 18px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 18px;
	background: rgba(255,255,255,.09);
	backdrop-filter: blur(8px);
	box-shadow: 0 30px 70px rgba(0,0,0,.24);
}

.solution-hero-visual img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
	background: #fff;
}

.solution-overview,
.solution-flow,
.solution-features,
.solution-screens,
.solution-effects,
.solution-cta {
	padding: 92px 0;
}

.solution-overview {
	background: #fff;
}

.solution-flow,
.solution-screens,
.solution-cta {
	background: #f5f8fc;
}

.solution-section-head {
	max-width: 820px;
	margin-bottom: 38px;
}

.solution-section-head.compact {
	max-width: none;
}

.solution-section-head > span,
.solution-cta-inner span {
	display: block;
	margin-bottom: 16px;
	color: var(--blue);
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
	text-transform: uppercase;
}

.solution-section-head h2,
.solution-cta-inner h2 {
	margin: 0;
	color: #111d2b;
	font-size: clamp(34px, 3.3vw, 54px);
	line-height: 1.18;
	font-weight: 900;
	white-space: normal;
	word-break: keep-all;
}

.solution-section-head p,
.solution-cta-inner p {
	max-width: 760px;
	margin: 20px 0 0;
	color: #596879;
	font-size: 18px;
	line-height: 1.75;
	font-weight: 700;
	word-break: keep-all;
}

.solution-summary-grid,
.solution-effect-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.solution-summary-grid article,
.solution-effect-grid article,
.solution-feature-grid article,
.solution-reason-grid article {
	min-height: 170px;
	padding: 30px;
	border: 1px solid #dfe7f0;
	border-radius: 18px;
	background: #fff;
}

.solution-summary-grid article > span {
	display: block;
	color: var(--blue);
	font-size: 18px;
	line-height: 1;
	font-weight: 900;
}

.solution-summary-grid strong,
.solution-effect-grid strong,
.solution-feature-grid strong,
.solution-reason-grid strong {
	display: block;
	margin-top: 28px;
	color: #111d2b;
	font-size: 23px;
	line-height: 1.25;
	font-weight: 900;
	word-break: keep-all;
}

.solution-summary-grid p,
.solution-effect-grid p,
.solution-feature-grid p,
.solution-reason-grid p {
	margin: 16px 0 0;
	color: #596879;
	font-size: 16px;
	line-height: 1.7;
	font-weight: 700;
	word-break: keep-all;
}

.solution-process-grid {
	gap: 28px;
	margin-top: 42px;
}

.solution-process-grid article {
	position: relative;
	min-height: 190px;
	padding: 32px 30px 34px;
	background:
		linear-gradient(180deg, rgba(246,250,255,.96), rgba(255,255,255,1));
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.solution-process-grid article:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -29px;
	width: 28px;
	height: 1px;
	background: #c8d8ea;
	transform: translateY(-50%);
}

.solution-process-grid article:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -31px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #c8d8ea;
	border-right: 1px solid #c8d8ea;
	transform: translateY(-50%) rotate(45deg);
}

.solution-process-grid article:hover {
	border-color: rgba(0,102,204,.36);
	box-shadow: 0 18px 44px rgba(12,50,88,.09);
	transform: translateY(-4px);
}

.solution-process-grid article > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(0,102,204,.1);
	color: var(--blue);
}

.solution-process-grid strong {
	margin-top: 26px;
}

.solution-process-grid p {
	max-width: 250px;
}

.solution-flow-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	margin: 48px 0 0;
	padding: 0;
	list-style: none;
	border: 1px solid #dfe7f0;
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}

.solution-flow-list li {
	position: relative;
	min-height: 190px;
	padding: 30px 24px;
}

.solution-flow-list li + li {
	border-left: 1px solid #dfe7f0;
}

.solution-flow-list span {
	color: var(--blue);
	font-size: 14px;
	font-weight: 900;
}

.solution-flow-list strong {
	display: block;
	margin-top: 24px;
	color: #111d2b;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 900;
}

.solution-flow-list p {
	margin: 14px 0 0;
	color: #596879;
	font-size: 15px;
	line-height: 1.6;
	font-weight: 700;
}

.solution-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.solution-feature-grid article {
	min-height: 160px;
}

.solution-feature-grid strong,
.solution-effect-grid strong,
.solution-reason-grid strong {
	margin-top: 0;
}

.solution-screens-featured {
	background: #fff;
}

.solution-screens-featured .section-inner {
	display: grid;
	gap: 42px;
}

.solution-screen-list {
	display: grid;
	gap: 34px;
}

.solution-screen-list article,
.solution-screens-featured article {
	display: grid;
	grid-template-columns: minmax(300px, .62fr) minmax(0, 1fr);
	gap: 42px;
	align-items: center;
	padding: 34px;
	border: 1px solid #dfe7f0;
	border-radius: 18px;
	background: #fff;
}

.solution-screen-list article:nth-child(even) div,
.solution-screens-featured article:nth-child(even) div {
	order: 2;
}

.solution-screen-list article:nth-child(even) img,
.solution-screens-featured article:nth-child(even) img {
	order: 1;
}

.solution-screen-list span,
.solution-screens-featured span {
	color: var(--blue);
	font-size: 14px;
	font-weight: 900;
}

.solution-screen-list h3,
.solution-screens-featured h3 {
	margin: 18px 0 0;
	color: #111d2b;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 900;
	word-break: keep-all;
}

.solution-screen-list p,
.solution-screens-featured p {
	margin: 16px 0 0;
	color: #596879;
	font-size: 17px;
	line-height: 1.7;
	font-weight: 700;
	word-break: keep-all;
}

.solution-screens-featured ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.solution-screens-featured li {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding: 0 13px;
	border: 1px solid #d7e4f2;
	border-radius: 999px;
	color: #334252;
	background: #f6f9fd;
	font-size: 13px;
	font-weight: 900;
}

.solution-screen-list img,
.solution-screens-featured img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #dfe7f0;
	border-radius: 12px;
	background: #fff;
}

.solution-diagram-section {
	padding-top: 118px;
	padding-bottom: 132px;
	background: #fff;
	overflow: visible;
}

.eirs-intro {
	padding: 72px 0 72px;
	background: #fff;
}

.eirs-intro-card {
	display: grid;
	grid-template-columns: minmax(220px, .34fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
	padding: 34px 38px;
	border: 1px solid #dfe7f0;
	border-left: 4px solid var(--blue);
	border-radius: 18px;
	background: linear-gradient(180deg, #fff, #f9fbff);
	box-shadow: 0 18px 46px rgba(18,45,74,.06);
}

.eirs-intro-card div {
	display: flex;
	align-items: center;
	min-height: 72px;
}

.eirs-intro-card img {
	display: block;
	width: min(100%, 240px);
	height: auto;
}

.eirs-intro-card p {
	align-self: center;
	margin: 0;
	color: #3f4f63;
	font-size: 18px;
	line-height: 1.85;
	font-weight: 750;
	word-break: keep-all;
}

.eirs-intro + .solution-diagram-section {
	padding-top: 92px;
}

.eirs-composition-section {
	padding: 92px 0 112px;
	background: #fff;
}

.eirs-composition-board {
	margin: 42px auto 0;
	padding: 0;
	overflow: visible;
}

.eirs-module-map {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 410px) 260px minmax(0, 410px);
	grid-template-areas:
		"guide center compare"
		"analysis center compare";
	justify-content: center;
	gap: 84px 110px;
	align-items: center;
}

.eirs-module-map::before {
	display: none;
}

.eirs-module-connectors {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: visible;
}

.eirs-module-connectors path {
	fill: none;
	stroke: #b8cadd;
	stroke-width: 1.35;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.eirs-module-center {
	position: relative;
	z-index: 2;
	grid-area: center;
	align-self: center;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 340px;
	padding: 0 12px;
	text-align: center;
}

.eirs-module-center::before,
.eirs-module-center::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.eirs-module-center::before {
	z-index: -1;
	width: 292px;
	height: 292px;
	border: 1px solid rgba(11,104,216,.52);
	background: rgba(255,255,255,.78);
	box-shadow: 0 18px 55px rgba(0,104,218,.08);
}

.eirs-module-center::after {
	z-index: -2;
	width: 390px;
	height: 390px;
	background:
		radial-gradient(circle, rgba(130,198,255,.48) 0%, rgba(156,214,255,.35) 36%, rgba(190,231,255,.22) 56%, rgba(226,244,255,.1) 74%, rgba(226,244,255,0) 91%);
}

.eirs-module-center img {
	position: relative;
	z-index: 1;
	display: block;
	width: min(100%, 212px);
	height: auto;
	filter: drop-shadow(0 10px 20px rgba(0,104,218,.1));
}

.eirs-module-card {
	position: relative;
	z-index: 2;
	min-height: 166px;
	padding: 22px 24px 20px;
	border: 1px solid rgba(210,225,241,.95);
	border-radius: 16px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 18px 42px rgba(32,73,116,.06);
}

.eirs-module-card::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--blue);
	box-shadow: 0 0 0 4px rgba(11,104,216,.1);
	transform: translateY(-50%);
	pointer-events: none;
}

.eirs-module-guide {
	grid-area: guide;
}

.eirs-module-analysis {
	grid-area: analysis;
}

.eirs-module-compare {
	grid-area: compare;
	justify-self: stretch;
}

.eirs-module-guide::after,
.eirs-module-analysis::after {
	right: -5px;
}

.eirs-module-compare::after {
	left: -5px;
}

.eirs-module-card-head {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 14px;
}

.eirs-module-card-head .eirs-feature-icon {
	width: 68px;
	height: 68px;
	border-radius: 0;
	background: transparent;
	flex: 0 0 auto;
}

.eirs-module-card-head .eirs-feature-icon::before {
	width: 62px;
	height: 62px;
	-webkit-mask-image: none;
	mask-image: none;
}

.feature-icon-eirs-guide::before {
	background-image: url("/images/redesign/eirs-icons/module-guide.png");
}

.feature-icon-eirs-analysis::before {
	background-image: url("/images/redesign/eirs-icons/module-analysis.png");
}

.feature-icon-eirs-compare::before {
	background-image: url("/images/redesign/eirs-icons/module-compare.png");
}

.eirs-module-card h3 {
	margin: 0;
	color: #111d2b;
	font-size: 25px;
	line-height: 1.26;
	font-weight: 850;
	letter-spacing: 0;
	word-break: keep-all;
}

.eirs-module-card p {
	margin: 0 0 17px;
	color: #4f5f70;
	font-size: 15px;
	line-height: 1.62;
	font-weight: 750;
	word-break: keep-all;
}

.eirs-module-card ul,
.effect-metrics ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eirs-module-card li,
.effect-metrics li {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 12px;
	border: 1px solid #b9d9ff;
	border-radius: 999px;
	background: #f7fbff;
	color: #17456f;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 850;
	white-space: nowrap;
}

@media (max-width: 900px) {
	.eirs-composition-section {
		padding: 72px 0 82px;
	}

	.eirs-module-map {
		grid-template-columns: 1fr;
		grid-template-areas:
			"center"
			"guide"
			"analysis"
			"compare";
		gap: 16px;
		margin-top: 34px;
	}

	.eirs-module-map::before,
	.eirs-module-connectors,
	.eirs-module-center::before,
	.eirs-module-center::after,
	.eirs-module-card::after {
		display: none;
	}

	.eirs-module-center {
		min-height: auto;
		padding: 0 0 10px;
	}

	.eirs-module-center img {
		width: min(100%, 170px);
	}

	.eirs-module-card {
		min-height: auto;
		padding: 26px 24px;
	}
}

.eirs-check-section {
	padding: 96px 0 104px;
	background: #f5f8fc;
}

.eirs-check-grid {
	display: grid;
	grid-template-columns: .88fr 1.12fr;
	gap: 28px;
	align-items: stretch;
}

.eirs-check-panel {
	padding: 36px 38px;
	border: 1px solid #dfe8f2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(19, 41, 75, .05);
}

.eirs-check-panel > span {
	display: block;
	margin-bottom: 15px;
	color: var(--blue);
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
}

.eirs-check-panel h3 {
	margin: 0 0 26px;
	color: #111d2b;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.25;
}

.eirs-check-panel ul {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eirs-check-panel li {
	position: relative;
	padding-left: 24px;
	color: #2f4054;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.55;
}

.eirs-check-panel li::before {
	content: "";
	position: absolute;
	top: .72em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--blue);
	box-shadow: 0 0 0 6px rgba(0, 101, 224, .1);
}

.eirs-check-panel dl {
	display: grid;
	gap: 0;
	margin: 0;
}

.eirs-check-panel dl div {
	display: grid;
	grid-template-columns: 116px minmax(0, 1fr);
	gap: 24px;
	padding: 22px 0;
	border-top: 1px solid #e5edf5;
}

.eirs-check-panel dl div:first-child {
	padding-top: 0;
	border-top: 0;
}

.eirs-check-panel dl div:last-child {
	padding-bottom: 0;
}

.eirs-check-panel dt {
	color: #111d2b;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.45;
}

.eirs-check-panel dd {
	margin: 0;
	color: #56677a;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.7;
}

.eirs-check-diagram {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	overflow: hidden;
	border: 1px solid #dfe8f2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(19, 41, 75, .05);
}

.eirs-check-diagram section {
	position: relative;
	padding: 36px 34px 38px;
	border-left: 1px solid #e5edf5;
}

.eirs-check-diagram section:first-child {
	border-left: 0;
}

.eirs-check-diagram section:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -13px;
	z-index: 2;
	width: 26px;
	height: 26px;
	border-top: 1px solid #e5edf5;
	border-right: 1px solid #e5edf5;
	background: #fff;
	transform: translateY(-50%) rotate(45deg);
}

.eirs-check-diagram .is-emphasis {
	background: linear-gradient(180deg, #f5f9ff, #fff);
}

.eirs-check-diagram .is-emphasis::after {
	background: #fff;
}

.eirs-check-diagram span {
	color: var(--blue);
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.eirs-check-diagram h3 {
	margin: 0;
	color: #111d2b;
	font-size: 27px;
	font-weight: 900;
	line-height: 1.28;
	word-break: keep-all;
}

.eirs-check-diagram ul {
	display: grid;
	gap: 14px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.eirs-check-diagram li {
	position: relative;
	padding-left: 20px;
	color: #3d4f64;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.65;
	word-break: keep-all;
}

.eirs-check-diagram li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .78em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--blue);
	box-shadow: 0 0 0 6px rgba(0,101,224,.09);
}

.eirs-check-diagram strong {
	color: #111d2b;
	font-weight: 900;
}

.eirs-rule-engine {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr) minmax(0, 1fr);
	gap: 28px;
	margin: -22px 0 34px;
}

.eirs-rule-engine::before {
	content: "";
	position: absolute;
	left: 12%;
	right: 12%;
	top: 50%;
	height: 2px;
	background: linear-gradient(90deg, rgba(0,101,224,.12), rgba(0,101,224,.52), rgba(0,101,224,.12));
	transform: translateY(-50%);
}

.eirs-rule-engine > div {
	position: relative;
	z-index: 1;
	padding: 28px 30px;
	border: 1px solid #dfe8f2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(19, 41, 75, .05);
	text-align: center;
}

.eirs-rule-engine .rule-engine-core {
	border-color: rgba(0,101,224,.28);
	background: linear-gradient(180deg, #f4f9ff, #fff);
	box-shadow: 0 24px 54px rgba(0,101,224,.12);
}

.eirs-rule-engine span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 12px;
	border-radius: 999px;
	color: var(--blue);
	background: rgba(0,101,224,.08);
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.eirs-rule-engine strong {
	display: block;
	margin-top: 0;
	color: #111d2b;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.25;
	word-break: keep-all;
}

.eirs-rule-engine p {
	margin: 12px 0 0;
	color: #596879;
	font-size: 15px;
	font-weight: 750;
	line-height: 1.55;
	word-break: keep-all;
}

.eirs-workflow-section {
	padding: 82px 0 84px;
	background: #fff;
}

.eirs-workflow-grid {
	display: grid;
	gap: 28px;
}

.eirs-page .eirs-workflow-grid {
	display: none;
}

.eirs-workflow-illustration {
	display: grid;
	gap: 24px;
	margin: 36px 0 0;
	padding: 0;
	background: transparent;
}

.workflow-image-card {
	display: grid;
	grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
	gap: 34px;
	align-items: center;
	margin: 0;
	padding: 28px;
	border: 1px solid #d8e5f3;
	border-radius: 24px;
	background:
		linear-gradient(135deg, rgba(245, 250, 255, .96), rgba(255, 255, 255, 1) 44%),
		#fff;
	box-shadow: 0 24px 70px rgba(20, 59, 96, .08);
	overflow: hidden;
}

.workflow-image-card.is-internal {
	background:
		linear-gradient(135deg, rgba(245, 250, 255, .96), rgba(255, 255, 255, 1) 44%),
		#fff;
}

.workflow-image-card.is-external {
	background: #fff;
	background-image: none;
}

.workflow-image-card.is-step-flow {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	align-items: initial;
}

.workflow-image-card.is-step-flow .workflow-image-copy {
	max-width: 760px;
}

.workflow-image-copy {
	margin: 0;
}

.workflow-image-copy span {
	display: block;
	margin-bottom: 12px;
	color: var(--blue);
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
	text-transform: uppercase;
}

.workflow-image-copy h3 {
	margin: 0;
	color: #111d2b;
	font-size: clamp(26px, 2.25vw, 34px);
	line-height: 1.18;
	font-weight: 900;
	word-break: keep-all;
}

.workflow-image-copy p {
	margin: 14px 0 0;
	color: #53657a;
	font-size: 15px;
	line-height: 1.62;
	font-weight: 800;
	word-break: keep-all;
}

.workflow-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
}

.workflow-tags b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding: 0 13px;
	border: 1px solid rgba(0, 102, 204, .22);
	border-radius: 999px;
	background: rgba(0, 102, 204, .06);
	color: var(--blue);
	font-size: 13px;
	font-weight: 900;
	white-space: nowrap;
}

.workflow-support-visual {
	min-height: 0;
	padding: 12px;
	max-height: none;
}

.workflow-support-visual img {
	height: auto;
	max-height: none;
	object-fit: contain;
	object-position: center center;
}

.workflow-step-panel {
	grid-column: 1 / -1;
	padding: 18px 22px;
	border: 1px solid rgba(191, 214, 238, .82);
	border-radius: 20px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,251,255,.86));
	box-shadow: 0 16px 36px rgba(20, 59, 96, .04);
}

.workflow-step-row {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 18px;
	align-items: center;
}

.workflow-step-row.is-return {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid #dce9f6;
}

.workflow-step-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 34px;
	margin: 1px 0 0;
	padding: 0 13px;
	border: 1px solid rgba(0, 101, 224, .16);
	border-radius: 999px;
	background: rgba(0, 101, 224, .08);
	color: var(--blue);
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
	white-space: nowrap;
}

.workflow-step-label::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.workflow-step-label.is-return {
	border-color: rgba(23, 143, 139, .18);
	background: rgba(42, 167, 162, .09);
	color: #178f8b;
}

.workflow-step-row .workflow-step-label {
	justify-content: flex-start;
	min-height: 0;
	margin-top: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.workflow-data-panel > .workflow-step-label {
	justify-content: flex-start;
	min-height: 0;
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.workflow-data-panel {
	grid-column: 1 / -1;
	padding: 18px;
	border: 1px solid rgba(191, 214, 238, .82);
	border-radius: 20px;
	background: rgba(248, 251, 255, .82);
}

.workflow-data-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.workflow-data-grid article {
	min-height: 104px;
	padding: 15px 14px;
	border: 1px solid #d9e8f7;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(20, 59, 96, .045);
}

.workflow-data-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: var(--blue);
	color: #fff;
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
	box-shadow: 0 8px 18px rgba(0, 102, 204, .22);
}

.workflow-data-grid span {
	display: block;
	margin-bottom: 8px;
	color: var(--blue);
	font-size: 12px;
	line-height: 1.25;
	font-weight: 900;
	word-break: keep-all;
}

.workflow-data-grid strong {
	display: block;
	color: #111d2b;
	font-size: 15px;
	line-height: 1.3;
	font-weight: 900;
	word-break: keep-all;
}

.workflow-data-grid p {
	margin: 7px 0 0;
	color: #53657a;
	font-size: 12px;
	line-height: 1.5;
	font-weight: 800;
	word-break: keep-all;
}

.workflow-step-list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.workflow-step-list::before {
	content: "";
	position: absolute;
	left: calc(8.333% + 10px);
	right: calc(8.333% + 10px);
	top: 17px;
	height: 7px;
	border-radius: 999px;
	background:
		linear-gradient(90deg, rgba(0,101,224,.18), rgba(0,101,224,.7)),
		linear-gradient(#fff, #fff);
	box-shadow:
		inset 0 0 0 1px rgba(255,255,255,.78),
		0 8px 18px rgba(0,101,224,.09);
}

.workflow-step-list.is-return {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.workflow-step-list.is-return::before {
	background:
		linear-gradient(90deg, rgba(42,167,162,.18), rgba(42,167,162,.7)),
		linear-gradient(#fff, #fff);
	box-shadow:
		inset 0 0 0 1px rgba(255,255,255,.78),
		0 8px 18px rgba(42,167,162,.09);
}

.workflow-step-list li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: 58px;
	padding: 35px 4px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	text-align: center;
	box-shadow: none;
}

.workflow-step-list li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 13px;
	right: -6px;
	z-index: 2;
	width: 12px;
	height: 12px;
	border-top: 3px solid rgba(0,101,224,.62);
	border-right: 3px solid rgba(0,101,224,.62);
	transform: rotate(45deg);
}

.workflow-step-list span {
	position: absolute;
	left: 50%;
	top: 20px;
	z-index: 3;
	display: block;
	width: 17px;
	height: 17px;
	margin: 0;
	border: 5px solid #fff;
	border-radius: 50%;
	background: var(--blue);
	box-shadow:
		0 0 0 7px rgba(0,101,224,.1),
		0 7px 18px rgba(0,101,224,.18);
	color: transparent;
	font-size: 0;
	line-height: 1;
	transform: translate(-50%, -50%);
}

.workflow-step-list.is-return span {
	background: #178f8b;
	box-shadow:
		0 0 0 7px rgba(42,167,162,.12),
		0 7px 18px rgba(42,167,162,.16);
}

.workflow-step-list.is-return li {
	border-color: transparent;
}

.workflow-step-list.is-return li:not(:last-child)::after {
	border-color: rgba(42,167,162,.62);
}

.workflow-step-list strong {
	color: #111d2b;
	font-size: 14px;
	line-height: 1.3;
	font-weight: 900;
	word-break: keep-all;
}

.workflow-image-frame {
	position: relative;
	padding: 14px;
	border: 1px solid rgba(191, 214, 238, .8);
	border-radius: 20px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .8);
	overflow: hidden;
}

.workflow-image-frame img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
	background: #f8fbff;
}

.workflow-image-card .workflow-plain-image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	background: transparent;
}

.workflow-image-frame.workflow-support-visual img {
	height: auto;
	max-height: none;
	object-fit: contain;
	object-position: center center;
}

.eirs-workflow-card {
	padding: 38px;
	border: 1px solid #dfe8f2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(19, 41, 75, .05);
}

.eirs-workflow-card-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 34px;
}

.eirs-workflow-card-head span {
	color: var(--blue);
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.eirs-workflow-card-head h3 {
	margin: 0;
	color: #111d2b;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.25;
}

.external-flow-map {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1.08fr) 150px minmax(0, 1fr);
	align-items: stretch;
	gap: 18px;
}

.external-flow-map.is-hub-flow {
	position: relative;
	grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1.05fr) 180px minmax(0, 1fr);
	grid-template-areas:
		"hospital left eirs right hira"
		". . rule . .";
	gap: 22px 18px;
	align-items: center;
}

.flow-party {
	display: flex;
	min-height: 184px;
	flex-direction: column;
	justify-content: center;
	padding: 28px;
	border: 1px solid #e2eaf3;
	border-radius: 16px;
	background: #f9fbfe;
	text-align: center;
}

.flow-hospital {
	grid-area: hospital;
}

.flow-eirs {
	grid-area: eirs;
	min-height: 220px;
}

.flow-hira {
	grid-area: hira;
}

.flow-party.is-primary {
	border-color: rgba(0, 101, 224, .24);
	background: linear-gradient(180deg, #f7fbff, #fff);
	box-shadow: inset 0 0 0 1px rgba(0, 101, 224, .08);
}

.flow-party span {
	color: var(--blue);
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
}

.flow-party strong {
	display: block;
	margin-top: 14px;
	color: #111d2b;
	font-size: 26px;
	font-weight: 900;
	line-height: 1.25;
}

.flow-party p {
	margin: 14px 0 0;
	color: #596879;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.65;
	word-break: keep-all;
}

.flow-exchange {
	position: relative;
	display: flex;
	min-height: 108px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 18px;
	color: #4f6176;
	font-size: 13px;
	font-weight: 900;
	text-align: center;
}

.exchange-left {
	grid-area: left;
}

.exchange-right {
	grid-area: right;
}

.flow-exchange::before,
.flow-exchange::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg, rgba(0,101,224,.2), var(--blue), rgba(0,101,224,.2));
}

.flow-exchange::after {
	background: linear-gradient(90deg, rgba(235,75,75,.2), #eb4b4b, rgba(235,75,75,.2));
}

.flow-rule-node {
	grid-area: rule;
	justify-self: center;
	position: relative;
	min-width: 220px;
	padding: 18px 24px;
	border: 1px solid rgba(0,101,224,.22);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 16px 34px rgba(0,72,160,.09);
	text-align: center;
}

.flow-rule-node::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -23px;
	width: 2px;
	height: 23px;
	background: rgba(0,101,224,.28);
	transform: translateX(-50%);
}

.flow-rule-node span {
	color: var(--blue);
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.flow-rule-node strong {
	display: block;
	margin-top: 6px;
	color: #111d2b;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.25;
}

.flow-bridge {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
	color: #4f6176;
	font-size: 13px;
	font-weight: 900;
	text-align: center;
}

.flow-bridge::before,
.flow-bridge::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg, var(--blue), rgba(0, 101, 224, .22));
}

.flow-bridge::after {
	background: linear-gradient(90deg, rgba(235, 75, 75, .22), #eb4b4b);
}

.eirs-workflow-note {
	margin: 28px 0 0;
	padding-top: 24px;
	border-top: 1px solid #e5edf5;
	color: #52647a;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.75;
	word-break: keep-all;
}

.internal-flow-list {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.internal-flow-list li {
	position: relative;
	display: flex;
	min-height: 112px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 12px;
	padding: 18px 14px;
	border: 1px solid #e2eaf3;
	border-radius: 16px;
	background: #f9fbfe;
	text-align: center;
}

.internal-flow-list li:not(:nth-child(6)):not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -16px;
	width: 16px;
	height: 2px;
	background: rgba(0, 101, 224, .34);
	transform: translateY(-50%);
}

.internal-flow-list li:nth-child(n+7)::after {
	background: rgba(235, 75, 75, .34);
}

.internal-flow-list span {
	display: inline-flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #fff;
	background: var(--blue);
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}

.internal-flow-list strong {
	color: #18283a;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.35;
	word-break: keep-all;
}

.internal-flow-figure {
	display: flex;
	justify-content: center;
	margin: 6px 0 0;
	padding: 22px 20px 10px;
}

.internal-flow-figure img {
	display: block;
	width: min(100%, 880px);
	height: auto;
}

.internal-route-diagram {
	position: relative;
	margin-top: 4px;
	padding: 8px 0 0;
	border-radius: 18px;
	background: linear-gradient(180deg, #fff, #fbfdff);
}

.internal-cycle-svg {
	display: block;
	width: 100%;
	height: auto;
	min-height: 360px;
}

.internal-cycle-svg text {
	fill: #111d2b;
	font-family: inherit;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0;
}

.internal-cycle-svg .cycle-guide {
	fill: none;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.internal-cycle-svg .cycle-guide-blue {
	stroke: rgba(0,101,224,.38);
	marker-end: url(#cycleBlueArrow);
}

.internal-cycle-svg .cycle-guide-red {
	stroke: rgba(235,75,75,.34);
	marker-end: url(#cycleRedArrow);
}

.internal-cycle-svg #cycleBlueArrow path {
	fill: #0d6fdf;
}

.internal-cycle-svg #cycleRedArrow path {
	fill: #eb4b4b;
}

.internal-cycle-svg .cycle-center-box {
	fill: rgba(255,255,255,.92);
	stroke: rgba(0,101,224,.18);
}

.internal-cycle-svg .cycle-center-text {
	fill: rgba(17,29,43,.52);
	font-size: 17px;
}

.internal-cycle-svg .cycle-svg-node rect {
	fill: rgba(255,255,255,.95);
	stroke: #d8e5f3;
	filter: url(#cycleNodeShadow);
}

.internal-cycle-svg .node-blue .node-icon {
	color: #0d6fdf;
}

.internal-cycle-svg .node-red .node-icon {
	color: #eb4b4b;
}

.internal-cycle-svg .hospital-icon,
.internal-cycle-svg .hira-icon {
	color: #f2ac20;
}

.internal-cycle-svg .node-icon rect,
.internal-cycle-svg .node-icon circle {
	fill: #fff;
	stroke: currentColor;
	stroke-width: 3;
}

.internal-cycle-svg .hospital-icon rect,
.internal-cycle-svg .hira-icon rect {
	fill: #ffc33d;
	stroke: #ffc33d;
}

.internal-cycle-svg .hira-icon rect {
	fill: #46b8ff;
	stroke: #46b8ff;
}

.internal-cycle-svg .node-icon path {
	fill: none;
	stroke: currentColor;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.internal-cycle-svg .chart-icon rect {
	fill: currentColor;
	stroke: currentColor;
}

.route-track {
	position: absolute;
	inset: 8px 24px 0;
	width: calc(100% - 48px);
	height: 292px;
	overflow: visible;
	z-index: 0;
}

.route-track-path {
	fill: none;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.route-track-forward {
	stroke: rgba(0,101,224,.42);
	marker-end: url(#routeArrow);
}

.route-track-return {
	stroke: rgba(235,75,75,.36);
	marker-end: url(#routeArrowRed);
}

#routeArrow path {
	fill: #0d6fdf;
}

#routeArrowRed path {
	fill: #eb4b4b;
}

.route-row {
	position: relative;
	z-index: 1;
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}

.route-forward {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.route-return {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	padding-right: calc(100% / 12);
	padding-left: calc(100% / 12);
}

.route-row li {
	position: relative;
	display: flex;
	min-height: 112px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
	text-align: center;
	direction: ltr;
	z-index: 1;
}

.route-row li:not(:last-child)::after {
	display: none;
}

.route-row li:not(:last-child)::before {
	display: none;
}

.route-forward li {
	color: var(--blue);
}

.route-return li {
	color: #eb4b4b;
}

.route-row strong {
	color: #172638;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.3;
	word-break: keep-all;
}

.route-turn {
	display: none;
}

.route-turn-right::before,
.route-turn-left::before {
	display: none;
}

.route-turn-right::before {
	right: calc(100% / 12 - 8px);
	border-color: rgba(0,101,224,.34);
	border-left-color: transparent;
	border-bottom-color: rgba(235,75,75,.32);
	transform: rotate(28deg);
}

.route-turn-left::before {
	left: calc(100% / 12 - 8px);
	top: -42px;
	border-color: rgba(235,75,75,.32);
	border-right-color: transparent;
	border-top-color: rgba(0,101,224,.34);
	transform: rotate(28deg);
}

.route-center-label {
	position: absolute;
	left: 50%;
	top: 50%;
	padding: 13px 26px;
	border: 1px solid rgba(0,101,224,.16);
	border-radius: 999px;
	color: rgba(17,29,43,.46);
	background: rgba(255,255,255,.9);
	font-size: 16px;
	font-weight: 900;
	transform: translate(-50%, -50%);
}

.internal-cycle-diagram {
	position: relative;
	min-height: 430px;
	margin-top: 8px;
	padding: 8px 0 12px;
}

.cycle-track {
	position: absolute;
	inset: 14px 1.5% 0;
	width: 97%;
	height: 382px;
	overflow: visible;
}

.cycle-path {
	fill: none;
	stroke-width: 3.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.cycle-blue {
	stroke: rgba(0,101,224,.42);
	marker-end: url(#cycleArrowBlue);
}

.cycle-red {
	stroke: rgba(235,75,75,.38);
	marker-end: url(#cycleArrowRed);
}

#cycleArrowBlue path {
	fill: #0d6fdf;
}

#cycleArrowRed path {
	fill: #eb4b4b;
}

.cycle-node-list {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cycle-node {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 9px;
	width: 124px;
	min-height: 112px;
	padding: 10px 8px;
	border-radius: 18px;
	background: rgba(255,255,255,.86);
	box-shadow: 0 16px 34px rgba(19,41,75,.07);
	text-align: center;
	transform: translate(-50%, -50%);
}

.cycle-node strong {
	color: #172638;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.3;
	word-break: keep-all;
}

.cycle-center {
	position: absolute;
	left: 50%;
	top: 50%;
	display: flex;
	width: 210px;
	height: 82px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(0,101,224,.18);
	border-radius: 999px;
	color: rgba(17,29,43,.5);
	background: rgba(255,255,255,.92);
	font-size: 18px;
	font-weight: 900;
	transform: translate(-50%, -50%);
}

.node-start-hospital {
	left: 8.5%;
	top: 49%;
}

.node-claim {
	left: 22.5%;
	top: 17%;
}

.node-top-check {
	left: 36.5%;
	top: 13.5%;
}

.node-screen {
	left: 50.5%;
	top: 13.5%;
}

.node-top-chart {
	left: 64.5%;
	top: 17%;
}

.node-hira {
	left: 91.5%;
	top: 49%;
}

.node-report {
	left: 77.5%;
	top: 83%;
}

.node-bottom-check {
	left: 63.5%;
	top: 86.5%;
}

.node-search {
	left: 49.5%;
	top: 86.5%;
}

.node-bottom-chart {
	left: 35.5%;
	top: 83%;
}

.node-end-hospital {
	left: 16%;
	top: 73%;
}

.internal-flow-list.is-loop-flow {
	position: relative;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-template-areas:
		"step1 step2 step3 step4 step5 step6"
		"step11 step10 step9 step8 step7 step6";
	gap: 20px 14px;
}

.internal-flow-list.is-loop-flow::before,
.internal-flow-list.is-loop-flow::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.internal-flow-list.is-loop-flow::before {
	left: calc((100% - 70px) / 12 + 35px);
	right: calc((100% - 70px) / 12 + 35px);
	top: 56px;
	height: 2px;
	background: rgba(0,101,224,.28);
}

.internal-flow-list.is-loop-flow::after {
	left: calc((100% - 70px) / 12 + 35px);
	right: calc((100% - 70px) / 12 + 35px);
	bottom: 56px;
	height: 2px;
	background: rgba(235,75,75,.28);
}

.internal-flow-list.is-loop-flow li {
	z-index: 1;
	min-height: 104px;
	background: #fff;
}

.internal-flow-list.is-loop-flow li::after {
	display: none;
}

.internal-flow-list.is-loop-flow .endpoint {
	border-color: rgba(0,101,224,.28);
	background: linear-gradient(180deg, #f7fbff, #fff);
}

.internal-flow-list.is-loop-flow .bottom-flow span {
	background: #eb4b4b;
}

.internal-flow-list.is-loop-flow .top-flow:nth-child(1) { grid-area: step1; }
.internal-flow-list.is-loop-flow .top-flow:nth-child(2) { grid-area: step2; }
.internal-flow-list.is-loop-flow .top-flow:nth-child(3) { grid-area: step3; }
.internal-flow-list.is-loop-flow .top-flow:nth-child(4) { grid-area: step4; }
.internal-flow-list.is-loop-flow .top-flow:nth-child(5) { grid-area: step5; }
.internal-flow-list.is-loop-flow .top-flow:nth-child(6) { grid-area: step6; }
.internal-flow-list.is-loop-flow .bottom-flow:nth-child(7) { grid-area: step7; }
.internal-flow-list.is-loop-flow .bottom-flow:nth-child(8) { grid-area: step8; }
.internal-flow-list.is-loop-flow .bottom-flow:nth-child(9) { grid-area: step9; }
.internal-flow-list.is-loop-flow .bottom-flow:nth-child(10) { grid-area: step10; }
.internal-flow-list.is-loop-flow .bottom-flow:nth-child(11) { grid-area: step11; }

.internal-flow-list.is-visual-flow {
	position: absolute;
	inset: 0;
	display: block;
	padding: 10px 0 6px;
}

.internal-loop-diagram {
	position: relative;
	min-height: 390px;
	margin-top: 10px;
}

.internal-loop-lines {
	position: absolute;
	inset: 8px 2% 0;
	width: 96%;
	height: 330px;
	overflow: visible;
}

.loop-path {
	fill: none;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 10 12;
}

.loop-path-blue {
	stroke: rgba(0,101,224,.44);
	marker-end: url(#flowArrowBlue);
}

.loop-path-red {
	stroke: rgba(235,75,75,.42);
	marker-end: url(#flowArrowRed);
}

.internal-loop-lines marker path {
	fill: currentColor;
}

#flowArrowBlue path {
	fill: #0d6fdf;
}

#flowArrowRed path {
	fill: #eb4b4b;
}

.internal-flow-list.is-visual-flow::before {
	display: none;
}

.internal-flow-list.is-visual-flow::after {
	display: none;
}

.internal-flow-list.is-visual-flow li {
	position: absolute;
	min-height: 128px;
	gap: 14px;
	padding: 14px 10px;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: translate(-50%, -50%);
}

.internal-flow-list.is-visual-flow .endpoint {
	background: transparent;
}

.internal-flow-list.is-visual-flow strong {
	color: #172638;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.35;
}

.node-hospital-start {
	left: 8%;
	top: 50%;
}

.node-claim {
	left: 22%;
	top: 23%;
}

.node-check-top {
	left: 36%;
	top: 19%;
}

.node-screen {
	left: 50%;
	top: 19%;
}

.node-chart-top {
	left: 64%;
	top: 23%;
}

.node-hira {
	left: 91%;
	top: 50%;
}

.node-report {
	left: 76%;
	top: 77%;
}

.node-check-bottom {
	left: 62%;
	top: 82%;
}

.node-search {
	left: 48%;
	top: 84%;
}

.node-chart-bottom {
	left: 33%;
	top: 79%;
}

.node-hospital-end {
	left: 14%;
	top: 70%;
}

.process-icon {
	position: relative;
	display: inline-flex;
	width: 58px;
	height: 58px;
	align-items: center;
	justify-content: center;
	border-radius: 18px;
	background: linear-gradient(180deg, #f8fbff, #fff);
	box-shadow: 0 10px 22px rgba(19,41,75,.09), inset 0 0 0 1px rgba(0,101,224,.16);
}

.process-icon::before,
.process-icon::after {
	content: "";
	position: absolute;
	box-sizing: border-box;
}

.process-icon.red {
	box-shadow: 0 14px 28px rgba(19,41,75,.1), inset 0 0 0 1px rgba(235,75,75,.18);
}

.icon-hospital::before,
.icon-hira::before {
	left: 18px;
	bottom: 14px;
	width: 26px;
	height: 34px;
	border-radius: 5px 5px 3px 3px;
	background: linear-gradient(180deg, #ffcc4a, #f4a51c);
	box-shadow:
		-11px 10px 0 -2px #ffd96a,
		11px 8px 0 -3px #e89a18;
}

.icon-hospital::after,
.icon-hira::after {
	left: 26px;
	bottom: 24px;
	width: 10px;
	height: 10px;
	border-radius: 2px;
	background:
		linear-gradient(#fff,#fff) center/10px 3px no-repeat,
		linear-gradient(#fff,#fff) center/3px 10px no-repeat;
}

.icon-hira::before {
	background: linear-gradient(180deg, #54c1ff, #096fe7);
	box-shadow:
		-10px 8px 0 -2px #8ad8ff,
		11px 10px 0 -3px #0759bd;
}

.icon-claim::before,
.icon-report::before {
	left: 18px;
	top: 13px;
	width: 28px;
	height: 36px;
	border: 2px solid #0d6fdf;
	border-radius: 5px;
	background: #fff;
}

.icon-claim::after,
.icon-report::after {
	left: 24px;
	top: 23px;
	width: 17px;
	height: 2px;
	background: #0d6fdf;
	box-shadow: 0 8px 0 #9cc7ff, 0 16px 0 #9cc7ff;
}

.icon-report::before {
	border-color: #eb4b4b;
}

.icon-report::after {
	background: #eb4b4b;
	box-shadow: 0 8px 0 #ffc0c0, 0 16px 0 #ffc0c0;
}

.icon-check::before {
	left: 18px;
	top: 17px;
	width: 28px;
	height: 28px;
	border: 2px solid currentColor;
	border-radius: 50%;
	color: #0d6fdf;
}

.icon-check::after {
	left: 26px;
	top: 27px;
	width: 15px;
	height: 8px;
	border-left: 3px solid currentColor;
	border-bottom: 3px solid currentColor;
	color: #0d6fdf;
	transform: rotate(-45deg);
}

.icon-check.red::before,
.icon-check.red::after {
	color: #eb4b4b;
}

.icon-screen::before {
	left: 15px;
	top: 14px;
	width: 32px;
	height: 24px;
	border: 2px solid #0d6fdf;
	border-radius: 5px;
	background: linear-gradient(180deg, #eaf4ff, #fff);
}

.icon-screen::after {
	left: 25px;
	top: 40px;
	width: 14px;
	height: 8px;
	border-bottom: 3px solid #0d6fdf;
	background: #0d6fdf;
	clip-path: polygon(35% 0, 65% 0, 100% 100%, 0 100%);
}

.icon-chart::before {
	left: 15px;
	bottom: 17px;
	width: 7px;
	height: 18px;
	border-radius: 4px 4px 2px 2px;
	background: #0d6fdf;
	box-shadow: 12px -9px 0 #48b1ff, 24px -3px 0 #0a4da3;
}

.icon-chart::after {
	left: 14px;
	bottom: 14px;
	width: 36px;
	height: 2px;
	background: rgba(13,111,223,.3);
}

.icon-chart.red::before {
	background: #eb4b4b;
	box-shadow: 12px -9px 0 #ff9a9a, 24px -3px 0 #c92727;
}

.icon-chart.red::after {
	background: rgba(235,75,75,.3);
}

.icon-search::before {
	left: 17px;
	top: 16px;
	width: 25px;
	height: 25px;
	border: 3px solid #eb4b4b;
	border-radius: 50%;
}

.icon-search::after {
	left: 39px;
	top: 39px;
	width: 15px;
	height: 4px;
	border-radius: 999px;
	background: #eb4b4b;
	transform: rotate(45deg);
	transform-origin: left center;
}

.eirs-feature-section {
	padding: 100px 0 108px;
	background: #f5f8fc;
}

.eirs-feature-layout {
	display: grid;
	grid-template-columns: minmax(300px, .45fr) minmax(0, 1fr);
	gap: 34px;
	align-items: stretch;
}

.eirs-feature-layout.is-map-only {
	display: block;
	max-width: 1120px;
	margin: 0 auto;
}

.eirs-feature-layout.is-map-only .eirs-feature-map {
	min-height: 0;
}

.eirs-feature-nav {
	display: grid;
	gap: 16px;
}

.eirs-feature-nav article {
	padding: 28px 30px;
	border: 1px solid #dfe8f2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(19, 41, 75, .05);
}

.eirs-feature-nav span {
	display: inline-flex;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #fff;
	background: var(--blue);
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}

.eirs-feature-nav h3 {
	margin: 18px 0 0;
	color: #111d2b;
	font-size: 25px;
	font-weight: 900;
	line-height: 1.3;
	word-break: keep-all;
}

.eirs-feature-nav p {
	margin: 12px 0 0;
	color: #596879;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.65;
	word-break: keep-all;
}

.eirs-feature-map {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 28px;
	row-gap: 0;
	min-height: 0;
	padding: 40px;
	border: 1px solid #dfe8f2;
	border-radius: 22px;
	background:
		linear-gradient(135deg, rgba(245,250,255,.98), rgba(255,255,255,1) 58%),
		#fff;
	box-shadow: 0 24px 58px rgba(19, 41, 75, .07);
}

.eirs-feature-map::before {
	display: none;
}

.feature-map-center {
	position: relative;
	grid-column: 1 / -1;
	z-index: 2;
	display: flex;
	width: min(360px, 100%);
	min-height: 132px;
	margin: 0 auto;
	padding: 30px 42px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border: 1px solid rgba(0,101,224,.18);
	border-radius: 28px;
	background:
		radial-gradient(circle at 50% 0%, rgba(0,101,224,.12), transparent 62%),
		#fff;
	box-shadow: 0 24px 58px rgba(0,72,160,.14);
	text-align: center;
	transform: none;
}

.feature-map-center::after {
	display: none;
}

.feature-map-center img {
	display: block;
	width: min(230px, 100%);
	height: auto;
	object-fit: contain;
}

.feature-map-center strong {
	display: block;
	margin-top: 16px;
	color: #12335d;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.35;
}

.feature-map-tree {
	--feature-tree-gap: 28px;
	position: relative;
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: var(--feature-tree-gap);
	height: 82px;
	margin: 0;
}

.feature-map-tree::before,
.feature-map-tree::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.feature-map-tree::before {
	left: 50%;
	top: 0;
	height: 30px;
	border-left: 1px dashed rgba(0,101,224,.28);
	transform: translateX(-50%);
}

.feature-map-tree::after {
	left: calc((100% - (var(--feature-tree-gap) * 2)) / 6);
	right: calc((100% - (var(--feature-tree-gap) * 2)) / 6);
	top: 30px;
	border-top: 1px dashed rgba(0,101,224,.28);
}

.feature-map-tree span {
	position: relative;
	display: block;
}

.feature-map-tree span::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 30px;
	bottom: 0;
	border-left: 1px dashed rgba(0,101,224,.28);
	transform: translateX(-50%);
}

.feature-map-tree span::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 56px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--blue);
	box-shadow: 0 0 0 6px rgba(0,101,224,.08);
	transform: translate(-50%, -50%);
}

.feature-map-card {
	position: relative;
	z-index: 3;
	width: auto;
	min-height: 112px;
	padding: 20px 26px;
	border: 1px solid #dfe8f2;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(19, 41, 75, .07);
}

.feature-map-card::before {
	display: none;
}

.feature-map-card::after {
	display: none;
}

.map-card-1 {
	left: auto;
	top: auto;
}

.map-card-1::before {
	right: auto;
	bottom: auto;
}

.map-card-2 {
	right: auto;
	top: auto;
}

.map-card-2::before {
	left: 50%;
	bottom: auto;
}

.map-card-3 {
	left: auto;
	bottom: auto;
	transform: translateX(-50%);
	transform: none;
}

.map-card-3::before {
	left: 50%;
	top: -34px;
	transform: translateX(-50%);
}

.feature-map-card span {
	color: var(--blue);
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.feature-map-card strong {
	display: block;
	margin-top: 0;
	color: #111d2b;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.32;
	word-break: keep-all;
}

.feature-map-card p {
	margin: 8px 0 0;
	color: #596879;
	font-size: 15px;
	font-weight: 750;
	line-height: 1.5;
	word-break: keep-all;
}

.eirs-feature-group {
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
	gap: 34px;
	padding: 34px 38px;
	border: 1px solid #dfe8f2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(19, 41, 75, .05);
}

.eirs-feature-title {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 18px;
}

.eirs-feature-title span {
	display: inline-flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #fff;
	background: var(--blue);
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
}

.eirs-feature-title h3 {
	margin: 0;
	color: #111d2b;
	font-size: 28px;
	font-weight: 900;
	line-height: 1.28;
	word-break: keep-all;
}

.eirs-feature-items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-left: 1px solid #e5edf5;
}

.eirs-feature-group:nth-child(2) .eirs-feature-items {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.eirs-feature-group:nth-child(3) .eirs-feature-items {
	grid-template-columns: 1fr;
}

.eirs-feature-items div {
	padding: 4px 26px;
	border-left: 1px solid #e5edf5;
}

.eirs-feature-items div:first-child {
	border-left: 0;
}

.eirs-feature-items strong {
	display: block;
	color: var(--blue);
	font-size: 20px;
	font-weight: 900;
	line-height: 1.35;
	word-break: keep-all;
}

.eirs-feature-items p {
	margin: 14px 0 0;
	color: #596879;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.7;
	word-break: keep-all;
}

.eirs-analysis-section {
	padding: 96px 0 44px;
	background: #fff;
}

.eirs-effect-board {
	display: grid;
	gap: 28px;
}

.effect-compare {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.effect-compare article {
	padding: 34px 36px;
	border: 1px solid #dfe8f2;
	border-radius: 18px;
	background: #f7f9fc;
}

.effect-compare .is-after {
	border-color: rgba(0,101,224,.24);
	background: linear-gradient(180deg, #f5f9ff, #fff);
}

.effect-compare span {
	display: inline-flex;
	min-height: 32px;
	align-items: center;
	justify-content: center;
	padding: 0 13px;
	border-radius: 999px;
	color: #52647a;
	background: #fff;
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	text-transform: none;
}

.effect-compare .is-after span {
	color: var(--blue);
	background: rgba(0,101,224,.08);
}

.effect-compare ul {
	display: grid;
	gap: 14px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.effect-compare li {
	position: relative;
	padding-left: 22px;
	color: #2f4054;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.6;
	word-break: keep-all;
}

.effect-compare li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .72em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #93a4b8;
}

.effect-compare .is-after li::before {
	background: var(--blue);
	box-shadow: 0 0 0 6px rgba(0,101,224,.1);
}

.effect-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border: 1px solid #dfe8f2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(19, 41, 75, .05);
}

.effect-metrics article {
	padding: 34px 30px;
	border-left: 1px solid #e5edf5;
}

.effect-metrics article:first-child {
	border-left: 0;
}

.effect-metrics span {
	color: var(--blue);
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.effect-metrics h3 {
	margin: 0;
	color: #111d2b;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.28;
	word-break: keep-all;
}

.effect-metrics p {
	margin: 14px 0 0;
	color: #596879;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.7;
	word-break: keep-all;
}

.phoenix-effect-board {
	margin-top: 42px;
}

.effect-compare strong {
	display: block;
	margin-top: 20px;
	color: #111d2b;
	font-size: 26px;
	font-weight: 900;
	line-height: 1.35;
	word-break: keep-all;
}

.phoenix-effect-metrics ul,
.eirs-analysis-section .effect-metrics ul {
	display: grid;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.phoenix-effect-metrics li,
.eirs-analysis-section .effect-metrics li {
	position: relative;
	display: block;
	min-height: 0;
	padding: 0 0 0 17px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #34465a;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.5;
	white-space: normal;
	word-break: keep-all;
}

.phoenix-effect-metrics li::before,
.eirs-analysis-section .effect-metrics li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .68em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--blue);
	box-shadow: 0 0 0 4px rgba(11,104,216,.08);
}

.solution-section-head.centered {
	max-width: 860px;
	margin: 0 auto 76px;
	text-align: center;
}

.solution-section-head.centered p {
	margin-right: auto;
	margin-left: auto;
}

.eirs-orbit {
	position: relative;
	min-height: 620px;
	border-radius: 24px;
	background: transparent;
}

.eirs-orbit::before,
.eirs-orbit::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.eirs-orbit::before {
	width: min(48vw, 540px);
	height: min(48vw, 540px);
	border: 3px solid rgba(0,102,204,.78);
	box-shadow: 0 18px 48px rgba(0,55,120,.18);
}

.eirs-orbit::after {
	width: min(62vw, 700px);
	height: min(62vw, 700px);
	border: 2px dashed rgba(0,102,204,.26);
}

.eirs-orbit-center {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	display: flex;
	width: 260px;
	height: 260px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border-radius: 50%;
	color: #0a3f8c;
	background: #fff;
	box-shadow: 0 24px 64px rgba(10,45,90,.14);
	transform: translate(-50%, -50%);
	text-align: center;
}

.eirs-orbit-center span {
	color: var(--blue);
	font-size: 32px;
	font-weight: 900;
	letter-spacing: 0;
}

.eirs-orbit-center strong {
	display: block;
	margin-top: 12px;
	color: #12335d;
	font-size: 24px;
	line-height: 1.35;
	font-weight: 900;
}

.orbit-item {
	position: absolute;
	z-index: 3;
	inset: 0;
	width: auto;
	pointer-events: none;
}

.orbit-item > span {
	position: absolute;
	left: calc(50% + var(--node-x));
	top: calc(50% + var(--node-y));
	display: inline-flex;
	width: 66px;
	height: 66px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #fff;
	background: linear-gradient(135deg, #0a6fe8, #073b8f);
	box-shadow: 0 12px 30px rgba(0,77,170,.22);
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
	transform: translate(-50%, -50%);
	pointer-events: auto;
}

.orbit-item strong {
	display: block;
	color: #111d2b;
	font-size: 21px;
	line-height: 1.3;
	font-weight: 900;
	word-break: keep-all;
}

.orbit-item p {
	margin: 10px 0 0;
	color: #4e5f72;
	font-size: 16px;
	line-height: 1.65;
	font-weight: 700;
	word-break: keep-all;
}

.orbit-item div {
	position: absolute;
	left: calc(50% + var(--text-x));
	top: calc(50% + var(--text-y));
	width: 290px;
	transform: translateY(-50%);
	pointer-events: auto;
}

.orbit-1,
.orbit-5 {
	--text-x: -629px;
	text-align: right;
}

.orbit-2,
.orbit-4 {
	--text-x: 339px;
}

.orbit-1 {
	--node-x: -270px;
	--node-y: -223px;
	--text-y: -223px;
}

.orbit-2 {
	--node-x: 270px;
	--node-y: -223px;
	--text-y: -223px;
}

.orbit-3 {
	--node-x: 350px;
	--node-y: 0px;
	--text-x: 419px;
	--text-y: 0px;
}

.orbit-4 {
	--node-x: 270px;
	--node-y: 223px;
	--text-y: 223px;
}

.orbit-5 {
	--node-x: -270px;
	--node-y: 223px;
	--text-y: 223px;
}

.orbit-6 {
	--node-x: -350px;
	--node-y: 0px;
	--text-y: 0px;
	--text-x: -709px;
	text-align: right;
}

.solution-reasons {
	padding: 32px 0 96px;
	background: #fff;
}

.solution-outcome {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 56px;
	padding: 68px 64px;
	border-radius: 18px;
	background:
		linear-gradient(135deg, rgba(11,104,216,.26), rgba(6,18,31,0) 42%),
		#06121f;
	color: #fff;
	text-align: left;
}

.solution-outcome-label {
	margin: 0 0 16px;
	color: var(--blue);
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
	text-transform: uppercase;
}

.solution-outcome h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(34px, 3.8vw, 56px);
	line-height: 1.18;
	font-weight: 900;
	word-break: keep-all;
}

.solution-outcome h2 span {
	color: #4fa8ff;
}

.solution-outcome-copy > p:not(.solution-outcome-label) {
	max-width: 620px;
	margin: 24px 0 0;
	color: rgba(255,255,255,.76);
	font-size: 17px;
	line-height: 1.75;
	font-weight: 800;
	word-break: keep-all;
}

.solution-outcome-tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 12px;
}

.solution-outcome-tags span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border: 1px solid rgba(255,255,255,.26);
	border-radius: 999px;
	color: #fff;
	font-size: 15px;
	line-height: 1;
	font-weight: 900;
}

.solution-outcome-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin-top: 46px;
	padding-top: 30px;
	border-top: 1px solid rgba(255,255,255,.14);
}

.solution-outcome-contact {
	flex: 0 0 auto;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 14px;
	min-width: 276px;
	padding: 30px 32px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 16px;
	background: rgba(255,255,255,.06);
}

.solution-outcome-contact span {
	color: rgba(255,255,255,.62);
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
}

.solution-outcome-contact a {
	display: block;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-size: 32px;
	line-height: 1;
	font-weight: 900;
	text-decoration: none;
	transition: color .2s ease;
}

.solution-outcome-contact a:hover {
	color: #7bbcff;
}

.solution-trust {
	padding: 86px 0 92px;
	background: #fff;
}

.solution-trust-head {
	max-width: 860px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.solution-trust-head p {
	margin-right: auto;
	margin-left: auto;
}

.solution-trust-flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-top: 56px;
	padding-top: 18px;
}

.solution-trust-flow::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 60px;
	height: 2px;
	background: linear-gradient(90deg, rgba(11,104,216,.18), rgba(11,104,216,.72), rgba(11,104,216,.18));
}

.solution-trust-flow article {
	position: relative;
	padding: 82px 32px 0;
	text-align: center;
}

.solution-trust-flow span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 20px;
	left: 50%;
	width: 44px;
	height: 44px;
	border: 7px solid #fff;
	border-radius: 50%;
	background: var(--blue);
	color: #fff;
	font-size: 12px;
	line-height: 1;
	font-weight: 900;
	box-shadow: 0 0 0 1px rgba(11,104,216,.28), 0 14px 32px rgba(11,104,216,.18);
	transform: translateX(-50%);
	z-index: 1;
}

.solution-trust-flow strong {
	display: block;
	margin-top: 16px;
	color: #111d2b;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 900;
	word-break: keep-all;
}

.solution-trust-flow .is-emphasis strong {
	color: var(--blue);
	font-size: 32px;
	line-height: 1.1;
}

.solution-trust-flow p {
	margin: 12px 0 0;
	color: #596879;
	font-size: 16px;
	line-height: 1.7;
	font-weight: 700;
	word-break: keep-all;
}

.solution-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	padding: 42px 48px;
	border-radius: 18px;
	color: #fff;
	background: #06121f;
}

.solution-cta-inner h2 {
	color: #fff;
}

.solution-cta-inner p {
	color: rgba(255,255,255,.72);
}

.solution-cta-inner a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 52px;
	padding: 0 24px;
	border-radius: 999px;
	background: var(--blue);
	color: #fff;
	font-size: 15px;
	font-weight: 900;
}

.solution-cta-phone {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 26px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	color: #fff;
	font-size: 24px;
	line-height: 1;
	font-weight: 900;
	letter-spacing: 0;
}

.phoenix-page .solution-detail-hero {
	background-color: #06121f;
	background-image:
		linear-gradient(90deg, rgba(4,18,31,.88) 0%, rgba(4,18,31,.58) 42%, rgba(4,18,31,.08) 100%),
		linear-gradient(180deg, rgba(4,18,31,.78) 0%, rgba(4,18,31,.46) 96px, rgba(4,18,31,.18) 220px, rgba(4,18,31,.28) 100%),
		url("/images/product/phoenix/phoenix-hero-bg-abstract-v5-hero-fit-soft-left-2x.png");
	background-position: center center, center center, center center;
	background-size: 100% 100%, 100% 100%, cover;
	background-repeat: no-repeat;
}

.phoenix-page .solution-detail-hero-grid {
	grid-template-columns: minmax(0, 760px);
}

.phoenix-intro {
	padding: 92px 0 70px;
	background: #fff;
}

.phoenix-intro-card {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	align-items: center;
	gap: 54px;
	padding: 28px 54px;
	border: 1px solid #d9e6f5;
	border-left: 5px solid var(--blue);
	border-radius: 18px;
	background: linear-gradient(135deg, #fff 0%, #f7fbff 100%);
	box-shadow: 0 28px 70px rgba(13,71,130,.08);
}

.phoenix-logo-box {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 122px;
}

.phoenix-logo-box img {
	display: block;
	width: 100%;
	max-width: 260px;
	height: auto;
}

.phoenix-intro-card p {
	margin: 0;
	color: #25364a;
	font-size: 20px;
	line-height: 1.9;
	font-weight: 750;
	word-break: keep-all;
}

.phoenix-platform {
	padding: 88px 0;
	background: #fff;
}

.phoenix-features {
	padding: 88px 0;
	background: #f4f8fd;
}

.phoenix-flow,
.phoenix-effects {
	padding: 92px 0;
	background: #fff;
}

.phoenix-flow {
	padding: 78px 0 80px;
}

.phoenix-effects {
	padding-bottom: 44px;
}

.phoenix-platform-map {
	position: relative;
	display: block;
	min-height: 0;
	margin-top: 56px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: hidden;
}

.phoenix-platform-map::before,
.phoenix-platform-map::after {
	display: none;
}

.phoenix-platform-center {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 244px;
	min-height: 136px;
	padding: 24px 32px 20px;
	border: 1px solid #c9def5;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 28px 60px rgba(11,64,128,.12);
	transform: translate(-50%, -50%);
	flex-direction: column;
	gap: 12px;
}

.phoenix-platform-center::before,
.phoenix-platform-center::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: -1;
	background: rgba(0,104,218,.18);
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.phoenix-platform-center::before {
	width: 740px;
	height: 1px;
}

.phoenix-platform-center::after {
	width: 1px;
	height: 360px;
}

.phoenix-platform-center img {
	display: block;
	width: 100%;
	height: auto;
}

.phoenix-platform-center span {
	color: #6a7888;
	font-size: 12px;
	line-height: 1;
	font-weight: 900;
	letter-spacing: .02em;
}

.platform-spine {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: center;
	gap: 34px;
	max-width: 760px;
	margin: 0 auto;
	padding: 0 0 34px;
	border-bottom: 1px solid #bfd9f6;
	background: transparent;
	box-shadow: none;
}

.platform-spine img {
	display: block;
	width: 100%;
	height: auto;
}

.platform-spine p {
	position: relative;
	margin: 0;
	padding-left: 34px;
	color: #334252;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 900;
	word-break: keep-all;
}

.platform-spine p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 52px;
	background: #d8e6f5;
	transform: translateY(-50%);
}

.platform-layer-row {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 42px;
	margin-top: 42px;
}

.platform-layer-row::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 20px;
	height: 1px;
	background: linear-gradient(90deg, rgba(0,104,218,0), rgba(0,104,218,.38), rgba(0,104,218,0));
}

.platform-area {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 0;
	padding: 0;
	padding-top: 54px;
	border: 0;
	border-radius: 0;
	background: rgba(255,255,255,.88);
	box-shadow: none;
	text-align: left;
}

.platform-area span,
.phoenix-module-flow span,
.phoenix-effect-grid span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 30px;
	margin-bottom: 18px;
	border-radius: 999px;
	background: #eaf4ff;
	color: var(--blue);
	font-size: 14px;
	font-weight: 900;
}

.platform-area strong,
.phoenix-module-flow strong,
.phoenix-effect-grid strong {
	display: block;
	color: #111d2b;
	font-size: 25px;
	line-height: 1.3;
	font-weight: 900;
	word-break: keep-all;
}

.platform-area p,
.phoenix-module-flow p {
	margin: 14px 0 0;
	color: #4c5d70;
	font-size: 16px;
	line-height: 1.75;
	font-weight: 700;
	word-break: keep-all;
}

.area-1,
.area-3 {
	padding-right: 24px;
	text-align: left;
}

.area-2,
.area-4 {
	padding-left: 24px;
	text-align: left;
}

.area-1 {
	grid-area: area1;
}

.area-2 {
	grid-area: area2;
}

.area-3 {
	grid-area: area3;
}

.area-4 {
	grid-area: area4;
}

.area-1::after,
.area-2::after,
.area-3::after,
.area-4::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 10px;
	width: 10px;
	height: 10px;
	border: 5px solid rgba(0,104,218,.14);
	border-radius: 50%;
	background: var(--blue);
	box-sizing: content-box;
	transform: translateX(-50%);
}

.area-1::before,
.area-2::before,
.area-3::before,
.area-4::before {
	display: none;
}

.platform-layer-flow {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0;
	margin-top: 54px;
	padding: 22px 0 0;
	border: 0;
	border-top: 1px solid #d8e6f5;
	border-radius: 0;
	background: transparent;
}

.platform-layer-flow span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #334252;
	font-size: 15px;
	font-weight: 900;
}

.platform-layer-flow span:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -8px;
	top: 50%;
	width: 16px;
	height: 1px;
	background: #9ec7f4;
}

.platform-layer-flow span:not(:last-child)::before {
	content: "";
	position: absolute;
	right: -9px;
	top: 50%;
	width: 7px;
	height: 7px;
	border-top: 2px solid #9ec7f4;
	border-right: 2px solid #9ec7f4;
	transform: translateY(-50%) rotate(45deg);
}

.phoenix-architecture {
	position: relative;
	margin-top: 56px;
	padding: 6px 0 0;
}

.architecture-brand {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: 42px;
	align-items: center;
	max-width: 920px;
	margin: 0 auto;
	padding-bottom: 42px;
	border-bottom: 1px solid #bfd9f6;
}

.architecture-brand img {
	display: block;
	width: 100%;
	height: auto;
}

.architecture-brand p {
	position: relative;
	margin: 0;
	padding-left: 42px;
	color: #24364b;
	font-size: 20px;
	line-height: 1.55;
	font-weight: 900;
	word-break: keep-all;
}

.architecture-brand p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 62px;
	background: #d4e5f8;
	transform: translateY(-50%);
}

.architecture-rail {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 64px;
	max-width: 1180px;
	margin: 62px auto 0;
}

.architecture-rail::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 18px;
	height: 2px;
	background: linear-gradient(90deg, rgba(0,104,218,0), rgba(0,104,218,.48), rgba(39,190,180,.42), rgba(0,104,218,0));
}

.architecture-rail article {
	position: relative;
	padding-top: 54px;
	text-align: left;
}

.architecture-rail article::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 15px;
	height: 15px;
	border: 6px solid rgba(0,104,218,.14);
	border-radius: 50%;
	background: var(--blue);
	box-sizing: content-box;
	box-shadow: 0 12px 30px rgba(0,104,218,.18);
}

.architecture-rail article::after {
	content: "";
	position: absolute;
	left: 14px;
	top: 34px;
	width: 1px;
	height: 38px;
	background: #bdd9f7;
}

.architecture-rail span {
	display: inline-flex;
	align-items: center;
	height: 28px;
	margin-bottom: 14px;
	padding: 0 14px;
	border-radius: 999px;
	background: #eaf4ff;
	color: var(--blue);
	font-size: 14px;
	font-weight: 900;
}

.architecture-rail strong {
	display: block;
	color: #111d2b;
	font-size: 27px;
	line-height: 1.25;
	font-weight: 900;
	word-break: keep-all;
}

.architecture-rail p {
	margin: 14px 0 0;
	color: #4c5d70;
	font-size: 16px;
	line-height: 1.72;
	font-weight: 800;
	word-break: keep-all;
}

.architecture-flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0;
	max-width: 1180px;
	margin: 58px auto 0;
	padding-top: 26px;
	border-top: 1px solid #d8e6f5;
}

.architecture-flow span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #24364b;
	font-size: 16px;
	font-weight: 900;
}

.architecture-flow span:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -12px;
	top: 50%;
	width: 24px;
	height: 1px;
	background: #9ec7f4;
}

.architecture-flow span:not(:last-child)::before {
	content: "";
	position: absolute;
	right: -13px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #9ec7f4;
	border-right: 2px solid #9ec7f4;
	transform: translateY(-50%) rotate(45deg);
}

.phoenix-feature-board {
	position: relative;
	margin-top: 30px;
	padding: 0 58px;
	background: transparent;
	overflow: hidden;
}

.phoenix-feature-board::before {
	display: none;
}

.phoenix-feature-board.module-hub {
	max-width: 1580px;
	margin: 36px auto 0;
	padding: 0;
	overflow: visible;
}

.phoenix-module-map {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 410px) 260px minmax(0, 410px);
	grid-template-areas:
		"admin center care"
		"support center claim";
	justify-content: center;
	gap: 84px 110px;
	align-items: stretch;
}

.phoenix-module-map::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 0;
	width: 400px;
	height: 400px;
	border: 0;
	border-radius: 50%;
	background:
		radial-gradient(circle, rgba(130,198,255,.52) 0%, rgba(156,214,255,.4) 36%, rgba(190,231,255,.24) 56%, rgba(226,244,255,.1) 74%, rgba(226,244,255,0) 91%);
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.phoenix-module-map::after {
	display: none;
}

.phoenix-module-connectors {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: visible;
}

.phoenix-module-connectors path {
	fill: none;
	stroke: #b8cadd;
	stroke-width: 1.35;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.phoenix-module-center {
	position: relative;
	z-index: 2;
	grid-area: center;
	align-self: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: 340px;
	padding: 0 12px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-align: center;
}

.phoenix-module-center::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 292px;
	height: 292px;
	z-index: -1;
	border: 1px solid rgba(11,104,216,.52);
	border-radius: 50%;
	background: rgba(255,255,255,.78);
	box-shadow: 0 18px 55px rgba(0,104,218,.08);
	transform: translate(-50%, -50%);
}

.phoenix-module-center img {
	position: relative;
	z-index: 1;
	display: block;
	width: min(100%, 234px);
	height: auto;
}

.phoenix-module-center img {
	filter: drop-shadow(0 10px 20px rgba(0,104,218,.1));
}

.phoenix-module-card {
	position: relative;
	z-index: 2;
	min-height: 166px;
	padding: 22px 24px 20px;
	border: 1px solid rgba(210,225,241,.95);
	border-radius: 16px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 18px 42px rgba(32,73,116,.06);
}

.phoenix-module-card::before,
.phoenix-module-card::after {
	content: "";
	position: absolute;
	top: 50%;
	pointer-events: none;
}

.phoenix-module-card::before {
	display: none;
}

.phoenix-module-card::after {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--blue);
	box-shadow: 0 0 0 4px rgba(11,104,216,.1);
	transform: translateY(-50%);
}

.module-admin::before,
.module-support::before {
	right: -60px;
}

.module-admin::after,
.module-support::after {
	right: -5px;
}

.module-care::before,
.module-claim::before {
	left: -60px;
}

.module-care::after,
.module-claim::after {
	left: -5px;
}

.module-admin {
	grid-area: admin;
}

.module-care {
	grid-area: care;
}

.module-support {
	grid-area: support;
}

.module-claim {
	grid-area: claim;
}

.module-card-head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 12px;
}

.module-card-head .feature-icon {
	width: 68px;
	height: 68px;
	border-radius: 0;
	background: transparent;
}

.module-card-head .feature-icon::before {
	width: 62px;
	height: 62px;
}

.phoenix-module-card h3 {
	margin: 0;
	color: #111d2b;
	font-size: 25px;
	line-height: 1.2;
	font-weight: 850;
	letter-spacing: 0;
}

.phoenix-module-card p {
	margin: 0 0 16px;
	color: #4f5f70;
	font-size: 15px;
	line-height: 1.6;
	font-weight: 750;
	word-break: keep-all;
}

.phoenix-module-card ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.phoenix-module-card li {
	min-height: 30px;
	padding: 7px 11px;
	border: 1px solid rgba(184,214,250,.72);
	border-radius: 999px;
	background: #f6fbff;
	color: #36506c;
	font-size: 13px;
	line-height: 1.15;
	font-weight: 850;
	white-space: nowrap;
}

.phoenix-feature-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 34px 40px;
}

.phoenix-feature-card {
	display: flex;
	flex-direction: column;
	min-height: 274px;
	padding: 28px 34px 30px;
	border: 1px solid rgba(210,225,241,.9);
	border-radius: 16px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 18px 42px rgba(32,73,116,.06);
}

.feature-card-head {
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 72px;
	margin-bottom: 22px;
}

.feature-icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 12px;
	background: #f1f6fb;
}

.feature-icon::before {
	content: "";
	width: 44px;
	height: 44px;
	background-color: transparent;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.feature-icon-admin::before {
	-webkit-mask-image: none;
	mask-image: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath fill='%23e9edf0' d='M11 4h20l8 8v32H11z'/%3E%3Cpath fill='%230bb8bf' d='M31 4v8h8z'/%3E%3Cpath fill='%23006bde' d='M17 30h20v3H17zm0 7h15v3H17z'/%3E%3Cpath fill='%23006bde' d='M16 17h5l2 6 3-10 3 10 2-6h5v4h-3l-4 8h-4l-2-7-2 7h-4l-4-8h-3z'/%3E%3C/svg%3E");
}

.feature-icon-care::before {
	-webkit-mask-image: none;
	mask-image: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath fill='%23e9edf0' d='M11 4h20l8 8v32H11z'/%3E%3Cpath fill='%230bb8bf' d='M31 4v8h8z'/%3E%3Cpath fill='none' stroke='%23006bde' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M18 15v9a6 6 0 0 0 12 0v-9M15 15h6M27 15h6M24 30v4a5 5 0 0 0 10 0v-2'/%3E%3Ccircle cx='34' cy='29' r='3.5' fill='%230bb8bf'/%3E%3C/svg%3E");
}

.feature-icon-support::before {
	-webkit-mask-image: none;
	mask-image: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath fill='%23e9edf0' d='M11 4h20l8 8v32H11z'/%3E%3Cpath fill='%230bb8bf' d='M31 4v8h8z'/%3E%3Cpath fill='none' stroke='%23006bde' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' d='M20 13h8M24 13v8l-8 14a3 3 0 0 0 2.6 4h10.8a3 3 0 0 0 2.6-4l-8-14'/%3E%3Cpath fill='none' stroke='%230bb8bf' stroke-width='3' stroke-linecap='round' d='M18 31h12'/%3E%3C/svg%3E");
}

.feature-icon-claim::before {
	-webkit-mask-image: none;
	mask-image: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath fill='%23e9edf0' d='M11 4h20l8 8v32H11z'/%3E%3Cpath fill='%230bb8bf' d='M31 4v8h8z'/%3E%3Cpath fill='%23006bde' d='M17 19h14v3H17zm0 7h10v3H17z'/%3E%3Ccircle cx='32' cy='32' r='6' fill='none' stroke='%23006bde' stroke-width='3'/%3E%3Cpath fill='none' stroke='%230bb8bf' stroke-width='3' stroke-linecap='round' d='m36 36 5 5'/%3E%3C/svg%3E");
}

.feature-icon-admin::before {
	background-image: url("/images/redesign/phoenix-icons/module-admin.png");
}

.feature-icon-care::before {
	background-image: url("/images/redesign/phoenix-icons/module-care.png");
}

.feature-icon-support::before {
	background-image: url("/images/redesign/phoenix-icons/module-support.png");
}

.feature-icon-claim::before {
	background-image: url("/images/redesign/phoenix-icons/module-claim.png");
}

.phoenix-feature-card h3 {
	margin: 0;
	color: #111d2b;
	font-size: 26px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: 0;
}

.phoenix-feature-card ul {
	display: grid;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.phoenix-feature-card li {
	position: relative;
	padding-left: 16px;
	color: #535f6d;
	font-size: 15px;
	line-height: 1.55;
	font-weight: 700;
	word-break: keep-all;
}

.phoenix-feature-card li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .72em;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #9aa8b7;
}

.phoenix-flow-grid,
.phoenix-workflow-panels {
	display: grid;
	gap: 24px;
	margin-top: 34px;
}

.phoenix-operation-diagram,
.phoenix-patient-flow,
.phoenix-workflow-panel {
	min-height: 0;
	padding: 36px;
	border: 1px solid #d8e6f5;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 28px 70px rgba(14,54,98,.07);
}

.phoenix-flow-copy span {
	display: block;
	margin-bottom: 12px;
	color: var(--blue);
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
}

.phoenix-flow-copy h3 {
	margin: 0;
	color: #111d2b;
	font-size: 32px;
	line-height: 1.25;
	font-weight: 900;
}

.phoenix-flow-copy p {
	margin: 14px 0 0;
	color: #5a6878;
	font-size: 16px;
	line-height: 1.75;
	font-weight: 700;
	word-break: keep-all;
}

.operation-map {
	position: relative;
	min-height: 390px;
	margin-top: 38px;
	border-radius: 16px;
	background:
		linear-gradient(90deg, transparent calc(50% - 1px), rgba(0,104,218,.12) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)),
		linear-gradient(0deg, transparent calc(50% - 1px), rgba(0,104,218,.12) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)),
		radial-gradient(circle at center, rgba(0,104,218,.13), rgba(0,104,218,0) 62%),
		linear-gradient(135deg, #f7fbff 0%, #fff 100%);
	overflow: hidden;
}

.operation-map::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 268px;
	height: 268px;
	border: 2px dashed rgba(0,104,218,.32);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.operation-center {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 156px;
	height: 88px;
	border: 1px solid #cfe2f6;
	border-radius: 22px;
	background: #fff;
	color: var(--blue);
	font-size: 30px;
	font-weight: 900;
	box-shadow: 0 20px 44px rgba(10,78,150,.14);
	transform: translate(-50%, -50%);
}

.operation-node {
	position: absolute;
	z-index: 2;
	width: 190px;
	min-height: 96px;
	padding: 20px 22px;
	border: 1px solid #cfe2f6;
	border-radius: 18px;
	background: rgba(255,255,255,.94);
	text-align: left;
	box-shadow: 0 20px 46px rgba(14,54,98,.08);
}

.operation-node span {
	display: block;
	color: var(--blue);
	font-size: 24px;
	font-weight: 900;
}

.operation-node strong {
	display: block;
	margin-top: 10px;
	color: #3f5062;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.35;
}

.operation-map .node-admin {
	left: 58px;
	top: 46px;
}

.operation-map .node-care {
	right: 58px;
	top: 46px;
}

.operation-map .node-support {
	left: 58px;
	bottom: 46px;
}

.operation-map .node-claim {
	left: auto;
	top: auto;
	right: 58px;
	bottom: 46px;
}

.external-data-map {
	position: relative;
	margin-top: 34px;
	padding: 10px 20px;
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}

.external-data-map.cycle-style {
	background: #fff;
}

.external-data-map::before {
	content: none !important;
	display: none !important;
}

.external-data-map::after {
	content: none !important;
	display: none !important;
}

.external-data-svg {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.external-orbit {
	fill: none;
	stroke: rgba(0,104,218,.16);
	stroke-width: 2;
	stroke-dasharray: 6 9;
}

.external-line {
	fill: none;
	stroke-width: 5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.external-line.blue {
	stroke: #0068da;
}

.external-line.teal {
	stroke: #20aaa2;
}

.external-svg-node rect,
.external-svg-center rect {
	fill: rgba(255,255,255,.98);
	stroke: #cfe2f6;
	stroke-width: 1.5;
}

.external-svg-center rect {
	stroke: #b7d6f6;
}

.external-data-svg text {
	font-family: inherit;
	text-anchor: middle;
	dominant-baseline: middle;
	letter-spacing: 0;
}

.external-data-svg .node-title {
	fill: var(--blue);
	font-size: 25px;
	font-weight: 900;
}

.external-data-svg .node-sub,
.external-data-svg .center-sub {
	fill: #40546b;
	font-size: 15px;
	font-weight: 900;
}

.external-data-svg .center-title {
	fill: #111d2b;
	font-size: 34px;
	font-weight: 900;
}

.external-cycle-svg {
	max-width: 1080px;
}

.external-cycle-image {
	display: block;
	width: min(100%, 1080px);
	height: auto;
	margin: 0 auto;
	border-radius: 0;
}

.external-data-map.cycle-style .external-cycle-image {
	width: min(100%, 1080px);
}

.phoenix-lite-diagram {
	position: relative;
	width: min(100%, 1080px);
	min-height: 460px;
	margin: 0 auto;
	border: 1px solid #dbe8f6;
	border-radius: 20px;
	background:
		radial-gradient(circle at 50% 50%, rgba(0,104,218,.08), rgba(0,104,218,0) 38%),
		linear-gradient(135deg, #fbfdff 0%, #f4f9ff 100%);
	overflow: hidden;
}

.phoenix-lite-diagram::before,
.phoenix-lite-diagram::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.phoenix-lite-diagram::before {
	width: 620px;
	height: 310px;
	border: 1px dashed rgba(17,29,43,.12);
}

.phoenix-lite-diagram::after {
	width: 430px;
	height: 215px;
	background: rgba(255,255,255,.5);
	filter: blur(.2px);
}

.phoenix-lite-lines {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.phoenix-lite-lines marker path {
	fill: currentColor;
}

.phoenix-lite-lines #phoenix-lite-arrow-blue path {
	fill: #0068da;
}

.phoenix-lite-lines #phoenix-lite-arrow-teal path {
	fill: #17a9bd;
}

.lite-orbit {
	fill: none;
	stroke: rgba(0,104,218,.11);
	stroke-width: 16;
}

.lite-flow,
.lite-callout {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.lite-flow {
	stroke-width: 7;
}

.lite-flow-blue {
	color: #0068da;
	stroke: #0068da;
}

.lite-flow-teal {
	color: #17a9bd;
	stroke: #17a9bd;
}

.lite-callout {
	stroke: rgba(0,80,170,.62);
	stroke-width: 2;
}

.phoenix-lite-node,
.phoenix-lite-center,
.lite-label {
	position: absolute;
	z-index: 3;
}

.phoenix-lite-node {
	display: grid;
	justify-items: center;
	width: 170px;
	padding: 18px 16px 16px;
	border: 1px solid #d8e6f5;
	border-radius: 18px;
	background: rgba(255,255,255,.92);
	box-shadow: 0 18px 42px rgba(14,54,98,.07);
	text-align: center;
}

.phoenix-lite-node strong {
	display: block;
	margin-top: 10px;
	color: var(--blue);
	font-size: 24px;
	line-height: 1.1;
	font-weight: 900;
}

.phoenix-lite-node em {
	display: block;
	margin-top: 7px;
	color: #5e6f82;
	font-size: 13px;
	line-height: 1.35;
	font-style: normal;
	font-weight: 800;
	word-break: keep-all;
}

.lite-node-icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 16px;
	background: #eaf4ff;
	color: var(--blue);
	font-size: 24px;
	line-height: 1;
	font-weight: 900;
}

.lite-node-icon.medical {
	background: #fff0f1;
	color: #e94b5f;
	font-size: 32px;
}

.lite-node-icon.idc {
	position: relative;
	background: #e9f7ff;
}

.lite-node-icon.idc::before,
.lite-node-icon.idc::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	height: 8px;
	border-radius: 999px;
	background: #0068da;
	box-shadow: 0 14px 0 #17a9bd;
}

.lite-node-icon.idc::before {
	top: 13px;
}

.lite-node-icon.idc::after {
	top: 27px;
	opacity: .55;
}

.node-vendor {
	left: 50%;
	top: 38px;
	transform: translateX(-50%);
}

.node-hospital {
	left: 8%;
	bottom: 64px;
}

.node-idc {
	right: 8%;
	bottom: 64px;
}

.phoenix-lite-center {
	left: 50%;
	top: 54%;
	display: grid;
	place-items: center;
	width: 170px;
	height: 112px;
	border: 1px solid #cfe2f6;
	border-radius: 999px;
	background: rgba(255,255,255,.95);
	box-shadow: 0 20px 48px rgba(14,54,98,.08);
	transform: translate(-50%, -50%);
	text-align: center;
}

.phoenix-lite-center strong {
	color: #111d2b;
	font-size: 25px;
	font-weight: 900;
	line-height: 1.1;
}

.phoenix-lite-center span {
	margin-top: 5px;
	color: #63758a;
	font-size: 12px;
	font-weight: 900;
}

.lite-label {
	color: #0d4f9a;
	font-size: 15px;
	line-height: 1.38;
	font-weight: 900;
	text-align: center;
	white-space: nowrap;
}

.label-service {
	left: 58px;
	top: 88px;
}

.label-maintenance {
	right: 58px;
	top: 72px;
}

.label-payment {
	left: 50%;
	bottom: 42px;
	transform: translateX(-50%);
}

.external-cycle-diagram {
	position: relative;
	width: min(100%, 1080px);
	height: 430px;
	margin: 0 auto;
	background: #fff;
}

.external-cycle-ring {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 50%, #fff 0 38%, transparent 39%),
		conic-gradient(from 12deg, #263aa4 0 32%, #2f79e9 32% 66%, #1fadba 66% 100%);
	box-shadow: 0 24px 58px rgba(13, 62, 120, .11);
	transform: translate(-50%, -50%);
}

.external-cycle-ring::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: -15px;
	border: 1px dashed rgba(17, 29, 43, .12);
	border-radius: 50%;
}

.external-cycle-ring::after {
	content: "";
	position: absolute;
	z-index: 3;
	inset: 95px;
	border-radius: 50%;
	background: #fff;
	box-shadow: inset 0 0 38px rgba(16, 71, 132, .06);
}

.cycle-cap {
	position: absolute;
	z-index: 2;
	display: block;
	width: 104px;
	height: 58px;
	border-radius: 999px;
	box-shadow: 0 12px 20px rgba(13, 62, 120, .06);
}

.cycle-cap-navy {
	left: 183px;
	top: 0;
	background: #263aa4;
	transform: rotate(8deg);
}

.cycle-cap-blue {
	right: 16px;
	bottom: 76px;
	background: #2f79e9;
	transform: rotate(112deg);
}

.cycle-cap-teal {
	left: 10px;
	bottom: 72px;
	background: #1fadba;
	transform: rotate(112deg);
}

.external-cycle-center {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 92px;
	transform: translate(-50%, -50%);
}

.external-cycle-center img {
	display: block;
	width: 170px;
	height: auto;
}

.cycle-entity-png {
	position: absolute;
	z-index: 3;
	width: 64px;
	height: 64px;
	object-fit: contain;
	filter: drop-shadow(0 12px 12px rgba(9, 50, 98, .18));
}

.entity-hospital-png {
	left: calc(50% - 196px);
	top: calc(50% - 84px);
}

.entity-ginus-png {
	left: calc(50% + 112px);
	top: calc(50% - 84px);
}

.entity-idc-png {
	left: calc(50% - 32px);
	top: calc(50% + 120px);
}

.cycle-relation-label {
	position: absolute;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 18px;
	border: 1px solid #b9d9f7;
	border-radius: 999px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 12px 28px rgba(13, 62, 120, .08);
	color: var(--blue);
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

.label-service {
	left: calc(50% - 225px);
	top: 72px;
}

.label-maintenance {
	left: calc(50% + 85px);
	top: 80px;
}

.label-support {
	left: calc(50% + 95px);
	top: 320px;
	color: #079d95;
}

.cycle-outer {
	fill: none;
	stroke: rgba(17,29,43,.12);
	stroke-width: 1.4;
	stroke-dasharray: 5 7;
}

.cycle-backplate {
	fill: none;
	stroke: #ecf3fc;
	stroke-width: 58;
}

.cycle-segment {
	fill: none;
	stroke-width: 58;
	stroke-linecap: butt;
	stroke-linejoin: round;
}

.cycle-segment-blue {
	stroke: #3078e8;
}

.cycle-segment-teal {
	stroke: #17a9bd;
}

.cycle-segment-navy {
	stroke: #24379c;
}

.cycle-joint-blue {
	fill: #3078e8;
}

.cycle-joint-teal {
	fill: #17a9bd;
}

.cycle-joint-navy {
	fill: #24379c;
}

.cycle-joint {
	r: 29px;
}

.cycle-flow-points circle {
	fill: #fff;
	stroke-width: 5;
	filter: drop-shadow(0 8px 12px rgba(14,54,98,.14));
}

.cycle-flow-points .point-navy {
	stroke: #24379c;
}

.cycle-flow-points .point-blue {
	stroke: #3078e8;
}

.cycle-flow-points .point-teal {
	stroke: #17a9bd;
}

.cycle-icon circle {
	fill: rgba(255,255,255,.95);
	stroke: #d8e8fb;
	stroke-width: 1.5;
}

.cycle-icon path {
	fill: none;
	stroke: var(--blue);
	stroke-width: 3.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.cycle-icon.icon-operation path {
	stroke: #159f9a;
}

.cycle-entity:not(.cycle-entity-image) path {
	fill: none;
	stroke: #fff;
	stroke-width: 4.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.cycle-entity text {
	display: none;
	fill: #111d2b;
	font-size: 15px;
	font-weight: 900;
	text-anchor: middle;
	dominant-baseline: middle;
}

.cycle-entity .entity-logo {
	fill: var(--blue);
	font-size: 16px;
	font-weight: 900;
}

.cycle-entity-image .entity-shadow {
	fill: rgba(13, 71, 129, .18);
}

.cycle-entity-image .entity-medal {
	fill: rgba(255,255,255,.94);
	stroke: rgba(211, 230, 251, .95);
	stroke-width: 2;
}

.cycle-entity-image .entity-glow {
	opacity: .98;
}

.cycle-entity-image .entity-glow-teal {
	fill: #18aeba;
}

.cycle-entity-image .entity-glow-navy {
	fill: #1d35a1;
}

.cycle-entity-image .entity-glow-blue {
	fill: #2377e8;
}

.cycle-entity-image .entity-solid {
	fill: #fff;
	stroke: rgba(255,255,255,.88);
	stroke-width: 1.4;
	stroke-linejoin: round;
}

.cycle-entity-image .entity-cutout {
	fill: rgba(12, 93, 201, .72);
}

.cycle-entity-image .entity-mark {
	fill: none;
	stroke: #fff;
	stroke-width: 3.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.cycle-entity-image .entity-mark-dot {
	fill: #26c5c0;
}

.cycle-entity-image .entity-panel {
	fill: #f9fcff;
	stroke: rgba(255,255,255,.88);
	stroke-width: 2;
}

.cycle-entity-image .entity-side {
	fill: #dbeafd;
	stroke: rgba(255,255,255,.7);
	stroke-width: 1.5;
}

.cycle-entity-image .entity-roof {
	fill: #eaf3ff;
	stroke: rgba(255,255,255,.85);
	stroke-width: 1.5;
}

.cycle-entity-image .entity-window,
.cycle-entity-image .entity-rack {
	fill: #1f83f2;
}

.cycle-entity-image .entity-door {
	fill: #0f67d8;
}

.cycle-entity-image .entity-cross {
	fill: none;
	stroke: #0b6fdf;
	stroke-width: 4;
	stroke-linecap: round;
}

.cycle-entity-image .entity-accent {
	fill: none;
	stroke: #0b6fdf;
	stroke-width: 3.5;
	stroke-linecap: round;
}

.cycle-entity-image .entity-label {
	display: block;
	fill: #fff;
	font-size: 14px;
	font-weight: 900;
	text-anchor: middle;
	letter-spacing: .02em;
}

.cycle-entity-image .entity-led {
	fill: #26c5c0;
}

.cycle-relation-label rect {
	fill: rgba(255,255,255,.92);
	stroke: #cfe2f6;
	stroke-width: 1;
	filter: drop-shadow(0 10px 18px rgba(14,54,98,.08));
}

.cycle-relation-label text {
	fill: #244463;
	font-size: 14px;
	font-weight: 900;
	text-anchor: middle;
	dominant-baseline: middle;
}

.cycle-relation-label.label-maintenance text {
	fill: #3078e8;
}

.cycle-relation-label.label-support text {
	fill: #159f9a;
}

.cycle-center {
	fill: #fff;
	filter: drop-shadow(0 18px 32px rgba(17,29,43,.1));
}

.cycle-center-title {
	fill: #111d2b;
	font-size: 34px;
	font-weight: 900;
}

.cycle-center-sub {
	fill: #33465e;
	font-size: 22px;
	font-weight: 900;
}

.cycle-center-sub.small {
	fill: #718196;
	font-size: 14px;
	font-weight: 800;
}

.cycle-callout path {
	fill: none;
	stroke: #7cafee;
	stroke-width: 2;
}

.cycle-callout circle {
	fill: #fff;
	stroke: #4a8ff0;
	stroke-width: 5;
}

.cycle-callout text {
	text-anchor: start;
	dominant-baseline: middle;
}

.cycle-callout.callout-left text {
	text-anchor: end;
}

.cycle-callout .callout-title {
	fill: #1d389a;
	font-size: 25px;
	font-weight: 900;
}

.cycle-callout.callout-right-top .callout-title {
	fill: #3078e8;
}

.cycle-callout.callout-right-bottom .callout-title {
	fill: #149b9a;
}

.cycle-callout .callout-sub {
	fill: #555;
	font-size: 18px;
	font-weight: 700;
}

.external-svg-label rect {
	fill: #eaf3ff;
	stroke: #b8d7fa;
	stroke-width: 1;
}

.external-svg-label.teal rect {
	fill: #e8fbf9;
	stroke: #a9e0dc;
}

.external-svg-label text {
	fill: #26425f;
	font-size: 14px;
	font-weight: 900;
}

.external-svg-label.teal text {
	fill: #167d78;
}

.external-center,
.external-node {
	position: absolute;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid #cfe2f6;
	background: rgba(255,255,255,.96);
	text-align: center;
	box-shadow: 0 20px 48px rgba(14,54,98,.1);
}

.external-center {
	left: 50%;
	top: 50%;
	width: 220px;
	height: 116px;
	border-radius: 26px;
	transform: translate(-50%, -50%);
}

.external-center strong {
	color: #111d2b;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.external-center span {
	margin-top: 10px;
	color: #68788a;
	font-size: 13px;
	font-weight: 800;
}

.external-node {
	width: 166px;
	height: 96px;
	border-radius: 22px;
}

.external-node span {
	color: var(--blue);
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
}

.external-node strong {
	margin-top: 10px;
	color: #3f5062;
	font-size: 14px;
	font-weight: 900;
}

.external-node-ginus {
	left: 50%;
	top: 30px;
	transform: translateX(-50%);
}

.external-node-hospital {
	left: 8%;
	bottom: 62px;
}

.external-node-system {
	right: 8%;
	bottom: 62px;
}

.external-caption {
	position: absolute;
	z-index: 3;
	color: #4f6176;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}

.caption-support {
	left: 22%;
	top: 42%;
}

.caption-operation {
	left: 50%;
	bottom: 46px;
	transform: translateX(-50%);
}

.caption-maintenance {
	right: 19%;
	top: 42%;
}

.external-caption::before {
	content: "";
	position: absolute;
	left: 50%;
	top: calc(100% + 8px);
	width: 68px;
	height: 2px;
	background: #8bb8ec;
	transform: translateX(-50%);
}

.internal-work-map {
	position: relative;
	margin-top: 34px;
	padding: 24px;
	border: 1px solid #d8e6f5;
	border-radius: 18px;
	background:
		radial-gradient(circle at 50% 38%, rgba(0,104,218,.08), rgba(0,104,218,0) 48%),
		linear-gradient(135deg, #fbfdff 0%, #f6fbff 100%);
}

.internal-work-map > input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.internal-flow-tabs {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(130px, 1fr));
	gap: 6px;
	padding: 5px;
	border: 1px solid #d8e6f5;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(14,54,98,.06);
}

.internal-flow-tabs label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 8px;
	color: #5a6878;
	font-size: 14px;
	font-weight: 900;
	text-align: center;
	cursor: pointer;
	transition: color .2s ease, background .2s ease, box-shadow .2s ease;
}

#flow-outpatient:checked ~ .internal-flow-tabs label[for="flow-outpatient"],
#flow-inpatient:checked ~ .internal-flow-tabs label[for="flow-inpatient"] {
	background: var(--blue);
	color: #fff;
	box-shadow: 0 10px 22px rgba(0,104,218,.18);
}

.internal-flow-stage {
	margin-top: 22px;
}

.internal-flow-panel {
	display: none;
	grid-template-columns: 220px 1fr;
	gap: 18px;
	align-items: stretch;
}

#flow-outpatient:checked ~ .internal-flow-stage .internal-flow-panel.outpatient,
#flow-inpatient:checked ~ .internal-flow-stage .internal-flow-panel.inpatient {
	display: block;
}

.internal-flow-entry {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 190px;
	padding: 24px;
	border: 1px solid #d8e6f5;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 44px rgba(14,54,98,.07);
}

.internal-flow-entry span {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	background: #edf6ff;
	color: var(--blue);
	font-size: 12px;
	font-weight: 900;
}

.internal-flow-entry strong {
	margin-top: 14px;
	color: #111d2b;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 900;
}

.internal-flow-entry p {
	margin: 10px 0 0;
	color: #5a6878;
	font-size: 14px;
	line-height: 1.65;
	font-weight: 700;
	word-break: keep-all;
}

.internal-process-line {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.internal-process-line li {
	position: relative;
	min-height: 224px;
	padding: 20px 16px;
	border: 1px solid #cfe2f6;
	border-radius: 14px;
	background: rgba(255,255,255,.95);
	box-shadow: 0 16px 38px rgba(14,54,98,.06);
}

.internal-process-line li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -12px;
	top: 50%;
	z-index: 2;
	width: 12px;
	height: 1px;
	background: #8bb8ec;
}

.internal-process-line li:not(:last-child)::before {
	content: "";
	position: absolute;
	right: -13px;
	top: calc(50% - 4px);
	z-index: 3;
	width: 8px;
	height: 8px;
	border-top: 2px solid #8bb8ec;
	border-right: 2px solid #8bb8ec;
	transform: rotate(45deg);
}

.internal-process-line span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #edf6ff;
	color: var(--blue);
	font-size: 12px;
	font-weight: 900;
}

.internal-process-line strong {
	display: block;
	margin-top: 14px;
	color: #111d2b;
	font-size: 19px;
	line-height: 1.25;
	font-weight: 900;
}

.internal-process-line p {
	margin: 10px 0 0;
	color: #5a6878;
	font-size: 13px;
	line-height: 1.52;
	font-weight: 700;
	word-break: keep-all;
}

.internal-process-line em {
	display: block;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #e4eef8;
	color: var(--blue);
	font-size: 12px;
	line-height: 1.45;
	font-style: normal;
	font-weight: 900;
	word-break: keep-all;
}

.internal-output-grid {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 0;
}

.internal-output-grid span {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid #d8e6f5;
	border-radius: 12px;
	background: #fff;
	color: #40546b;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 900;
	word-break: keep-all;
}

.internal-output-grid b {
	margin-right: 7px;
	color: #111d2b;
	font-weight: 900;
}

.internal-flow-panel.outpatient .internal-flow-entry span,
.internal-flow-panel.outpatient .internal-process-line span {
	background: #e9f9f8;
	color: #079c96;
}

.internal-flow-panel.outpatient .internal-process-line li {
	border-color: #c4ebe8;
}

.internal-flow-panel.outpatient .internal-process-line li:not(:last-child)::after {
	background: #81d2cc;
}

.internal-flow-panel.outpatient .internal-process-line li:not(:last-child)::before {
	border-color: #81d2cc;
}

.internal-flow-panel.outpatient .internal-process-line em {
	color: #079c96;
}

.internal-route-diagram {
	position: relative;
	width: 100%;
	min-height: 0;
	aspect-ratio: 1000 / 540;
	border: 1px solid #d8e6f5;
	border-radius: 16px;
	background:
		linear-gradient(90deg, rgba(216,230,245,.26) 1px, transparent 1px),
		linear-gradient(0deg, rgba(216,230,245,.22) 1px, transparent 1px),
		linear-gradient(135deg, #fff 0%, #f7fbff 100%);
	background-size: 96px 96px, 96px 96px, auto;
	overflow: hidden;
}

.internal-route-lines {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.internal-route-lines path {
	fill: none;
	stroke: #9aa8b7;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
	marker-end: url(#internalArrowInpatient);
}

.outpatient-route .internal-route-lines path {
	stroke: #8fabbf;
	marker-end: url(#internalArrowOutpatient);
}

.internal-route-lines marker path {
	fill: #9aa8b7;
	stroke: none;
}

.outpatient-route .internal-route-lines marker path {
	fill: #8fabbf;
}

.route-node {
	position: absolute;
	z-index: 2;
	left: var(--x);
	top: var(--y);
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: var(--w);
	min-height: 58px;
	padding: 11px 13px;
	border: 1px solid #cfe2f6;
	border-radius: 12px;
	background: rgba(255,255,255,.96);
	color: #24364b;
	box-shadow: 0 14px 34px rgba(14,54,98,.07);
}

.route-node strong {
	display: block;
	color: #123f83;
	font-size: 15px;
	line-height: 1.24;
	font-weight: 900;
	word-break: keep-all;
}

.route-node p {
	margin: 7px 0 0;
	color: #5a6878;
	font-size: 12px;
	line-height: 1.42;
	font-weight: 700;
	word-break: keep-all;
}

.route-node.source {
	border-color: #dde5ed;
	background: #fff;
}

.route-node.step {
	background: #edf6ff;
}

.route-node.data {
	align-items: center;
	min-height: 72px;
	border-color: #f1cfd5;
	background: #fff2f4;
	text-align: center;
}

.route-node.data strong {
	color: #0a68bd;
	font-size: 18px;
}

.route-node.record {
	background: #eef7ff;
}

.route-node.focus {
	align-items: center;
	min-height: 86px;
	border-color: #ffe8b9;
	background: #fff8e6;
	text-align: center;
}

.route-node.focus strong {
	color: #6e5a14;
	font-size: 19px;
}

.route-node.dept {
	align-items: center;
	min-height: 58px;
	border-color: #d8e6f5;
	background: #f5f9ff;
	text-align: center;
}

.route-node.home {
	align-items: center;
	min-height: 72px;
	border-color: #e0edbc;
	background: #f4fadf;
	text-align: center;
}

.outpatient-route .route-node.step {
	border-color: #cfe2f6;
	background: #edf6ff;
}

.outpatient-route .route-node.focus {
	border-color: #ffe4b3;
	background: #fff7e4;
}

.internal-hub-diagram {
	position: relative;
	display: grid;
	grid-template-columns: minmax(180px, .74fr) minmax(250px, .94fr) minmax(380px, 1.46fr);
	grid-template-areas:
		"input hub output"
		"automation automation automation";
	gap: 16px;
	padding: 24px;
	border: 1px solid #d8e6f5;
	border-radius: 16px;
	background:
		linear-gradient(90deg, rgba(216,230,245,.18) 1px, transparent 1px),
		linear-gradient(0deg, rgba(216,230,245,.16) 1px, transparent 1px),
		linear-gradient(135deg, #fff 0%, #f7fbff 100%);
	background-size: 88px 88px, 88px 88px, auto;
	overflow: hidden;
}

.internal-hub-diagram::before,
.internal-hub-diagram::after {
	content: "";
	position: absolute;
	top: 46%;
	z-index: 1;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(0,104,218,0), rgba(0,104,218,.34), rgba(0,104,218,0));
	pointer-events: none;
}

.internal-hub-diagram::before {
	left: 20%;
	width: 18%;
}

.internal-hub-diagram::after {
	right: 36%;
	width: 17%;
}

.hub-flow-column,
.hub-flow-center,
.hub-flow-automation {
	position: relative;
	z-index: 2;
}

.flow-input {
	grid-area: input;
	display: grid;
	align-content: center;
	gap: 10px;
}

.flow-output {
	grid-area: output;
	display: grid;
	gap: 10px;
}

.hub-column-label {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	background: #edf6ff;
	color: var(--blue);
	font-size: 12px;
	font-weight: 900;
}

.hub-mini-card {
	min-height: 68px;
	padding: 13px 14px;
	border: 1px solid #d8e6f5;
	border-radius: 12px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 14px 34px rgba(14,54,98,.06);
}

.hub-mini-card.primary {
	border-color: #bad8f6;
	background: #edf6ff;
}

.hub-mini-card.ghost {
	border-color: #e0edbc;
	background: #f7fbeb;
}

.hub-mini-card strong {
	display: block;
	color: #123f83;
	font-size: 15px;
	line-height: 1.25;
	font-weight: 900;
	word-break: keep-all;
}

.hub-mini-card p {
	margin: 7px 0 0;
	color: #5a6878;
	font-size: 12px;
	line-height: 1.45;
	font-weight: 700;
	word-break: keep-all;
}

.hub-card-list {
	display: grid;
	gap: 4px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
	color: #5a6878;
	font-size: 12px;
	line-height: 1.45;
	font-weight: 700;
	word-break: keep-all;
}

.hub-card-list li {
	position: relative;
	padding-left: 10px;
}

.hub-card-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .72em;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #8fa9c4;
	transform: translateY(-50%);
}

.hub-flow-center {
	grid-area: hub;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 320px;
}

.hub-core {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(100%, 248px);
	aspect-ratio: 1;
	padding: 26px;
	border: 1px solid #c7def6;
	border-radius: 50%;
	background:
		radial-gradient(circle, #fff 0 56%, rgba(237,246,255,.72) 57% 71%, rgba(237,246,255,.28) 72% 100%);
	text-align: center;
	box-shadow: 0 28px 70px rgba(0,104,218,.12);
}

.hub-core::before,
.hub-core::after {
	content: "";
	position: absolute;
	inset: -18px;
	border: 1px solid rgba(0,104,218,.12);
	border-radius: 50%;
}

.hub-core::after {
	inset: -36px;
	opacity: .45;
}

.hub-core span {
	color: #8a9bad;
	font-size: 13px;
	font-weight: 900;
}

.hub-core strong {
	margin-top: 6px;
	color: var(--blue);
	font-size: 28px;
	line-height: 1.15;
	font-weight: 900;
}

.hub-core p {
	margin: 13px 0 0;
	color: #40546b;
	font-size: 13px;
	line-height: 1.55;
	font-weight: 700;
	word-break: keep-all;
}

.hub-output-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
}

.hub-output-process {
	display: grid;
	gap: 12px;
}

.hub-process-main {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	padding: 12px;
	border: 1px solid #cfe2f6;
	border-radius: 14px;
	background: rgba(237,246,255,.54);
}

.hub-process-main::before {
	content: "주 처리 흐름";
	position: absolute;
	left: 14px;
	top: -12px;
	padding: 0 8px;
	background: #f8fbff;
	color: var(--blue);
	font-size: 11px;
	font-weight: 900;
}

.hub-process-main .hub-mini-card {
	position: relative;
	min-height: 100px;
	box-shadow: none;
}

.hub-process-main .flow-step:not(.last)::after {
	content: "";
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: 3;
	width: 18px;
	height: 2px;
	border-radius: 999px;
	background: #78a9da;
	transform: translateY(-50%);
}

.hub-process-main .flow-step:not(.last)::before {
	content: "";
	position: absolute;
	right: -17px;
	top: calc(50% - 5px);
	z-index: 4;
	width: 10px;
	height: 10px;
	border-top: 2px solid #78a9da;
	border-right: 2px solid #78a9da;
	transform: rotate(45deg);
}

.hub-process-support {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 9px;
	padding: 12px;
	border: 1px dashed #c9d9e9;
	border-radius: 14px;
	background: rgba(255,255,255,.64);
}

.hub-process-support::before {
	content: "연계 부서";
	position: absolute;
	left: 14px;
	top: -12px;
	padding: 0 8px;
	background: #f8fbff;
	color: #5a6878;
	font-size: 11px;
	font-weight: 900;
}

.hub-process-support .hub-mini-card {
	min-height: 92px;
	box-shadow: none;
}

.hub-flow-automation {
	grid-area: automation;
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 14px;
	align-items: start;
	padding: 18px;
	border: 1px solid #d8e6f5;
	border-radius: 14px;
	background: rgba(255,255,255,.86);
}

.hub-flow-automation span {
	color: #111d2b;
	font-size: 15px;
	line-height: 1.35;
	font-weight: 900;
	word-break: keep-all;
}

.hub-flow-automation div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.hub-flow-automation b {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 10px;
	border: 1px solid #d8e6f5;
	border-radius: 999px;
	background: #fff;
	color: #40546b;
	font-size: 12px;
	font-weight: 900;
	word-break: keep-all;
}

.outpatient-hub .hub-column-label,
.outpatient-hub .hub-flow-automation b {
	border-color: #c4ebe8;
	background: #e9f9f8;
	color: #079c96;
}

.outpatient-hub .hub-mini-card.primary {
	border-color: #c4ebe8;
	background: #e9f9f8;
}

.internal-hub-diagram {
	grid-template-columns: minmax(190px, .72fr) minmax(270px, .96fr) minmax(430px, 1.58fr);
	grid-template-areas: "input hub output";
	gap: 22px;
	padding: 30px;
}

.internal-hub-diagram::before,
.internal-hub-diagram::after {
	top: 50%;
}

.flow-input,
.flow-output {
	gap: 14px;
}

.hub-mini-card {
	min-height: 78px;
	padding: 16px 17px;
}

.hub-mini-card strong {
	font-size: 16px;
}

.hub-mini-card p {
	font-size: 13px;
	line-height: 1.5;
}

.hub-flow-center {
	min-height: 380px;
}

.hub-core {
	width: min(100%, 272px);
}

.hub-core strong {
	font-size: 30px;
}

.hub-output-process {
	gap: 18px;
}

.hub-process-main,
.hub-process-support {
	gap: 14px;
	padding: 18px;
}

.hub-process-main::before,
.hub-process-support::before {
	content: none !important;
	display: none !important;
}

.hub-process-main .hub-mini-card {
	min-height: 118px;
}

.hub-process-support .hub-mini-card {
	min-height: 106px;
}

.hub-process-main .flow-step:not(.last)::after {
	right: -20px;
	width: 24px;
}

.hub-process-main .flow-step:not(.last)::before {
	right: -22px;
}

.internal-flow-panel {
	min-height: 460px;
}

.internal-hub-diagram {
	min-height: 460px;
	align-items: stretch;
}

.flow-input,
.flow-output,
.hub-flow-center {
	min-height: 430px;
}

.flow-input,
.flow-output {
	align-content: center;
}

.hub-flow-center {
	height: 100%;
}

.internal-work-map {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.internal-flow-tabs {
	box-shadow: 0 12px 28px rgba(14,54,98,.05);
}

.internal-flow-stage {
	margin-top: 10px;
}

.internal-hub-diagram {
	padding: 18px 0 0;
	border: 0;
	border-radius: 0;
	background:
		radial-gradient(circle at 50% 50%, rgba(0,104,218,.055), rgba(0,104,218,0) 38%);
	background-size: auto;
	overflow: visible;
}

.hub-process-main,
.hub-process-support {
	background: transparent;
}

.internal-hub-diagram {
	align-items: center;
}

.flow-input,
.flow-output,
.hub-flow-center {
	align-self: center;
	min-height: 0;
}

.hub-flow-center {
	height: auto;
	min-height: 340px;
	transform: translateY(26px);
}

.internal-hub-diagram::before {
	top: 55.36%;
}

.internal-hub-diagram::after {
	top: 57.14%;
}

.internal-hub-diagram::before,
.internal-hub-diagram::after {
	content: none !important;
	display: none !important;
}

.hub-flow-center::before,
.hub-flow-center::after {
	content: "";
	position: absolute;
	top: 50%;
	z-index: 4;
	width: 14px;
	height: 14px;
	border-top: 2px solid #9bb4cc;
	border-right: 2px solid #9bb4cc;
	pointer-events: none;
	transform: translateY(-50%) rotate(45deg);
}

.hub-flow-center::before {
	left: -8px;
}

.hub-flow-center::after {
	right: -8px;
}

.hub-process-main {
	gap: 24px;
}

.hub-process-main .flow-step:not(.last)::after {
	right: -16px;
	top: 50%;
	width: 9px;
	height: 9px;
	border-top: 2px solid #9bb4cc;
	border-right: 2px solid #9bb4cc;
	border-radius: 0;
	background: transparent;
	transform: translateY(-50%) rotate(45deg);
}

.hub-process-main .flow-step:not(.last)::before {
	content: none !important;
	display: none !important;
}

.phoenix-feature-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	margin-top: 42px;
}

.phoenix-module-flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	padding: 32px;
	border: 1px solid #d8e6f5;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 28px 70px rgba(14,54,98,.07);
}

.phoenix-module-flow article,
.phoenix-effect-grid article {
	position: relative;
	min-height: 164px;
	padding: 24px;
	border: 1px solid #d8e6f5;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 20px 54px rgba(14,54,98,.06);
}

.phoenix-module-flow article:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -16px;
	top: 50%;
	z-index: 2;
	width: 16px;
	height: 2px;
	background: #9ec7f4;
	transform: translateY(-50%);
}

.phoenix-module-flow article:not(:last-child)::before {
	content: "";
	position: absolute;
	right: -17px;
	top: 50%;
	z-index: 3;
	width: 8px;
	height: 8px;
	border-top: 2px solid #9ec7f4;
	border-right: 2px solid #9ec7f4;
	transform: translateY(-50%) rotate(45deg);
}

.phoenix-screen-preview {
	display: grid;
	grid-template-columns: 150px 1fr;
	align-items: center;
	gap: 14px;
	padding: 20px 22px;
	border: 1px solid #d8e6f5;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(14,54,98,.06);
}

.phoenix-screen-preview strong {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #111d2b;
	font-size: 22px;
	font-weight: 900;
	word-break: keep-all;
}

.phoenix-screen-preview strong::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--blue);
}

.phoenix-screen-preview > div {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.phoenix-screen-preview img {
	display: block;
	width: 100%;
	max-height: 154px;
	object-fit: contain;
	border: 1px solid #e4edf7;
	border-radius: 12px;
	background: #fff;
}

.phoenix-effect-compare {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-top: 42px;
}

.phoenix-effect-compare > div {
	min-height: 260px;
	padding: 34px;
	border: 1px solid #d8e6f5;
	border-radius: 18px;
	background: #f7fbff;
}

.phoenix-effect-compare .effect-after {
	border-color: #9fc9f8;
	background: #fff;
	box-shadow: 0 24px 64px rgba(0,104,218,.08);
}

.phoenix-effect-compare span {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 16px;
	border-radius: 999px;
	background: #fff;
	color: #6d7b8c;
	font-size: 14px;
	font-weight: 900;
}

.phoenix-effect-compare .effect-after span {
	background: #eaf4ff;
	color: var(--blue);
}

.phoenix-effect-compare strong {
	display: block;
	margin-top: 20px;
	color: #111d2b;
	font-size: 26px;
	line-height: 1.35;
	font-weight: 900;
	word-break: keep-all;
}

.phoenix-effect-compare ul {
	display: grid;
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.phoenix-effect-compare li {
	position: relative;
	padding-left: 18px;
	color: #4c5d70;
	font-size: 16px;
	line-height: 1.65;
	font-weight: 800;
	word-break: keep-all;
}

.phoenix-effect-compare li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .7em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #9aaabb;
}

.phoenix-effect-compare .effect-after li::before {
	background: var(--blue);
}

.phoenix-effect-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin-top: 24px;
}

.phoenix-effect-grid article {
	display: flex;
	flex-direction: column;
	min-height: 246px;
	background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

.phoenix-effect-grid article p {
	display: block;
	margin: 14px 0 0;
	color: #5a6878;
	font-size: 15px;
	line-height: 1.55;
	font-weight: 800;
	word-break: keep-all;
}

.phoenix-effect-grid article ul {
	display: grid;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.phoenix-effect-grid article li {
	position: relative;
	padding-left: 15px;
	color: #4c5d70;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 800;
	word-break: keep-all;
}

.phoenix-effect-grid article li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .68em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #8fb6df;
}

.location-guide {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin-top: 42px;
}

.location-guide article {
	min-height: 178px;
	padding: 28px 30px 30px;
	border: 1px solid #dfe7f0;
	border-top: 3px solid #111d2b;
	background: #fff;
}

.location-guide span {
	display: block;
	color: var(--blue);
	font-size: 13px;
	line-height: 1;
	font-weight: 900;
}

.location-guide h3 {
	margin: 12px 0 0;
	color: #111d2b;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 900;
}

.location-guide p {
	margin: 14px 0 0;
	color: #334252;
	font-size: 16px;
	line-height: 1.7;
	font-weight: 700;
	word-break: keep-all;
}

.parking-map {
	margin-top: 58px;
}

.parking-map h3 {
	margin: 0 0 20px;
	color: #111d2b;
	font-size: 24px;
	font-weight: 900;
}

.parking-map img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 1px solid #dfe7f0;
}

.about-values {
	padding: 96px 0 108px;
	background: #f5f8fc;
}

.about-values-head {
	text-align: center;
}

.about-values-head p {
	margin: 18px auto 0;
	color: var(--muted);
	font-size: 16px;
	line-height: 1.7;
	font-weight: 700;
	word-break: keep-all;
}

.about-value-grid {
	margin-top: 48px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.about-value-card {
	min-height: 270px;
	padding: 34px 32px;
	border: 1px solid #dfe8f2;
	border-radius: 8px;
	background: #fff;
}

.about-value-card span {
	display: block;
	margin-bottom: 34px;
	color: var(--blue);
	font-size: 44px;
	line-height: 1;
	font-weight: 900;
}

.about-value-card strong {
	display: block;
	color: var(--ink);
	font-size: 26px;
	line-height: 1.2;
	font-weight: 900;
}

.about-value-card p {
	margin: 18px 0 0;
	color: var(--muted);
	font-size: 16px;
	line-height: 1.72;
	font-weight: 700;
	word-break: keep-all;
}

.about-work {
	padding: 104px 0;
	background: #fff;
}

.about-work-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, .78fr);
	gap: 58px;
	align-items: center;
}

.about-work-visual {
	min-height: 500px;
	border-radius: 8px;
	background:
		linear-gradient(90deg, rgba(4,18,31,.52), rgba(4,18,31,.08)),
		url("/images/main/ginus-hero-claims-reference.png") center center / cover no-repeat;
}

.about-work-content ul {
	margin: 34px 0 0;
	padding: 0;
	list-style: none;
	border-top: 2px solid var(--ink);
}

.about-work-content li {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 24px;
	padding: 22px 0;
	border-bottom: 1px solid var(--line);
}

.about-work-content strong {
	color: var(--ink);
	font-size: 18px;
	font-weight: 900;
}

.about-work-content span {
	color: var(--muted);
	font-size: 16px;
	line-height: 1.62;
	font-weight: 700;
	word-break: keep-all;
}

.about-contact {
	padding: 92px 0;
	color: #fff;
	background:
		linear-gradient(90deg, rgba(4,18,31,.94), rgba(4,18,31,.76)),
		url("/images/main/ginus-hero-operations-reference.png") center center / cover no-repeat;
}

.about-contact-grid {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 70px;
	align-items: start;
}

.about-contact h2 {
	color: #fff;
}

.about-contact p {
	max-width: 430px;
	margin: 20px 0 0;
	color: rgba(255,255,255,.74);
	font-size: 16px;
	line-height: 1.75;
	font-weight: 700;
	word-break: keep-all;
}

.about-contact dl {
	margin: 0;
	border-top: 1px solid rgba(255,255,255,.24);
}

.about-contact dl div {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 24px;
	padding: 22px 0;
	border-bottom: 1px solid rgba(255,255,255,.24);
}

.about-contact dt {
	color: rgba(255,255,255,.58);
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
}

.about-contact dd {
	margin: 0;
	color: #fff;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 800;
	word-break: keep-all;
}

@media (max-width: 1100px) {
	.site-nav {
		grid-template-columns: 190px 1fr auto;
	}

	.main-menu {
		gap: 22px;
		font-size: 14px;
	}

	.solution-head {
		align-items: center;
		flex-direction: column;
	}

	.solution-head h2 {
		font-size: 44px;
	}

	.intro-card-grid {
		gap: 18px;
	}

	.intro-card {
		min-height: 380px;
		padding: 36px 30px;
	}

	.solution-showcase {
		grid-template-columns: 1fr;
	}

	.solution-detail-hero-grid,
	.solution-screen-list article,
	.solution-screens-featured article {
		grid-template-columns: 1fr;
	}

	.solution-summary-grid,
	.solution-effect-grid,
	.solution-reason-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.solution-process-grid article::before,
	.solution-process-grid article::after {
		display: none;
	}

	.eirs-rule-engine,
	.eirs-feature-layout,
	.eirs-check-diagram,
	.effect-compare,
	.phoenix-intro-card,
	.phoenix-feature-grid,
	.phoenix-flow-grid,
	.phoenix-feature-layout,
	.phoenix-effect-compare {
		grid-template-columns: 1fr;
	}

	.phoenix-feature-board {
		padding: 38px;
	}

	.phoenix-platform-map {
		grid-template-columns: 1fr;
		min-height: 0;
		padding: 34px;
	}

	.phoenix-platform-map::before,
	.phoenix-platform-map::after,
	.phoenix-platform-center {
		display: none;
	}

	.area-1,
	.area-2,
	.area-3,
	.area-4 {
		padding-left: 30px;
		padding-right: 30px;
	}

	.phoenix-effect-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.phoenix-module-flow {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.architecture-brand,
	.architecture-rail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.architecture-brand {
		max-width: none;
	}

	.phoenix-module-flow article:nth-child(3n)::before,
	.phoenix-module-flow article:nth-child(3n)::after {
		display: none;
	}

	.phoenix-screen-preview {
		grid-template-columns: 1fr;
	}

	.eirs-rule-engine::before {
		left: 50%;
		right: auto;
		top: 12%;
		bottom: 12%;
		width: 2px;
		height: auto;
		transform: translateX(-50%);
	}

	.eirs-feature-map {
		grid-template-columns: 1fr;
		min-height: 0;
		display: grid;
		gap: 14px;
		padding: 24px;
	}

	.feature-map-tree {
		display: none;
	}

	.eirs-feature-map::before {
		display: none;
	}

	.feature-map-center,
	.feature-map-card {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		width: auto;
		transform: none;
	}

	.feature-map-center {
		width: auto;
		height: auto;
		min-height: 150px;
		margin: 0;
		border-radius: 18px;
	}

	.feature-map-center::after {
		display: none;
	}

	.feature-map-card::before {
		display: none;
	}

	.feature-map-card::after {
		display: none;
	}

	.effect-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.effect-metrics article:nth-child(3) {
		border-left: 0;
		border-top: 1px solid #e5edf5;
	}

	.effect-metrics article:nth-child(4) {
		border-top: 1px solid #e5edf5;
	}

	.eirs-orbit {
		display: grid;
		min-height: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
		padding: 26px;
	}

	.eirs-orbit::before,
	.eirs-orbit::after {
		display: none;
	}

	.eirs-orbit-center,
	.orbit-item {
		position: relative;
		inset: auto;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		transform: none;
	}

	.eirs-orbit-center {
		width: auto;
		height: auto;
		min-height: 180px;
		border-radius: 18px;
		grid-column: 1 / -1;
	}

	.orbit-item {
		width: auto;
		display: grid;
		grid-template-columns: 70px 1fr;
		gap: 18px;
		align-items: center;
		padding: 24px;
		border: 1px solid #dce8f5;
		border-radius: 18px;
		background: rgba(255,255,255,.78);
		text-align: left;
	}

	.orbit-item > span {
		position: static;
		transform: none;
	}

	.orbit-item div {
		position: static;
		width: auto;
		transform: none;
	}

	.orbit-1 > span,
	.orbit-5 > span,
	.orbit-6 > span {
		order: initial;
	}

	.orbit-1 div,
	.orbit-2 div,
	.orbit-3 div,
	.orbit-4 div,
	.orbit-5 div,
	.orbit-6 div {
		padding-right: 0;
		padding-left: 0;
		text-align: left;
	}

	.solution-flow-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.solution-flow-list li {
		border-bottom: 1px solid #dfe7f0;
	}

	.solution-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.about-statement-grid,
	.about-work-grid,
	.about-contact-grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.about-value-grid {
		grid-template-columns: 1fr;
	}

	.about-work-visual {
		min-height: 360px;
	}

}

@media (max-width: 760px) {
	.site-nav {
		width: min(100% - 32px, 1480px);
		height: 68px;
		grid-template-columns: 1fr auto;
	}

	.brand {
		width: 64px;
		height: 62px;
	}

	.brand-logo {
		left: 15px;
		width: 33px;
		height: 33px;
	}

	.brand-logo-blue {
		left: 15px;
		width: 33px;
		height: 33px;
	}

	.main-menu {
		display: none;
	}

	.hamburger {
		width: 32px;
	}

	.site-menu-panel {
		width: min(100% - 32px, 1480px);
		grid-template-rows: 76px 1fr;
	}

	.site-menu-close {
		width: 40px;
		height: 40px;
	}

	.site-menu-content {
		align-self: start;
		padding: 36px 0 48px;
	}

	.site-menu-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.site-menu-group {
		padding-top: 18px;
	}

	.site-menu-group ul {
		margin-top: 20px;
		display: grid;
		grid-template-columns: 1fr;
		gap: 13px;
	}

	.site-menu-group li + li {
		margin-top: 0;
	}

	.site-menu-group a {
		font-size: 21px;
	}

	.hero-content {
		width: min(100% - 32px, 1480px);
		padding: 112px 0 91px;
	}

	.hero-title {
		font-size: 36px;
	}

	.hero-copy {
		font-size: 15px;
		line-height: 1.72;
	}

	.slider-ui {
		margin-top: 64px;
		flex-wrap: wrap;
		gap: 16px;
	}

	.section-inner {
		width: min(100% - 32px, 1300px);
	}

	.intro,
	.solution,
	.news {
		padding: 76px 0;
	}

	h2 {
		white-space: normal;
	}

	.feature-grid,
	.intro-card-grid,
	.solution-showcase,
	.quick-grid,
	.news-grid {
		grid-template-columns: 1fr;
	}

	.solution-detail-hero {
		min-height: 0;
		padding: 116px 0 76px;
	}

	.solution-detail-hero-grid {
		gap: 34px;
		min-height: 0;
	}

	.solution-detail-hero h1 {
		font-size: 54px;
	}

	.solution-detail-hero-copy > p:not(.solution-label) {
		font-size: 17px;
	}

	.solution-overview,
	.solution-flow,
	.solution-features,
	.solution-screens,
	.solution-effects,
	.solution-cta {
		padding: 76px 0;
	}

	.phoenix-intro,
	.phoenix-platform,
	.phoenix-flow,
	.phoenix-features,
	.phoenix-effects {
		padding: 58px 0;
	}

	.phoenix-intro-card,
	.phoenix-operation-diagram,
	.phoenix-patient-flow,
	.phoenix-workflow-panel {
		padding: 24px;
		border-radius: 14px;
	}

	.phoenix-intro-card p {
		font-size: 16px;
		line-height: 1.75;
	}

	.phoenix-module-flow,
	.phoenix-effect-grid {
		grid-template-columns: 1fr;
	}

	.phoenix-platform-map {
		padding: 18px;
		border-radius: 14px;
	}

	.platform-area,
	.phoenix-module-flow article,
	.phoenix-effect-grid article {
		min-height: 0;
		padding: 22px;
		border-radius: 14px;
	}

	.phoenix-effect-grid article p {
		font-size: 14px;
		line-height: 1.55;
	}

	.phoenix-effect-grid article ul {
		gap: 7px;
		margin-top: 14px;
	}

	.phoenix-effect-grid article li {
		font-size: 13px;
		line-height: 1.5;
	}

	.platform-area strong,
	.phoenix-module-flow strong,
	.phoenix-effect-grid strong {
		font-size: 22px;
	}

	.operation-map {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
		min-height: 0;
		padding: 18px;
	}

	.operation-map::before {
		display: none;
	}

	.operation-center,
	.operation-node,
	.external-center,
	.external-node {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		width: auto;
		transform: none;
	}

	.external-data-map {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
		min-height: 0;
		padding: 18px;
	}

	.phoenix-lite-diagram {
		display: grid;
		gap: 14px;
		min-height: 0;
		padding: 20px;
		background: linear-gradient(135deg, #fbfdff 0%, #f4f9ff 100%);
	}

	.phoenix-lite-diagram::before,
	.phoenix-lite-diagram::after,
	.phoenix-lite-lines,
	.lite-label {
		display: none;
	}

	.phoenix-lite-node,
	.phoenix-lite-center {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		width: auto;
		transform: none;
	}

	.phoenix-lite-center {
		order: -1;
		width: auto;
		height: auto;
		min-height: 92px;
		border-radius: 18px;
	}

	.external-data-map::before,
	.external-data-map::after,
	.external-caption {
		display: none;
	}

	.external-center,
	.external-node {
		min-height: 86px;
	}

	.internal-work-map {
		padding: 18px;
		border-radius: 14px;
	}

	.internal-flow-tabs {
		width: 100%;
		grid-template-columns: 1fr;
	}

	.internal-flow-panel,
	#flow-outpatient:checked ~ .internal-flow-stage .internal-flow-panel.outpatient,
	#flow-inpatient:checked ~ .internal-flow-stage .internal-flow-panel.inpatient {
		display: block;
	}

	.internal-flow-entry,
	.internal-process-line li {
		min-height: 0;
	}

	.internal-process-line {
		grid-template-columns: 1fr;
	}

	.internal-route-diagram {
		display: grid;
		gap: 10px;
		aspect-ratio: auto;
		padding: 16px;
	}

	.internal-route-lines {
		display: none;
	}

	.route-node {
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		min-height: 0;
	}

	.internal-hub-diagram {
		grid-template-columns: 1fr;
		grid-template-areas:
			"input"
			"hub"
			"output";
		min-height: 0;
		gap: 14px;
		padding: 18px;
	}

	.internal-flow-panel {
		min-height: 0;
	}

	.flow-input,
	.flow-output {
		min-height: 0;
	}

	.internal-hub-diagram::before,
	.internal-hub-diagram::after {
		display: none;
	}

	.hub-flow-center::before,
	.hub-flow-center::after {
		display: none;
	}

	.hub-flow-center {
		min-height: 260px;
	}

	.hub-core {
		width: min(100%, 230px);
	}

	.hub-output-grid {
		grid-template-columns: 1fr;
	}

	.hub-process-main,
	.hub-process-support {
		grid-template-columns: 1fr;
	}

	.hub-process-main .flow-step:not(.last)::before,
	.hub-process-main .flow-step:not(.last)::after {
		display: none;
	}

	.internal-process-line li:not(:last-child)::before,
	.internal-process-line li:not(:last-child)::after,
	.phoenix-module-flow article::before,
	.phoenix-module-flow article::after {
		display: none !important;
	}

	.phoenix-screen-preview > div {
		grid-template-columns: 1fr;
	}

	.phoenix-feature-board {
		margin-top: 34px;
		padding: 22px;
	}

	.phoenix-feature-board.module-hub {
		margin-top: 34px;
		padding: 0;
	}

	.phoenix-module-map {
		grid-template-columns: 1fr;
		grid-template-areas:
			"center"
			"admin"
			"care"
			"support"
			"claim";
		gap: 16px;
	}

	.phoenix-module-map::before,
	.phoenix-module-map::after,
	.phoenix-module-connectors,
	.phoenix-module-center::before {
		display: none;
	}

	.phoenix-module-card::before,
	.phoenix-module-card::after {
		display: none;
	}

	.phoenix-module-center {
		min-height: 118px;
		padding: 14px 18px;
	}

	.phoenix-module-center img {
		width: min(100%, 170px);
	}

	.phoenix-module-card {
		min-height: 0;
		padding: 22px;
		border-radius: 14px;
	}

	.module-card-head {
		gap: 14px;
		margin-bottom: 14px;
	}

	.module-card-head .feature-icon {
		width: 54px;
		height: 54px;
		border-radius: 0;
		background: transparent;
	}

	.module-card-head .feature-icon::before {
		width: 48px;
		height: 48px;
	}

	.phoenix-module-card h3 {
		font-size: 23px;
	}

	.phoenix-module-card p {
		font-size: 14px;
	}

	.phoenix-module-card li {
		font-size: 12px;
	}

	.phoenix-feature-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.phoenix-feature-card {
		min-height: 0;
		padding: 24px;
	}

	.feature-card-head {
		gap: 16px;
		min-height: 62px;
		margin-bottom: 22px;
	}

	.feature-icon {
		width: 62px;
		height: 62px;
	}

	.feature-icon::before {
		width: 31px;
		height: 31px;
	}

	.phoenix-feature-card h3 {
		font-size: 24px;
	}

	.architecture-brand,
	.architecture-rail,
	.architecture-flow {
		grid-template-columns: 1fr;
	}

	.architecture-brand {
		gap: 22px;
		text-align: center;
	}

	.architecture-brand img {
		width: 230px;
		margin: 0 auto;
	}

	.architecture-brand p {
		padding-left: 0;
		font-size: 17px;
	}

	.architecture-brand p::before,
	.architecture-rail::before,
	.architecture-rail article::after,
	.architecture-flow span::before,
	.architecture-flow span::after {
		display: none !important;
	}

	.architecture-rail {
		gap: 24px;
		margin-top: 40px;
	}

	.architecture-rail article {
		padding: 0 0 0 42px;
	}

	.architecture-rail article::before {
		left: 0;
		top: 5px;
		width: 12px;
		height: 12px;
	}

	.architecture-flow {
		gap: 12px;
	}

	.architecture-flow span {
		justify-content: flex-start;
	}

	.solution-diagram-section {
		padding-top: 86px;
		padding-bottom: 92px;
	}

	.eirs-intro {
		padding-top: 54px;
	}

	.eirs-intro-card {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 26px 24px;
	}

	.eirs-intro-card div {
		min-height: 0;
	}

	.eirs-intro-card p {
		font-size: 16px;
		line-height: 1.75;
	}

	.eirs-intro + .solution-diagram-section {
		padding-top: 74px;
	}

	.eirs-check-section {
		padding: 72px 0 78px;
	}

	.eirs-check-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.eirs-check-panel {
		padding: 28px 24px;
		border-radius: 14px;
	}

	.eirs-check-panel h3 {
		margin-bottom: 22px;
		font-size: 26px;
	}

	.eirs-check-panel li {
		font-size: 16px;
	}

	.eirs-check-panel dl div {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 18px 0;
	}

	.eirs-check-panel dt {
		font-size: 18px;
	}

	.eirs-check-panel dd {
		font-size: 15px;
	}

	.eirs-check-diagram {
		grid-template-columns: 1fr;
		border-radius: 14px;
	}

	.eirs-check-diagram section {
		padding: 28px 24px;
		border-top: 1px solid #e5edf5;
		border-left: 0;
	}

	.eirs-check-diagram section:first-child {
		border-top: 0;
	}

	.eirs-check-diagram section:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: -13px;
		left: 50%;
		transform: translateX(-50%) rotate(135deg);
	}

	.eirs-check-diagram h3 {
		font-size: 24px;
	}

	.eirs-check-diagram li {
		font-size: 15px;
	}

	.eirs-rule-engine {
		grid-template-columns: 1fr;
		gap: 16px;
		margin: -12px 0 24px;
	}

	.eirs-rule-engine::before {
		left: 50%;
		right: auto;
		top: 12%;
		bottom: 12%;
		width: 2px;
		height: auto;
		transform: translateX(-50%);
	}

	.eirs-rule-engine > div {
		padding: 24px 20px;
		border-radius: 14px;
	}

	.eirs-rule-engine strong {
		font-size: 21px;
	}

	.eirs-workflow-section {
		padding: 72px 0 78px;
	}

	.eirs-workflow-illustration {
		gap: 22px;
		margin-top: 38px;
	}

	.workflow-image-card {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 24px;
		border-radius: 18px;
	}

	.workflow-image-card.is-step-flow {
		grid-template-columns: 1fr;
	}

	.workflow-image-copy h3 {
		font-size: 28px;
	}

	.workflow-image-frame {
		padding: 8px;
		border-radius: 14px;
		overflow-x: auto;
	}

	.workflow-image-frame img {
		min-width: 760px;
		border-radius: 10px;
	}

	.workflow-support-visual {
		min-height: 220px;
	}

	.workflow-image-frame.workflow-support-visual img {
		min-width: 0;
	}

	.workflow-step-panel {
		padding: 18px;
		border-radius: 16px;
	}

	.workflow-data-panel {
		padding: 18px;
		border-radius: 16px;
	}

	.workflow-data-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.workflow-data-grid article {
		min-height: 0;
		padding: 18px;
		border-radius: 14px;
	}

	.workflow-step-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.workflow-step-list.is-return {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.workflow-step-list li {
		min-height: 96px;
		border-radius: 14px;
	}

	.workflow-step-list li:not(:last-child)::after {
		display: none;
	}

	.eirs-workflow-card {
		padding: 28px 24px;
		border-radius: 14px;
	}

	.eirs-workflow-card-head {
		display: block;
		margin-bottom: 24px;
	}

	.eirs-workflow-card-head h3 {
		margin-top: 12px;
		font-size: 26px;
	}

	.external-flow-map {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.external-flow-map.is-hub-flow {
		grid-template-columns: 1fr;
		grid-template-areas: none;
	}

	.flow-hospital,
	.flow-eirs,
	.flow-hira,
	.exchange-left,
	.exchange-right,
	.flow-rule-node {
		grid-area: auto;
	}

	.flow-party {
		min-height: 0;
		padding: 24px 20px;
	}

	.flow-party strong {
		font-size: 23px;
	}

	.flow-bridge {
		min-height: 46px;
	}

	.flow-bridge::before,
	.flow-bridge::after {
		width: 2px;
		height: 18px;
		background: linear-gradient(180deg, var(--blue), rgba(0, 101, 224, .22));
	}

	.flow-bridge::after {
		background: linear-gradient(180deg, rgba(235, 75, 75, .22), #eb4b4b);
	}

	.flow-exchange {
		min-height: 56px;
		gap: 8px;
	}

	.flow-exchange::before,
	.flow-exchange::after {
		width: 2px;
		height: 18px;
		background: linear-gradient(180deg, rgba(0, 101, 224, .22), var(--blue));
	}

	.flow-exchange::after {
		background: linear-gradient(180deg, rgba(235, 75, 75, .22), #eb4b4b);
	}

	.flow-rule-node {
		min-width: 0;
		width: 100%;
		border-radius: 14px;
	}

	.flow-rule-node::before {
		display: none;
	}

	.internal-flow-list {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.internal-flow-list.is-loop-flow {
		grid-template-columns: 1fr;
		grid-template-areas: none;
	}

	.internal-flow-list.is-loop-flow::before,
	.internal-flow-list.is-loop-flow::after {
		display: none;
	}

	.internal-flow-list li {
		min-height: 0;
		align-items: center;
		justify-content: flex-start;
		flex-direction: row;
		padding: 16px;
		text-align: left;
	}

	.internal-flow-list li:not(:nth-child(6)):not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: -13px;
		left: 32px;
		width: 2px;
		height: 13px;
		transform: none;
	}

	.internal-flow-list.is-visual-flow li {
		align-items: center;
		gap: 14px;
		padding: 14px 0;
	}

	.internal-loop-diagram {
		min-height: 0;
	}

	.internal-loop-lines {
		display: none;
	}

	.internal-flow-list.is-visual-flow {
		position: static;
		display: grid;
		gap: 12px;
		padding: 0;
	}

	.internal-flow-list.is-visual-flow li {
		position: relative;
		min-height: 0;
		align-items: center;
		flex-direction: row;
		justify-content: flex-start;
		padding: 14px 0;
		transform: none;
		text-align: left;
	}

	.internal-flow-list.is-visual-flow strong {
		font-size: 16px;
	}

	.internal-cycle-diagram {
		min-height: 0;
	}

	.internal-route-diagram {
		display: block;
		padding: 8px 0 0;
		background: transparent;
		overflow-x: auto;
	}

	.internal-cycle-svg {
		min-width: 760px;
	}

	.route-forward,
	.route-return {
		grid-template-columns: 1fr;
		padding: 0;
		direction: ltr;
	}

	.route-row {
		gap: 12px;
	}

	.route-row + .route-row {
		margin-top: 12px;
	}

	.route-row li {
		min-height: 0;
		align-items: center;
		justify-content: flex-start;
		flex-direction: row;
		padding: 12px 0;
		text-align: left;
	}

	.route-row li::before,
	.route-row li::after,
	.route-turn,
	.route-center-label {
		display: none;
	}

	.cycle-track,
	.cycle-center {
		display: none;
	}

	.cycle-node-list {
		position: static;
		display: grid;
		gap: 12px;
	}

	.cycle-node {
		position: relative;
		width: auto;
		min-height: 0;
		align-items: center;
		justify-content: flex-start;
		flex-direction: row;
		padding: 14px 0;
		transform: none;
		text-align: left;
	}

	.process-icon {
		width: 56px;
		height: 56px;
		border-radius: 16px;
	}

	.eirs-feature-section {
		padding: 72px 0 78px;
	}

	.eirs-feature-layout {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.eirs-feature-nav {
		gap: 12px;
	}

	.eirs-feature-nav article {
		padding: 24px 20px;
		border-radius: 14px;
	}

	.eirs-feature-nav h3 {
		font-size: 23px;
	}

	.eirs-feature-group {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 28px 24px;
		border-radius: 14px;
	}

	.eirs-feature-title {
		gap: 14px;
	}

	.eirs-feature-title h3 {
		font-size: 25px;
	}

	.eirs-feature-items,
	.eirs-feature-group:nth-child(2) .eirs-feature-items,
	.eirs-feature-group:nth-child(3) .eirs-feature-items {
		grid-template-columns: 1fr;
		border-left: 0;
	}

	.eirs-feature-items div {
		padding: 18px 0;
		border-top: 1px solid #e5edf5;
		border-left: 0;
	}

	.eirs-feature-items div:first-child {
		padding-top: 0;
		border-top: 0;
	}

	.eirs-feature-items div:last-child {
		padding-bottom: 0;
	}

	.eirs-feature-items strong {
		font-size: 19px;
	}

	.eirs-feature-items p {
		font-size: 15px;
	}

	.eirs-analysis-section {
		padding: 72px 0 48px;
	}

	.effect-compare,
	.effect-metrics {
		grid-template-columns: 1fr;
	}

	.effect-compare article,
	.effect-metrics article {
		padding: 26px 24px;
		border-radius: 14px;
	}

	.effect-metrics {
		display: grid;
		border: 0;
		box-shadow: none;
		gap: 14px;
		background: transparent;
	}

	.effect-metrics article,
	.effect-metrics article:first-child,
	.effect-metrics article:nth-child(3),
	.effect-metrics article:nth-child(4) {
		border: 1px solid #dfe8f2;
		background: #fff;
	}

	.effect-metrics h3 {
		font-size: 22px;
	}

	.eirs-analysis-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.eirs-analysis-grid article {
		padding: 28px 24px;
		border-radius: 14px;
	}

	.eirs-analysis-grid h3 {
		font-size: 24px;
	}

	.eirs-analysis-grid p {
		font-size: 16px;
	}

	.solution-reasons {
		padding: 40px 0 72px;
	}

	.solution-outcome {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 46px 24px 44px;
		border-radius: 14px;
		text-align: center;
	}

	.solution-outcome h2 {
		font-size: 32px;
	}

	.solution-outcome-copy > p:not(.solution-outcome-label) {
		margin-right: auto;
		margin-left: auto;
		font-size: 16px;
	}

	.solution-outcome-bottom {
		align-items: center;
		flex-direction: column;
		gap: 22px;
		margin-top: 30px;
		padding-top: 24px;
	}

	.solution-outcome-tags {
		justify-content: center;
	}

	.solution-outcome-contact {
		align-items: center;
		flex-direction: column;
		gap: 12px;
		min-width: 0;
		padding: 24px;
	}

	.solution-outcome-contact a {
		font-size: 24px;
	}

	.solution-trust {
		padding: 72px 0 78px;
	}

	.solution-trust-flow {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 0 0 0 22px;
	}

	.solution-trust-flow::before {
		left: 7px;
		right: auto;
		top: 10px;
		bottom: 10px;
		width: 2px;
		height: auto;
		background: linear-gradient(180deg, rgba(11,104,216,.18), rgba(11,104,216,.72), rgba(11,104,216,.18));
	}

	.solution-trust-flow article {
		padding: 0;
		text-align: left;
	}

	.solution-trust-flow span {
		top: 0;
		left: -25px;
		width: 34px;
		height: 34px;
		border-width: 6px;
		font-size: 11px;
		transform: none;
	}

	.solution-trust-flow .is-emphasis strong {
		font-size: 28px;
	}

	.solution-section-head {
		margin-bottom: 34px;
	}

	.solution-section-head h2,
	.solution-cta-inner h2 {
		font-size: 32px;
	}

	.solution-section-head p,
	.solution-cta-inner p {
		font-size: 16px;
	}

	.solution-summary-grid,
	.solution-effect-grid,
	.solution-feature-grid,
	.solution-flow-list,
	.solution-reason-grid,
	.eirs-orbit {
		grid-template-columns: 1fr;
	}

	.solution-summary-grid article,
	.solution-effect-grid article,
	.solution-feature-grid article,
	.solution-reason-grid article {
		min-height: 0;
		padding: 24px;
	}

	.solution-flow-list li + li {
		border-left: 0;
	}

	.solution-flow-list li {
		min-height: 0;
		padding: 24px;
	}

	.solution-screen-list article,
	.solution-screen-list article:nth-child(even) div,
	.solution-screen-list article:nth-child(even) img,
	.solution-screens-featured article,
	.solution-screens-featured article:nth-child(even) div,
	.solution-screens-featured article:nth-child(even) img {
		order: initial;
	}

	.solution-screen-list article,
	.solution-screens-featured article {
		gap: 24px;
		padding: 24px;
	}

	.solution-screen-list h3,
	.solution-screens-featured h3 {
		font-size: 24px;
	}

	.solution-cta-inner {
		align-items: flex-start;
		flex-direction: column;
		padding: 30px 24px;
	}

	.solution-cta-phone {
		min-height: 48px;
		font-size: 20px;
	}

	.intro-head h2 {
		font-size: 32px;
	}

	.intro-copy {
		font-size: 16px;
		line-height: 1.7;
	}

	.intro-card-grid {
		margin-top: 36px;
		gap: 16px;
	}

	.intro-card {
		min-height: 300px;
		padding: 30px 28px;
	}

	.intro-card p {
		left: 28px;
		right: 28px;
		bottom: 76px;
		font-size: 15px;
		opacity: 1;
		transform: none;
	}

	.intro-card span {
		left: auto;
		right: 28px;
		bottom: 34px;
		opacity: 1;
		transform: none;
	}

	.solution-tabs {
		justify-content: flex-start;
		overflow-x: auto;
		padding-bottom: 4px;
	}

	.solution-panel {
		flex-basis: 100%;
		min-height: 340px;
	}

	.solution-panel-content {
		left: 28px;
		right: 72px;
		bottom: 28px;
	}

	.solution-panel:after {
		right: 28px;
		bottom: 30px;
		font-size: 26px;
	}

	.solution-panel-content strong {
		font-size: 32px;
	}

	.solution-panel-content span {
		font-size: 38px;
		bottom: 244px;
	}

	.feature-card {
		min-height: 220px;
	}

	.solution-list a {
		min-height: 320px;
	}

	.news-head {
		align-items: center;
		flex-direction: column;
	}

	.quick-card {
		min-height: 200px;
		padding: 34px 24px 32px;
	}

	.quick-card:after {
		left: 50%;
		top: 34px;
	}

	.news-column li a {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 18px 0;
	}

	.news-column li span {
		white-space: normal;
	}

	.news-column li time {
		text-align: left;
	}

	.about-hero,
	.about-hero-inner {
		min-height: 520px;
	}

	.about-hero-inner {
		padding: 100px 0 175px;
	}

	.about-hero h1 {
		font-size: 38px;
	}

	.about-hero p:last-child,
	.about-lead,
	.about-message {
		font-size: 16px;
		line-height: 1.75;
	}

	.about-greeting {
		font-size: 18px;
	}

	.about-signature img {
		width: 70px;
	}

	.about-statement,
	.history-section,
	.business-section,
	.location-section,
	.about-values,
	.about-work,
	.about-contact {
		padding: 76px 0;
	}

	.about-statement,
	.history-section,
	.business-section,
	.location-section {
		margin-top: -58px;
		padding-top: 108px;
	}

	.about-statement h2,
	.history-intro h2,
	.business-intro h2,
	.location-intro h2,
	.about-values-head h2,
	.about-work-content h2,
	.about-contact h2 {
		font-size: 34px;
		white-space: normal;
	}

	.business-intro p {
		font-size: 22px;
	}

	.business-area-list {
		margin-top: 36px;
	}

	.business-area-item {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 30px 0;
	}

	.business-area-item > span {
		font-size: 20px;
	}

	.business-area-item h3 {
		font-size: 24px;
	}

	.business-area-item p {
		font-size: 15px;
	}

	.location-intro,
	.history-intro {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.location-intro h2 + p {
		font-size: 22px;
	}

	.location-info dl div {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.location-map-wrap {
		margin-top: 38px;
		padding: 0;
	}

	.location-map-image {
		height: 360px;
	}

	.location-contact-grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 22px;
	}

	.location-contact-grid article {
		min-height: 0;
		padding: 24px;
	}

	.location-contact-grid span {
		font-size: 19px;
	}

	.location-contact-grid p {
		margin-top: 16px;
		font-size: 15px;
	}

	.location-route-summary {
		margin-top: 28px;
	}

	.location-route-summary h3 {
		font-size: 24px;
	}

	.route-summary-item {
		align-items: flex-start;
		display: flex;
		flex-direction: column;
		gap: 12px;
		min-height: 0;
		padding: 22px;
	}

	.route-summary-item p {
		font-size: 15px;
	}

	.route-bus-list {
		width: 100%;
		flex-direction: column;
		gap: 8px;
	}

	.route-bus-list li {
		grid-template-columns: auto minmax(0, 1fr);
		font-size: 15px;
		white-space: normal;
	}

	.location-map-card {
		min-height: 260px;
		padding: 34px 28px;
	}

	.location-map-card strong {
		font-size: 24px;
	}

	.location-map-card p {
		font-size: 14px;
	}

	.location-guide {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.history-intro h2 + p {
		font-size: 22px;
	}

	.history-lead {
		font-size: 16px;
	}

	.history-filter {
		margin-top: 36px;
		gap: 22px;
		overflow-x: auto;
		flex-wrap: nowrap;
	}

	.history-filter a {
		min-width: auto;
		height: 36px;
		padding: 0 2px;
		font-size: 13px;
		white-space: nowrap;
	}

	.history-timeline {
		margin-top: 28px;
		padding-left: 28px;
	}

	.history-timeline:before {
		left: 6px;
	}

	.history-timeline:after {
		left: 6px;
		transform: translateX(-50%);
	}

	.history-year {
		grid-template-columns: 1fr;
		gap: 14px;
		min-height: 0;
		padding: 0 0 34px;
	}

	.history-year:before {
		left: 6px;
		top: 12px;
		width: 10px;
		height: 10px;
	}

	.history-year.is-active:before {
		width: 12px;
		height: 12px;
	}

	.history-year h3 {
		grid-column: 1 !important;
		grid-row: auto !important;
		font-size: 40px;
		text-align: left !important;
	}

	.history-year ul {
		grid-column: 1 !important;
		grid-row: auto !important;
		text-align: left !important;
	}

	.history-year li {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 12px;
		font-size: 15px;
	}

	.history-year:nth-child(even) li {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.history-year:nth-child(even) li span {
		grid-column: 1;
		text-align: left;
	}

	.about-title-en {
		max-width: 280px;
		font-size: 14px;
		white-space: normal;
	}

	.about-work-content li,
	.about-contact dl div {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.about-value-card {
		min-height: 0;
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}
}
