:root {
	--site-bg: #f6f8f8;
	--site-surface: #ffffff;
	--site-surface-soft: #eef4f4;
	--site-text: #17242d;
	--site-muted: #5d6f79;
	--site-line: #dbe5e5;
	--site-primary: #166a70;
	--site-primary-dark: #104e54;
	--site-accent: #d94b3d;
	--site-shadow: 0 18px 45px rgba(20, 39, 48, 0.1);
}

html {
	background: var(--site-bg);
}

body {
	background:
		linear-gradient(180deg, rgba(22, 106, 112, 0.045), transparent 340px),
		var(--site-bg) !important;
	color: var(--site-text) !important;
	font-family: "Microsoft JhengHei", "Noto Sans TC", "Microsoft YaHei", sans-serif !important;
	line-height: 1.75;
}

a,
a:visited {
	color: var(--site-primary);
}

a:hover,
a:focus {
	color: var(--site-accent);
	text-decoration: none;
}

p,
li,
dd,
td,
th {
	color: var(--site-muted);
}

h1,
h2,
h3,
h4,
h5,
h6,
.am-title,
.section-title,
.part-title,
.news-title,
.case-title {
	color: var(--site-text) !important;
	letter-spacing: 0;
}

.header {
	background: rgba(255, 255, 255, 0.94) !important;
	border-bottom: 1px solid rgba(219, 229, 229, 0.9);
	box-shadow: 0 10px 32px rgba(20, 39, 48, 0.08) !important;
	backdrop-filter: blur(16px);
}

.am-topbar-nav > li > a {
	color: #21333c !important;
	font-weight: 700;
}

.am-topbar-nav > li > a:hover,
.am-topbar-nav > li.am-active > a,
.hw-menu-active a {
	color: var(--site-primary) !important;
}

.hw-menu-active {
	border-bottom-color: var(--site-primary) !important;
}

.am-container-1,
.am-container {
	max-width: 1120px;
}

.am-title {
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 800;
	line-height: 1.25;
	margin-bottom: 12px;
}

.am-title span,
.section-subtitle,
.am-title2 {
	color: var(--site-muted) !important;
}

.am-btn,
button,
input[type="submit"],
.am-btn-primary {
	border-radius: 6px !important;
	box-shadow: none;
	letter-spacing: 0;
}

.am-btn-primary,
.am-btn-secondary,
.am-btn-warning,
input[type="submit"] {
	background: var(--site-primary) !important;
	border-color: var(--site-primary) !important;
	color: #fff !important;
}

.am-btn-primary:hover,
.am-btn-secondary:hover,
.am-btn-warning:hover,
input[type="submit"]:hover {
	background: var(--site-primary-dark) !important;
	border-color: var(--site-primary-dark) !important;
}

input,
select,
textarea {
	background: #fbfdfd;
	border-color: var(--site-line);
	color: var(--site-text);
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--site-primary) !important;
	box-shadow: 0 0 0 3px rgba(22, 106, 112, 0.15) !important;
	outline: none;
}

.gray-li,
.am-g.gray-li,
.solutions,
.customer-case,
.news,
.part-all,
.case,
.service,
.about,
.recruit {
	background-color: transparent !important;
}

.am-thumbnail,
.am-panel,
.am-list > li,
.case-card,
.news-card,
.service-card,
.solutions-card,
.product-card,
.promo-card,
.admin-panel {
	background: var(--site-surface) !important;
	border: 1px solid rgba(219, 229, 229, 0.92) !important;
	border-radius: 8px !important;
	box-shadow: 0 14px 34px rgba(20, 39, 48, 0.08) !important;
}

.am-thumbnail:hover,
.case-card:hover,
.news-card:hover,
.service-card:hover,
.solutions-card:hover,
.product-card:hover,
.promo-card:hover {
	border-color: rgba(22, 106, 112, 0.24) !important;
	box-shadow: var(--site-shadow) !important;
	transform: translateY(-2px);
}

.am-thumbnail-caption p,
.news-content,
.case-content,
.solutions-content,
.service-content,
.product-content {
	color: var(--site-muted) !important;
}

.am-divider,
hr {
	border-color: var(--site-line) !important;
}

.am-breadcrumb,
.am-breadcrumb a,
.am-breadcrumb li {
	color: #637781 !important;
}

.promo-wall,
.promo-archive-page {
	background: var(--site-bg) !important;
	color: var(--site-text) !important;
}

.site-footer {
	background:
		linear-gradient(135deg, rgba(24, 167, 166, 0.16), transparent 32%),
		linear-gradient(315deg, rgba(217, 75, 61, 0.18), transparent 38%),
		#14232b !important;
}

@media (max-width: 760px) {
	body {
		line-height: 1.7;
	}

	.am-title {
		font-size: 28px;
	}
}
