﻿/* --- [Base] --- */

:root {
	--color-bg: #060401;
	--color-surface: #1c1c1c;
	--color-surface-overlay: rgba(28, 28, 28, .9);
	--color-text-light: #FFFAF0;
	--color-white: #fff;
	--color-black: #000;
	--color-accent: #FF7531;
	--color-white-00: rgba(255, 255, 255, 0);
	--color-white-05: rgba(255, 255, 255, .05);
	--color-white-08: rgba(255, 255, 255, .08);
	--color-white-10: rgba(255, 255, 255, .1);
	--color-white-34: rgba(255, 255, 255, .34);
	--color-white-70: rgba(255, 255, 255, .7);
	--color-black-10: rgba(0, 0, 0, .1);
	--color-black-12: rgba(10, 10, 10, .12);
	--border-width: 1px;
	--navbar-height: 68px;
	--navbar-height-modern: 72px;
	--spacing-sm: 18px;
	--spacing-md: 20px;
	--spacing-lg: 40px;
	--spacing-xl: 48px;
	--fs-body: 14px;
	--fs-small: 13px;
	--fs-nav: 14px;
	--fs-h1: 48px;
	--nav-gap: clamp(24px, 3vw, 56px);
	--bg-color: #FFFAEF;
	--divider-style: rgba(10, 10, 10, .11);
	--divider-width: 33.333%;
	--img-radius: 20px;
	--font-size-hero: clamp(46px, 7vw, 112px);
	--font-size-nav: var(--fs-nav);
	--font-size-body: clamp(18px, 1.5vw, 27px);
	--font-size-section-title: clamp(25px, 5vw, 64px);
	--font-size-footer: var(--fs-small);
	--font-en-medium: "Helvetica Neue 45 Medium", "HelveticaNeue-Medium", "Helvetica Neue", sans-serif;
	--font-en-light: "Helvetica Neue 35 Thin", "HelveticaNeue-Thin", "Helvetica Neue", sans-serif;
	--font-en-extra-light: "Helvetica Neue 25 UltraLight", "HelveticaNeue-UltraLight", "Helvetica Neue", sans-serif;
	--font-en: var(--font-en-light);
	--font-zh: 'SLight', 'SRegular', 'Source Han Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
	--font-current: var(--font-zh);
	--font-weight-title: 700;
	--font-weight-body: 400;
	--font-weight-button: 500;
	--text-color: #0A0A0A;
	--muted-color: rgba(10, 10, 10, .56);
	--accent-color: #EC7237;
	--surface-blur: rgba(249, 249, 247, .68);
	--hero-offset-top: 0px;
	--hero-media-height: calc(100vh - var(--hero-offset-top));
	--home-hero-height: var(--hero-media-height);
	--home-hero-image-position-x: center;
	--home-hero-image-position-y: center;
	--home-intro-padding-y: 86px;
}

/* 鍏ㄥ眬鏍峰紡 */
*,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
a {
	margin: 0;
	padding: 0;
}

/* 鍒濆鍖?*/
body,
span,
ul,
li,
ol,
h1,
h2,
h3,
h4,
h5,
h6,
input,
textarea,
select,
p,
dl,
dt,
dd,
a,
img,
button,
form,
table,
th,
tr,
td,
tbody,
article,
span,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
	margin: 0;
	padding: 0;
	border: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-decoration: none;
}

ul,
li {
	list-style-type: none;
}

/* 鍏ㄥ眬娓呴櫎鎵€鏈?input 杈规 */
input {
	outline: none !important;
	box-shadow: none !important;
	background: transparent;
	/* 鍙€夛細閫忔槑鑳屾櫙 */
}

html,
body {
	height: 100%;
	scroll-behavior: smooth;
	font-family: 'PBold', 'PLight', 'PMedium', 'PExtraLight', 'PRegular', 'PSemiBold', 'SLight', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: var(--fs-body);
}

body {
	background-color: var(--color-bg);
	background: var(--bg-color);
	color: var(--text-color);
	font-family: var(--font-current);
	font-weight: var(--font-weight-body);
}

@font-face {
	font-family: 'PThin';
	src: url("../font/Poppins-Thin.ttf");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

@font-face {
	font-family: 'PExtraLight';
	src: local("Helvetica Neue 25 UltraLight"), local("HelveticaNeue-UltraLight");
	font-style: normal;
	font-weight: 200;
	font-display: swap;
}

@font-face {
	font-family: 'PLight';
	src: local("Helvetica Neue 35 Thin"), local("HelveticaNeue-Thin");
	font-style: normal;
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: 'PRegular';
	src: url("../font/Poppins-Regular.ttf");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

@font-face {
	font-family: 'PMedium';
	src: url("../font/Poppins-Medium.ttf");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

@font-face {
	font-family: 'PSemiBold';
	src: url("../font/Poppins-SemiBold.ttf");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

@font-face {
	font-family: 'PBold';
	src: url("../font/Poppins-Bold.ttf");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SLight';
	src: url("../font/SourceHanSansSC-Light.otf");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SExtraLight';
	src: url("../font/SourceHanSansSC-ExtraLight.otf");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SRegular';
	src: url("../font/SourceHanSansCN-Regular.otf");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

.PThin {
	font-family: 'PThin';
}

.PExtraLight {
	font-family: var(--font-en-extra-light);
}

.PLight {
	font-family: var(--font-en-light);
}

.PRegular {
	font-family: 'PRegular';
}

.PMedium {
	font-family: 'PMedium';
}

.PSemiBold {
	font-family: 'PSemiBold';
}

.PBold {
	font-family: 'PBold';
}

.PoppinsLight {
	font-family: var(--font-en-light);
}

.SLight {
	font-family: 'SLight';
}

.SourceHanSansSCLight {
	font-family: 'SLight';
}

.SExtraLight {
	font-family: 'SExtraLight';
}

.SRegular {
	font-family: 'SRegular';
}

body.lang-en {
	--font-current: var(--font-en);
	--font-weight-title: 400;
}

body.lang-en h1,
body.lang-en h2,
body.lang-en h3,
body.lang-en h4,
body.lang-en h5,
body.lang-en h6,
body.lang-en .title,
body.lang-en [class*="title"] {
	font-family: var(--font-en-extra-light);
	font-weight: 400;
}

body.lang-zh {
	--font-current: var(--font-zh);
}

/* --- [Layout] --- */

.container {
	width: 83%;
}

/* 鍥哄畾椤堕儴瀵艰埅鏍稿績鏍峰紡 */
.navbar-fixed {
	height: var(--navbar-height);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	/* background-color: white; */
	/* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
	transition: all 0.3s ease;
}

.navbar-collapse {
	flex-grow: initial;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	justify-self: center;
}

.wapContact {
	display: none !important;
}

/* DEPRECATED: unreferenced */
.navbar-fixed .navbarContact-box {
	width: auto;
	text-align: right;
	font-family: 'SLight';
}

.language-toggle {
	transition: border-color .24s ease, background-color .24s ease, color .24s ease, transform .24s ease;
	display: flex;
	align-items: center;
	cursor: pointer;
	justify-self: end;
	min-width: 0;
	height: var(--navbar-height-modern);
	margin-left: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: currentColor;
	font-family: var(--font-current);
	font-size: var(--font-size-nav) !important;
	font-weight: var(--font-weight-body);
	line-height: var(--navbar-height-modern);
	letter-spacing: 0;
	text-align: right;
	white-space: nowrap;
}

.language-toggle:hover {
	border-color: transparent;
	background: transparent;
	color: currentColor;
	transform: none;
}

.navbar-fixed .navbarContact {
	display: inline-flex;
	align-items: center;
	height: auto;
	border-radius: 0;
	width: auto;
	text-align: right;
	background-color: transparent;
	color: inherit;
	line-height: 1.2;
	text-decoration: none;
	position: relative;
	padding: 0;
	transition: color .24s ease;
}

.navbar-fixed .navbarContact::before {
	content: none;
}

.navbar-fixed .navbarContact:hover {
	color: #ff7a33;
	transform: none;
}

.navbar {
	height: var(--navbar-height);
	padding: 0 0 0 !important;
	background-image: linear-gradient(to right, rgb(0, 0, 0, .6), rgb(0, 0, 0, .7));
	align-items: center;
	/* background-color: var(--color-bg); */
}

.navbar .container {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	width: 100%;
	max-width: none;
	height: var(--navbar-height-modern);
	padding: 0 14px;
}

/* .navbar:hover {
	background-image: linear-gradient(to right, rgb(0, 0, 0, .5), rgb(0, 0, 0, .4));
} */
.navbar-brand {
	color: var(--color-white);
	padding: 0;
	margin: 0;
	position: relative;
	z-index: 3;
	width: auto;
	display: inline-flex;
	align-items: center;
}

.navbar-brand .logo {
	height: 34px;
}

.navbar-nav {
	position: relative;
	color: var(--color-white);
	background-image: none;
	background-color: transparent;
	gap: var(--nav-gap);
	align-items: center;
	justify-content: center;
	height: var(--navbar-height-modern);
	background: transparent;
	border-radius: 0;
}

.navbar-nav::before {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	border-radius: 22px;
	border: 1px solid transparent;
	background: linear-gradient(120deg, var(--color-white-70), var(--color-white-00)) border-box, transparent content-box;
	mask: linear-gradient(var(--color-white) 0 0) padding-box, linear-gradient(var(--color-white) 0 0);
	mask-composite: exclude;
	z-index: 1;
	content: '';
}

.navbar-nav a:focus {
	color: var(--color-white);
}

/* .navbar:hover .navbar-nav {
	background-image: linear-gradient(to right, var(--color-white-05), var(--color-white-10));
} */
.navbar-nav li {
	display: flex;
	align-items: center;
	position: relative;
	border-radius: 0;
	width: auto;
	height: var(--navbar-height-modern);
}

.navbar-nav li.on {
	padding: 0 0;
	margin: 0;
}

.navbar-nav li span {
	display: block;
	position: relative;
	z-index: 2;
	padding: 4px 0;
}

.navbar-nav li::after {
	width: 100%;
	height: 100%;
	border-radius: 22px;
	display: block;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	transform: scale(0, 1);
	transition: all .35s;
	-webkit-transform: scale(0, 1);
	-moz-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	-o-transform: scale(0, 1);
	-webkit-transition: all .35s;
	-moz-transition: all .35s;
	-ms-transition: all .35s;
	-o-transition: all .35s;
}

.navbar-nav li.on:hover::after,
.navbar-nav li.on::after {
	background-color: var(--color-accent);
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
	-moz-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	-o-transform: scale(1, 1);
}

.navbar-nav li:hover::after {
	background-color: transparent;
	background-image: linear-gradient(to right, var(--color-white-05), var(--color-white-10));
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
	-moz-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	-o-transform: scale(1, 1);
}

.navbar-nav li::before {
	width: 100%;
	height: 100%;
	border-radius: 22px;
	display: block;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	transform: scale(0, 1);
	transition: all .35s;
	-webkit-transform: scale(0, 1);
	-moz-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	-o-transform: scale(0, 1);
	-webkit-transition: all .35s;
	-moz-transition: all .35s;
	-ms-transition: all .35s;
	-o-transition: all .35s;
}

.navbar-nav li.on::before {
	border: 1px solid transparent;
	background: linear-gradient(to right, var(--color-white-70), var(--color-white-00)) border-box, transparent content-box;
	mask: linear-gradient(var(--color-white) 0 0) padding-box, linear-gradient(var(--color-white) 0 0);
	mask-composite: exclude;
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
	-moz-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	-o-transform: scale(1, 1);
}

.navbar-nav li.on:hover::before,
.navbar-nav li:hover::before {
	border: 1px solid transparent;
	background: linear-gradient(to right, var(--color-white-70), var(--color-white-00)) border-box, transparent content-box;
	mask: linear-gradient(var(--color-white) 0 0) padding-box, linear-gradient(var(--color-white) 0 0);
	mask-composite: exclude;
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
	-moz-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	-o-transform: scale(1, 1);
}

.navbar-nav li:hover a {
	color: var(--color-white);
	/* text-decoration: underline; */
}

.navbar-nav li:nth-last-of-type(1) {
	display: flex;
}

.nav-link {
	color: var(--color-white);
	margin: 0 auto;
	font-family: 'SLight';
	padding: 0 !important;
	transition: color .24s ease;
}

/* Modern header/navigation refresh */
.navbar.navbar-fixed {
	transition: background-color .32s ease, border-color .32s ease, box-shadow .32s ease, backdrop-filter .32s ease, color .24s ease;
	height: var(--navbar-height-modern);
	background: transparent;
	background-image: none;
	border-bottom: 1px solid transparent;
	color: var(--color-white);
	box-shadow: none;
}

.navbar.navbar-fixed.is-scrolled.theme-dark,
.navbar.navbar-fixed.menu-open.theme-dark {
	background: rgba(6, 4, 1, .18);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom-color: var(--color-white-08);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .16);
}

.navbar.navbar-fixed.theme-light {
	color: var(--text-color);
}

.navbar.navbar-fixed.is-scrolled.theme-light,
.navbar.navbar-fixed.menu-open.theme-light {
	background: rgba(255, 250, 240, .54);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom-color: rgba(28, 28, 28, .08);
	box-shadow: 0 14px 34px rgba(28, 28, 28, .1);
}

.navbar.navbar-fixed.theme-dark .nav-link {
	color: var(--color-white);
}

.navbar.navbar-fixed.theme-light .nav-link {
	color: var(--color-surface);
}

.navbar-nav::before,
.navbar-nav li::before,
.navbar-nav li::after {
	display: none;
}

.navbar-nav li span::after {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -7px;
	height: 2px;
	background: #ff7a33;
	content: "";
	opacity: 0;
	transform: scaleX(.35);
	transform-origin: center;
	transition: opacity .24s ease, transform .24s ease;
}

.navbar-nav li:hover a,
.navbar-nav .nav-link:hover,
.navbar-nav li.on .nav-link {
	color: #ff7a33;
}

.navbar-nav li:hover span::after,
.navbar-nav li.on span::after {
	opacity: 1;
	transform: scaleX(1);
}

.navbar.navbar-fixed.theme-light .navbar-toggler {
	border-color: rgba(28, 28, 28, .2);
	background-color: rgba(255, 250, 240, .88);
}

.navbar.navbar-fixed.theme-light .language-toggle {
	border-color: rgba(28, 28, 28, .22);
	background: rgba(28, 28, 28, .04);
}

.lang-en .navbar-nav {
	gap: clamp(16px, 2vw, 34px);
}

/* DEPRECATED: unreferenced */
.lang-en .navbar-fixed .navbarContact-box {
	width: auto;
}

.lang-en .navbar-fixed .navbarContact {
	width: auto;
}

.navbar-toggler {
	border: 1px solid var(--color-white);
	background-color: var(--color-white);
}

.dropdown-menu .submenu {
	border-radius: 22px 22px 0 0;
	position: relative;
	background-image: linear-gradient(to right, var(--color-white-05), var(--color-white-00), var(--color-white-00));
	display: none;
}

.dropdown-menu .submenu::before {
	width: 100%;
	height: 100%;
	border-radius: 22px 22px 0 0;
	display: block;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	border: 1px solid transparent;
	background: linear-gradient(to bottom, var(--color-white-70), var(--color-white-00)) border-box, transparent content-box;
	mask: linear-gradient(var(--color-white) 0 0) padding-box, linear-gradient(var(--color-white) 0 0);
	mask-composite: exclude;
}

/* 搴曢儴鏍峰紡 */
footer {
	background-color: var(--color-text-light);
	color: var(--color-surface);
	position: relative;
	z-index: 2;
}

footer .title {
	padding-top: 60px;
	text-align: center;
}

footer .title h2 {
	font-size: 36px;
	font-family: 'SLight';
}

footer .title p {
	font-size: 24px;
	font-family: var(--font-en-light);
}

footer dl {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 50px 0 90px;
	margin-bottom: 0;
}

footer dl dd {
	width: 16.66666%;
	text-align: center;
	padding: 0 10px;
}

footer dl dd a,
footer dl dd .link {
	list-style: none;
	text-decoration: none;
	color: var(--color-surface);
	font-size: 24px;
	font-family: var(--font-en-light);
	text-transform: uppercase;
}

footer dl dd a span,
footer dl dd .link span {
	opacity: .5;
	word-wrap: break-word;
	/* 鍏佽鍦ㄥ崟璇嶅唴鎹㈣ */
	overflow-wrap: break-word;
	/* 鍚屼笂锛屽吋瀹规€ф洿濂界殑鍐欐硶 */
}

footer .ewmBox {
	position: relative;
}

footer .ewmBox .ewm {
	position: absolute;
	top: -220px;
	left: 50%;
	margin-left: -100px;
	display: none;
}

footer .ewmBox .ewm img {
	width: 200px;
}

footer .ewmBox:hover .ewm {
	display: block;
}

footer dl dd i {
	width: 50px;
	height: 50px;
	display: block;
	margin: 0 auto 70px;
}

footer dl dd i.mess {
	background: url(../image/iconMessage.svg);
	background-size: 100% 100%;
}

footer dl dd i.wechat {
	background: url(../image/iconWechat.svg);
	background-size: 100% 100%;
}

footer dl dd i.weibo {
	background: url(../image/iconWeibo.svg);
	background-size: 100% 100%;
}

footer dl dd i.xiaohongshu {
	background: url(../image/iconXiaohongshu.svg);
	background-size: 100% 100%;
}

footer dl dd i.bilibili {
	background: url(../image/iconBilibili.svg);
	background-size: 100% 100%;
}

footer dl dd i.douyin {
	background: url(../image/iconDouyin.svg);
	background-size: 100% 100%;
}

footer ul {
	border-top: 1px solid var(--color-surface-overlay);
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding: 50px 0 200px;
	margin-bottom: 0;
}

footer ul li {
	width: 25%;
	display: flex;
}

footer ul li a {
	list-style: none;
	text-decoration: none;
	color: var(--color-surface);
	font-size: 21px;
	font-family: 'SLight';
}

footer ul li span {
	display: block;
	font-family: var(--font-en-light);
	opacity: .5;
}

footer .banquan {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid var(--color-surface-overlay);
	padding: 20px 0 40px;
}

footer .container .txt {
	text-align: left;
	font-size: 21px;
	font-family: 'SLight';
}

footer .container .txt p {
	margin-bottom: 0;
}

footer .container .txt a {
	color: var(--color-surface);
}

footer .container .logo {
	height: 50px;
	opacity: .5;
}

.ybdl h1,
.content-section h2,
.join h2,
.friend h2,
.site-footer h2,
.site-footer h3 {
	font-family: var(--font-current);
	font-weight: var(--font-weight-title);
}

.ybdl p,
.content-section p,
.join p,
.friend p,
.site-footer p,
.site-footer a,
.join button,
.language-toggle,
.navbar .nav-link {
	font-family: var(--font-current);
}

.ybdl p strong,
.ybdl p b,
.content-section p strong,
.content-section p b,
.join p strong,
.join p b,
.friend p strong,
.friend p b,
.site-footer strong,
.site-footer b {
	color: var(--accent-color);
	font-weight: inherit;
}

.navbar.navbar-fixed.is-scrolled,
.navbar.navbar-fixed.menu-open {
	background: var(--surface-blur);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border-bottom-color: var(--divider-style);
	box-shadow: none;
}

.navbar.navbar-fixed.theme-dark {
	color: var(--color-white);
}

.navbar.navbar-fixed.menu-open {
	color: var(--text-color);
}

.navbar.navbar-fixed.is-scrolled.theme-dark,
.navbar.navbar-fixed.menu-open.theme-dark,
.navbar.navbar-fixed.is-scrolled.theme-light,
.navbar.navbar-fixed.menu-open.theme-light {
	background: var(--surface-blur);
	border-bottom-color: var(--divider-style);
	box-shadow: none;
}

.navbar-brand .logo-dark {
	display: none;
}

.navbar.navbar-fixed.menu-open .navbar-brand .logo-light,
.navbar.navbar-fixed.theme-light .navbar-brand .logo-light {
	display: none;
}

.navbar.navbar-fixed.menu-open .navbar-brand .logo-dark,
.navbar.navbar-fixed.theme-light .navbar-brand .logo-dark {
	display: block;
}

.navbar-nav li span::after,
.navbar-nav li:hover span::after,
.navbar-nav li.on span::after {
	display: none !important;
	opacity: 0 !important;
	transform: none !important;
	content: none !important;
}

.navbar .nav-link,
.language-toggle {
	opacity: .58;
	transition: color .24s ease, opacity .24s ease;
}

.navbar.bg-dark {
	background-color: #0A0A0A !important;
	border-bottom: 1px solid var(--color-white-08);
	/* 鏋佺畝鍒嗗壊绾?*/
}

/* 瀵艰埅閾炬帴鍦ㄦ繁鑹叉ā寮忎笅鐨勯鑹?*/
.navbar-dark .navbar-nav .nav-link {
	color: rgba(255, 255, 255, 0.8) !important;
}

.navbar-dark .navbar-nav .nav-link:hover {
	color: var(--color-white) !important;
}

.navbar,
.navbar-nav,
.navbar .nav-link,
.language-toggle {
	font-family: var(--font-current);
	font-size: var(--font-size-nav) !important;
	font-weight: var(--font-weight-body);
}

.nav-contact-hidden {
	display: none !important;
}

.navbar-nav li:hover a,
.navbar-nav li:focus-within a,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav li.on .nav-link,
.language-toggle:hover,
.language-toggle:focus {
	color: currentColor;
	opacity: 1;
}

.navbar.navbar-fixed.is-scrolled.theme-light .nav-link,
.navbar.navbar-fixed.menu-open .nav-link {
	color: var(--text-color);
}

.navbar.navbar-fixed.is-scrolled .navbar-nav li:hover a,
.navbar.navbar-fixed.is-scrolled .navbar-nav li:focus-within a,
.navbar.navbar-fixed.is-scrolled .navbar-nav .nav-link:hover,
.navbar.navbar-fixed.is-scrolled .navbar-nav .nav-link:focus,
.navbar.navbar-fixed.is-scrolled .navbar-nav li.on .nav-link {
	color: var(--text-color);
	opacity: 1;
}

/* DEPRECATED: unreferenced */
.navbarContact-box {
	display: none !important;
}

.language-toggle [data-lang-current],
.language-toggle::before {
	font-size: var(--font-size-nav) !important;
	line-height: inherit;
}

.language-toggle::before {
	display: inline-block;
	margin-right: 8px;
	color: currentColor;
	content: "鈼?;
 font-size: .95em;
	font-weight: var(--font-weight-body);
	opacity: .9;
	transform: translateY(-1px);
}

.navbar.navbar-fixed.theme-light .language-toggle,
.navbar.navbar-fixed.is-scrolled .language-toggle,
.navbar.navbar-fixed.menu-open .language-toggle {
	border: 0;
	background: transparent;
	color: currentColor;
}

.language-toggle {
	display: grid !important;
	grid-template-columns: 1em 58px;
	column-gap: 8px;
	align-items: center;
	justify-content: end;
	width: 82px;
	text-align: left;
}

.language-toggle [data-lang-current] {
	display: block;
	width: 58px;
	text-align: left;
}

.language-toggle::before {
	width: 1em;
	margin-right: 0 !important;
	text-align: center;
	transform: none !important;
}

.ybdl,
.content-section,
.join,
.friend,
.site-footer {
	background: var(--bg-color);
	color: var(--text-color);
}

.content-section img,
.join img,
.main img:not(.logo):not(.footer-logo),
.mainN img:not(.logo):not(.footer-logo),
.tyTxtcontent img {
	border-radius: var(--img-radius);
	box-shadow: 0 22px 60px rgba(10, 10, 10, .12);
	-webkit-mask-image: radial-gradient(circle at center, #000 74%, rgba(0, 0, 0, .88) 100%);
	mask-image: radial-gradient(circle at center, #000 74%, rgba(0, 0, 0, .88) 100%);
}

.site-footer {
	position: relative;
	z-index: 2;
	border: 0 !important;
}


.site-footer .reveal-on-scroll {
	opacity: 1;
	transform: none;
}

.dropdown-menu-empty {
	display: none !important;
}

.footer-minimal {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) auto;
	gap: clamp(48px, 8vw, 140px);
	align-items: start;
	padding: 48px 0 56px;
}

.footer-brand {
	max-width: 560px;
}

.footer-logo {
	height: 30px;
	margin-bottom: 28px;
	opacity: .82;
}

.footer-brand p,
.footer-brand a,
.footer-links a {
	color: #999999;
	font-family: var(--font-current);
	font-size: var(--font-size-footer);
	font-weight: var(--font-weight-body);
	line-height: 1.8;
	text-decoration: none;
}

.footer-brand a,
.footer-links a:hover {
	color: var(--text-color);
}

.site-footer .footer-contact-link {
	color: var(--accent-color);
}

.site-footer .footer-contact-link:hover {
	color: var(--accent-color);
}

.footer-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(128px, max-content));
	gap: clamp(34px, 5vw, 76px);
}

.footer-column {
	display: grid;
	align-content: start;
	gap: 10px;
}

/* --- [Components] --- */

/* 杞挱鏍峰紡 */
.banner {
	height: 100vh;
	position: relative;
}

.carousel-inner {
	height: 100%;
}

#carouselHero {
	height: auto;
	/* DEPRECATED: legacy dark hero fallback caused homepage black/white block split */
	background-color: var(--color-bg);
	z-index: 1;
	background: #050505;
	border: 0 !important;
	box-shadow: none !important;
	position: relative;
}

#carouselHero.home-hero {
	padding-top: var(--navbar-height);
}

#carouselHero.home-hero .banner {
	height: calc(100vh - var(--navbar-height));
}

.carousel-item {
	height: 100%;
}

.carousel-item img {
	height: 100%;
	object-fit: cover;
	pointer-events: none;
	filter: saturate(.96) contrast(1.02);
}

.carousel-caption {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	font-family: var(--font-en-light);
	text-transform: uppercase;
	font-size: var(--font-size-hero);
	letter-spacing: 0;
	line-height: .96;
}

.modern-hero-track {
	cursor: grab;
	user-select: none;
	touch-action: pan-y;
}

.modern-hero-track:active {
	cursor: grabbing;
}

.carousel.slide .carousel-item {
	transition: transform .78s cubic-bezier(.22, 1, .36, 1), opacity .78s ease;
}

.carousel-indicators {
	height: 20px;
	margin-bottom: 28px;
	align-items: center;
}

.carousel-indicators [data-bs-target] {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: var(--color-white-00);
	border: 1px solid var(--color-white);
	opacity: 1;
	margin-left: 20px;
	margin-right: 20px;
}

.carousel-indicators .active {
	opacity: 1;
	background-color: var(--color-accent);
	border: 1px solid var(--color-white-70);
	width: 20px;
	height: 20px;
}

.reveal-on-scroll {
	opacity: 0;
	transform: translateY(56px);
	transition: opacity .78s ease, transform .78s cubic-bezier(.22, 1, .36, 1);
	will-change: opacity, transform;
}

.reveal-on-scroll.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.content-area {
	width: 100%;
	display: flex;
	z-index: 2;
	position: relative;
	height: auto;
	min-height: auto;
	padding: 0;
	align-items: center;
	font-size: clamp(30px, 5vw, 72px);
	text-transform: none;
}

.content-area h2 {
	margin-bottom: 36px;
	font-family: var(--font-current);
	font-size: clamp(40px, 6vw, 96px);
	font-weight: var(--font-weight-title);
	line-height: 1;
	letter-spacing: 0;
}

.content-area p {
	max-width: 900px;
	color: var(--muted-color);
	font-family: var(--font-current);
	font-size: clamp(18px, 2.6vw, 34px);
	font-weight: var(--font-weight-body);
	line-height: 1.6;
	opacity: 1;
}

/* DEPRECATED: unreferenced */
/* 鍥哄畾瑙嗛鍖哄煙 */
.video-container {
	position: fixed;
	right: 0;
	bottom: 0;
	top: 68px;
	width: auto;
	height: calc(100% - 68px);
	z-index: 0;
	/* 鍒濆闅愯棌锛屾粴鍔ㄥ埌鏍忕洰鍖哄煙鍐嶆樉绀?*/
	opacity: 0;
	visibility: hidden;
	/* transition: all 0.3s ease; */
}

/* DEPRECATED: unreferenced */
.video-container.show {
	opacity: 1;
	visibility: visible;
	background-image: linear-gradient(to bottom, var(--color-white-00), var(--color-white-05), var(--color-white-00));
}

/* DEPRECATED: unreferenced */
.video-container::before {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 2px;
	background-image: linear-gradient(to bottom, var(--color-white-00), rgb(255, 255, 255, .3), var(--color-white-00));
	content: '';
}

video {
	max-width: 100%;
	object-fit: contain;
	content: normal;
}

/* 鏆村姏闅愯棌 Safari 鎾斁鎸夐挳锛堣繖涓€娈垫槸鍏抽敭锛侊級 */
.video::-webkit-media-controls {
	display: none !important;
}

.video::-webkit-media-controls-panel {
	display: none !important;
}

.video::-webkit-media-controls-play-button {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.video::-webkit-media-controls-start-playback-button {
	display: none !important;
	opacity: 0 !important;
	height: 0 !important;
	width: 0 !important;
}

.video::-webkit-media-controls-overlay-play-button {
	display: none !important;
	opacity: 0 !important;
}

.video {
	position: fixed;
	right: 0;
	top: 68px;
	width: 100%;
	object-fit: cover;
	/* 閾烘弧灞忓箷涓嶅彉褰?*/
	z-index: -9999 !important;
	/* 寮哄埗鏈€搴曞眰 */
	pointer-events: none;
	/* 涓嶆嫤鎴偣鍑?*/
	user-select: none;
	/* 鏍稿績锛氬交搴曞共鎺?Safari 鎵€鏈夋挱鏀炬帶浠?*/
	-webkit-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box;
	border: none;
	outline: none;
}

/* 鎮诞瀵艰埅鎸夐挳 - 鏍稿績淇敼锛氶粯璁ら殣钘?*/
.floating-nav {
	position: fixed;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 997;
	/* 榛樿闅愯棌锛屾坊鍔犺繃娓″姩鐢?*/
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

/* 鏄剧ず鎮诞鎸夐挳鐨勭被 */
.floating-nav.show {
	opacity: 1;
	visibility: visible;
}

.float-btn {
	display: block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	background-color: transparent;
	border: 1px solid var(--color-white-70);
	border-radius: 50%;
	margin: 30px 0;
	cursor: pointer;
	/* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
	transition: all 0.3s ease;
	color: #6c757d;
	position: relative;
}

.float-btn:hover,
.float-btn.active {
	background-color: var(--color-accent);
	border: 1px solid var(--color-white-70);
	color: white;
}

.float-btn span {
	display: none;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--color-accent);
	padding: 5px 10px;
	border-radius: 4px;
	font-size: var(--fs-body);
	white-space: nowrap;
}

.float-btn:hover span {
	display: block;
}

#carouselHero::before,
#carouselHero::after {
	display: none !important;
	content: none !important;
}

/* --- [Pages] --- */

.lang-en .ybdl .box p {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	line-height: 48px;
}

.ybdl {
	/* DEPRECATED: unreferenced for homepage; legacy black/white split section retained for possible subpages */
	height: 100vh;
	background: url(../image/ybdlBg.jpg);
	background-size: 100% 100%;
	background-image: none;
	padding: 86px 0;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.ybdl .box {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var(--text-color);
}

.ybdl .box h1 {
	margin: 44px auto 56px;
	font-family: var(--font-current);
	font-size: var(--font-size-section-title);
	font-weight: var(--font-weight-title);
	line-height: 1;
	letter-spacing: 0;
}

.ybdl .box p {
	max-width: 980px;
	margin: 0 auto;
	color: var(--muted-color);
	font-family: var(--font-current);
	font-size: clamp(16px, 1.7vw, 22px);
	font-weight: var(--font-weight-body);
	line-height: 1.7;
}

.ybdl .box p span {
	color: var(--accent-color);
	font-weight: inherit;
}

/* 鏍忕洰灞曠ず鍖哄煙鏍峰紡 */
.content-section {
	height: 100vh;
	display: block;
	padding: 78px 0;
	position: relative;
	z-index: 1;
}

.join {
	/* DEPRECATED: legacy black/white split section contrast retained for possible subpages */
	background-color: var(--color-text-light);
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 80px 0 120px;
	color: #1A1919;
}

.join h2 {
	font-size: 48px;
	font-family: 'PThin';
}

.join p {
	margin: 100px auto;
	font-size: 24px;
	font-family: 'SExtraLight';
	opacity: .5;
}

.join button {
	height: 48px;
	padding: 0 28px;
	border: 2px solid var(--accent-color);
	border-radius: 999px;
	background: transparent;
	color: var(--accent-color);
	font-family: var(--font-current);
	font-size: 13px;
	font-weight: var(--font-weight-button);
	line-height: 48px;
	transition: border-color .24s ease, color .24s ease, opacity .24s ease;
}

.join button span {
	font-family: 'PThin';
	padding-left: 8px;
	font-size: 13px;
	font-weight: 700;
}

.friend {
	background-color: #1A1919;
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 80px 0;
	color: var(--color-text-light);
}

.friend h2 {
	font-size: 36px;
	font-family: 'SExtraLight';
}

.friend p {
	font-size: 24px;
	font-family: 'PThin';
}

.friend .ewm {
	margin-top: 60px;
}

.friend .friendLink {
	margin: 60px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: clamp(28px, 5vw, 72px);
	margin-top: 52px;
}

.friend .friendLink a {
	display: inline-flex;
	width: min(220px, calc(25% - 54px));
	min-height: var(--navbar-height-modern);
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.friend .friendLink a img {
	width: 100%;
	max-height: 82px;
	object-fit: contain;
	border-radius: 0;
	box-shadow: none;
	-webkit-mask-image: none;
	mask-image: none;
}

.subBanner {
	height: 100vh;
	position: relative;
	overflow: hidden;
	width: 100%;
}

.subBanner img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.subBanner.product-hero-offset {
	height: 100vh;
	padding-top: var(--navbar-height-modern);
	background: #050505;
}

.subBanner.product-hero-offset .carousel-inner {
	height: calc(100vh - var(--navbar-height-modern));
	background: #050505;
}

.jobBann {
	background-color: var(--color-text-light);
	margin-top: var(--navbar-height);
	height: calc(100vh - var(--navbar-height));
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	color: var(--color-surface);
	text-align: center;
}

.jobBann h1 {
	font-size: 70px;
	font-family: 'SExtraLight';
}

.jobBann h1 span {
	font-size: 60px;
	font-family: 'PBold';
	padding: 0 70px;
}

.jobBann h2 {
	font-size: 60px;
	font-family: 'PThin';
	text-transform: uppercase;
	margin: 90px auto 150px;
}

.jobBann h3 {
	font-size: 36px;
	font-family: 'SLight';
	text-transform: uppercase;
	margin: 70px auto 0;
}

.jobBann a {
	font-size: 24px;
	font-family: 'PThin';
	text-decoration: none;
	color: var(--color-surface);
}

.jobBann a i {
	width: 42px;
	height: 42px;
	display: block;
	margin: 0 auto 24px;
}

.jobBann a i.mess {
	background: url(../image/iconMessage.svg);
	background-size: 100% 100%;
}

.jobBann a span {
	display: block;
	margin-bottom: 70px;
	text-transform: uppercase;
	opacity: .5;
}

.jobBann .arrow {
	width: 80px;
	height: 40px;
	display: block;
	background: url(../image/iconArrow.svg);
	background-size: 100% 100%;
	margin: 0 auto;
}

.jobBannimg {
	background: url(../image/jobImg.jpg) center;
	background-size: cover;
	height: 360px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.jobBannimg h2 {
	color: var(--color-text-light);
	font-size: 24px;
	font-family: 'SExtraLight';
	letter-spacing: 10px;
	margin-bottom: 0;
}

.main {
	background-color: var(--color-surface-overlay);
	padding: 150px 0;
	color: var(--color-text-light);
}

.main .search {
	border-bottom: 1px solid var(--color-text-light);
	padding-bottom: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.main .search .box form {
	display: flex;
	align-items: center;
}

.main .search input {
	float: left;
	width: 770px;
	height: 90px;
	border-radius: 45px;
	padding-left: 50px;
	margin-right: 50px;
	font-size: 24px;
	font-family: 'SExtraLight';
	background-color: transparent;
	background-image: linear-gradient(to right, var(--color-white-05), var(--color-white-10));
	border: 1px solid var(--color-white-10);
}

.main .search .search_btn {
	float: left;
	width: 110px;
	height: 110px;
	background: url(../image/searchIcon.svg);
	background-size: 100% 100%;
	display: block;
}

.job-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 140px auto 440px;
}

.job-list a {
	color: var(--color-text-light);
}

.job-filter {
	width: 290px;
}

.job-filter-item {
	border-bottom: 1px solid #B3B3B3;
	height: 76px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.job-filter-link {
	position: relative;
	padding-right: 50px;
}

.job-filter-item.on .job-filter-link,
.job-filter-item:hover .job-filter-link {
	color: var(--color-accent);
}

.job-filter-link::after {
	position: absolute;
	right: 12px;
	top: 50%;
	margin-top: -9px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	content: '';
	border: 1px solid #F8F8F8;
}

.job-filter-item.on .job-filter-link::after {
	right: 0;
	margin-top: -20px;
	width: 40px;
	height: 40px;
	background-color: var(--color-accent);
	border: 1px solid var(--color-white-70);
}

.job-filter-item:hover .job-filter-link::after {
	background-color: var(--color-accent);
	border: 1px solid var(--color-white-70);
}

.job-results {
	width: calc(100% - 430px);
}

.job-result-list {
	display: flex;
	flex-wrap: wrap;
	gap: 120px;
}

.job-result-item {
	width: 100%;
	border-bottom: 1px solid var(--color-text-light);
}

.job-result-number {
	font-size: 18px;
	font-family: var(--font-en-light);
}

.job-result-title {
	font-size: 36px;
	font-family: 'SRegular';
	margin: 20px auto;
}

.job-result-subtitle {
	font-size: 18px;
	font-family: 'PThin';
	opacity: .5;
}

.job-result-description {
	margin: 40px auto 20px;
	font-size: 20px;
	font-family: 'SExtraLight';
	color: #B3B3B3;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.main .logo {
	width: 320px;
	opacity: .5;
	margin: 0 auto;
	display: block;
}

.downLogo {
	width: 100%;
	margin: 0 auto;
	background-color: var(--color-text-light);
	padding: 70px 0;
}

.downLogo .logo {
	height: var(--navbar-height);
	opacity: .9;
	margin: 0 auto;
	display: block;
}

.mainN {
	background-color: var(--color-text-light);
	color: var(--color-text-light);
}

.mainN .box {
	background-color: var(--color-surface-overlay);
	padding: 200px 0 300px;
	border-radius: 0 0 70px 70px;
}

.mainN .box .item {
	margin-bottom: 120px;
}

.mainN .box .item .title {
	text-align: center;
	position: relative;
	margin-bottom: 100px;
}

.mainN .box .item .title::after {
	position: absolute;
	height: 1px;
	left: 0;
	right: 0;
	top: 50%;
	background-color: var(--color-white);
	z-index: 1;
	content: '';
}

.mainN .box .item .title span {
	width: 260px;
	height: 80px;
	line-height: 80px;
	text-align: center;
	border-radius: 40px;
	font-size: 24px;
	font-family: 'SLight';
	margin: 0 auto;
	display: block;
	position: relative;
	z-index: 2;
	background-color: var(--color-accent);
}

.mainN .box .item .txt {
	font-family: 'SLight';
	line-height: 48px;
	font-size: 24px;
}

.mainN .box .item:nth-last-of-type(1) {
	margin-bottom: 0;
}

.mainN .about {
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.mainN .about.about1 {
	background: url(../image/aboutImg1.jpg) right;
	background-size: cover;
	background-position: 100%;
	background-repeat: no-repeat;
}

.mainN .about.about2 {
	/* background: url(../image/aboutImg2.jpg) center bottom; */
	background-size: cover;
	background-position: center;
	background-color: #000;
}

.mainN .about.about3 {
	background: url(../image/aboutImg3.jpg) center bottom;
	background-size: cover;
	background-position: center;
	color: #333231;
	position: relative;
}

.mainN .about .txt {
	font-family: 'SExtraLight';
	font-size: 24px;
	line-height: 60px;
	position: relative;
}

.mainN .about1 .title {
	font-family: 'SExtraLight';
	font-size: 48px;
	width: 690px;
	height: 100px;
	line-height: 100px;
	margin: 0 auto 120px;
	position: relative;
}

.mainN .about1 .title::after {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	border-radius: 50px;
	border: 3px solid transparent;
	background: linear-gradient(120deg, var(--color-white-10), rgb(255, 117, 49), var(--color-white-10)) border-box,
		transparent content-box;
	mask: linear-gradient(var(--color-white) 0 0) padding-box,
		linear-gradient(var(--color-white) 0 0);
	mask-composite: exclude;
	z-index: 1;
	content: '';
}

.mainN .about1 .title span {
	z-index: 2;
}

.mainN .about2 .txt {
	padding: 100px 30px 0;
}

.mainN .about2 .txt::after {
	position: absolute;
	right: 0;
	top: 0;
	content: '"';
	font-size: 130px;
	font-family: 'PMedium';
}

.mainN .about2 .txt::before {
	position: absolute;
	left: 0;
	top: 0;
	content: '"';
	font-size: 130px;
	font-family: 'PMedium';
}

.mainN .about3 .title {
	font-family: 'PThin';
	font-size: 90px;
	text-transform: uppercase;
	color: var(--color-surface);
	opacity: .3;
	writing-mode: vertical-rl;
	position: absolute;
	top: 5%;
	left: 5%;
}

.mainN .about3 .txt {
	padding-top: 100px;
}

.mainN .about3 .txt::after {
	position: absolute;
	right: 0;
	top: 0;
	content: '"';
	font-size: 130px;
	font-family: 'PMedium';
}

.mainN .about.about3 .logo {
	height: 50px;
	opacity: .5;
	position: absolute;
	bottom: 6vh;
	left: 50%;
	margin-left: -115px;
}

.mainN .L0Y1 {
	height: 100vh;
	display: flex;
	justify-content: center;
	text-align: center;
	background-color: var(--color-text-light);
}

.mainN .tyTxt {
	height: auto;
	/* display: flex; */
	justify-content: center;
	text-align: center;
	background-color: var(--color-text-light);
}

.mainN .tyTxtcontent {
	font-family: 'SExtraLight';
	margin-top: 10vh;
}

.mainN .tyTxtcontent img {
	width: 100% !important;
}

.mainN .L01 {
	color: var(--color-surface);
	padding: 130px 0;
}

.mainN .L01 .title span {
	display: block;
	text-transform: uppercase;
	font-size: 72px;
	font-family: 'SLight';
}

.mainN .L01 .title span:nth-of-type(2) {
	font-size: 24px;
	font-family: var(--font-en-light);
	opacity: .5;
}

.mainN .L01 .txt {
	opacity: .5;
	font-family: 'SExtraLight';
	margin-top: 40vh;
}

.mainN .L01 .txt h2 {
	font-size: 48px;
	font-family: var(--font-en-extra-light);
}

.mainN .L02 {
	background: url(../image/l0y1Img1.jpg) center bottom;
	background-size: cover;
}

.mainN .L03 {
	background: url(../image/l0y1Img2.jpg) center;
	background-size: cover;
}

.mainN .L03 .logo {
	height: 50px;
	margin: 90px auto 140px;
}

.mainN .L03 a {
	display: block;
	margin: 0 auto;
	width: 226px;
	height: 90px;
	line-height: 90px;
	position: relative;
	color: var(--color-white);
	font-size: 24px;
	font-family: 'SLight';
}

.mainN .L03 a::after {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	border-radius: 45px;
	border: 3px solid transparent;
	background: linear-gradient(120deg, var(--color-white-10), rgb(255, 117, 49), var(--color-white-10)) border-box,
		transparent content-box;
	mask: linear-gradient(var(--color-white) 0 0) padding-box,
		linear-gradient(var(--color-white) 0 0);
	mask-composite: exclude;
	z-index: 1;
	content: '';
}

.mainContact {
	background-color: var(--color-surface-overlay);
	color: var(--color-surface);
	margin-top: var(--navbar-height);
}

.mainContact .box {
	background-color: var(--color-text-light);
	width: min(92%, 1760px);
	margin: 0 auto;
	padding: 84px 0 56px;
	border-radius: 0 0 48px 48px;
}

.mainContact .contactTitle {
	font-size: 112px;
	font-family: 'PBold';
	position: relative;
	text-align: center;
	margin-bottom: 44px;
}

.mainContact .contactTitle::before {
	position: absolute;
	left: 0;
	top: 0;
	content: '"';
	font-size: 60px;
	font-family: 'PBold';
}

.mainContact .contactTitle::after {
	position: absolute;
	right: 0;
	top: 0;
	content: '"';
	font-size: 60px;
	font-family: 'PBold';
}

.mainContact .contact-email-note {
	margin: -24px auto 52px;
	color: rgba(28, 28, 28, .68);
	font-family: var(--font-current);
	font-size: clamp(16px, 1.25vw, 20px);
	font-weight: var(--font-weight-body);
	line-height: 1.5;
	text-align: center;
}

.mainContact .contact-email-note span {
	color: var(--accent-color);
	font-family: var(--font-current);
	font-weight: 700;
}

body.lang-en .mainContact .contact-email-note span {
	font-family: var(--font-en-medium);
}

/* DEPRECATED: unreferenced */
.mainContact .contactTxt {
	font-size: 21px;
	font-family: 'SRegular';
	margin-top: 64px;
	padding-bottom: 0;
}

/* DEPRECATED: unreferenced */
.contact-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px 48px;
}

/* DEPRECATED: unreferenced */
.contact-form .form-group {
	margin-bottom: 0;
}

/* DEPRECATED: unreferenced */
.contact-form label {
	display: block;
	font-family: 'SLight';
	font-size: 18px;
	margin-bottom: 12px;
}

/* DEPRECATED: unreferenced */
.contact-form .input1,
.contact-form .input2 {
	width: 100%;
}

/* DEPRECATED: unreferenced */
.contact-form .input2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

/* DEPRECATED: unreferenced */
.contact-form input {
	width: 100%;
	height: 56px;
	line-height: 56px;
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid var(--color-surface-overlay);
	border-radius: 0;
	color: var(--color-surface);
	font-family: var(--font-en-light);
	font-size: 18px;
	outline: none;
	padding: 0;
}

/* DEPRECATED: unreferenced */
.contact-form input::placeholder {
	color: rgba(28, 28, 28, .45);
}

/* DEPRECATED: unreferenced */
.contact-form input:focus {
	border-bottom-color: var(--color-accent);
}

/* DEPRECATED: unreferenced */
.contact-form .form-actions {
	grid-column: 1 / -1;
	margin-top: 16px;
}

/* DEPRECATED: unreferenced */
.contact-form button {
	width: 160px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	border-radius: 30px;
	background-color: var(--color-accent);
	color: var(--color-white);
	font-size: 18px;
	font-family: 'SLight';
	display: block;
}

/* DEPRECATED: unreferenced */
.contactDownLogo {
	display: none;
}

/* DEPRECATED: unreferenced */
.contactDownLogo .logo {
	height: var(--navbar-height);
	opacity: .9;
	margin: 0 auto;
	display: block;
}

.contact-link-map {
	background-color: var(--color-text-light);
	color: var(--color-surface);
	padding: 0;
}

.contact-link-map ul {
	border-bottom: 1px solid var(--color-surface-overlay);
	border-top: 1px solid var(--color-surface-overlay);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 48px 80px;
	list-style: none;
	margin: 0;
	padding: 36px 0 52px;
}

.contact-link-map li {
	min-width: 0;
}

.contact-map-form {
	margin: 0;
}

.contact-map-form label {
	display: block;
	font-family: 'SLight';
	font-size: 21px;
	line-height: 1.35;
	margin: 0 0 12px;
}

.contact-map-form input {
	width: 100%;
	height: 44px;
	line-height: 44px;
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid var(--color-surface-overlay);
	border-radius: 0;
	color: var(--color-surface);
	font-family: var(--font-en-light);
	font-size: 18px;
	outline: none;
	padding: 0;
}

.contact-map-form input::placeholder {
	color: rgba(28, 28, 28, .5);
}

.contact-map-form input:focus {
	border-bottom-color: var(--color-accent);
}

.contact-map-submit {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.contact-map-submit button {
	width: 160px;
	height: 48px;
	line-height: 48px;
	text-align: center;
	border: 0;
	border-radius: 24px;
	background-color: var(--color-accent);
	color: var(--color-white);
	font-family: 'SLight';
	font-size: 18px;
	display: block;
}

.contact-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 38px 56px;
	width: 100%;
}

.contact-field {
	min-width: 0;
}

.contact-field-full {
	grid-column: 1 / -1;
}

.contact-map-form .contact-field label {
	display: block;
	color: var(--color-surface);
	font-family: 'SLight';
	font-size: 20px;
	line-height: 1.4;
	margin: 0 0 20px;
}

.contact-map-form input,
.contact-map-form select,
.contact-map-form textarea {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(28, 28, 28, .24);
	border-radius: 0;
	color: var(--color-surface);
	font-family: var(--font-en-light);
	font-size: 20px;
	line-height: 1.35;
	outline: none;
	padding: 0 0 14px;
	transition: border-color .2s ease, color .2s ease;
}

.contact-map-form input,
.contact-map-form select {
	height: 48px;
}

.contact-map-form textarea {
	min-height: 116px;
	resize: vertical;
}

.contact-map-form select {
	appearance: none;
	-webkit-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 12px) 18px, calc(100% - 6px) 18px;
	background-repeat: no-repeat;
	background-size: 7px 7px, 7px 7px;
	cursor: pointer;
	padding-right: 34px;
}

.contact-map-form input::placeholder,
.contact-map-form textarea::placeholder {
	color: rgba(28, 28, 28, .38);
}

.contact-map-form input:focus,
.contact-map-form select:focus,
.contact-map-form textarea:focus {
	border-bottom-color: rgba(28, 28, 28, .88);
}

.contact-phone-field .contact-phone-code {
	width: min(340px, 100%);
	margin-bottom: 32px;
}

.contact-business-select {
	color: var(--color-surface);
	font-family: 'SLight' !important;
}

.contact-message-field {
	position: relative;
}

.contact-message-limit {
	position: absolute;
	right: 0;
	bottom: -26px;
	color: rgba(28, 28, 28, .38);
	font-family: var(--font-en-light);
	font-size: 16px;
	line-height: 1;
}

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.contact-link-map a {
	color: var(--color-surface);
	display: block;
	font-family: 'SLight';
	font-size: 21px;
	line-height: 1.35;
	text-decoration: none;
}

.contact-link-map p {
	margin: 0 0 2px;
}

.contact-link-map span {
	color: rgba(28, 28, 28, .5);
	display: block;
	font-family: var(--font-en-light);
}

.zw {
	text-transform: uppercase;
	font-size: 36px;
	font-family: var(--font-en-light);
	text-align: center;
	padding: 130px;
}

body.detail-page-body .detail-page-footer-section .zw {
	--detail-title-size: 44px;
	--detail-body-size: 20px;
	text-transform: none;
	font-family: 'SExtraLight';
	font-size: var(--detail-body-size);
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0;
	text-align: left;
}

body.detail-page-body .detail-page-footer-section .zw h1,
body.detail-page-body .detail-page-footer-section .zw h2,
body.detail-page-body .detail-page-footer-section .zw h3,
body.detail-page-body .detail-page-footer-section .zw h4,
body.detail-page-body .detail-page-footer-section .zw h5,
body.detail-page-body .detail-page-footer-section .zw h6,
body.detail-page-body .detail-page-footer-section .zw .title {
	font-family: 'SLight';
	font-size: var(--detail-title-size);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
}

body.detail-page-body .detail-page-footer-section .zw p,
body.detail-page-body .detail-page-footer-section .zw li,
body.detail-page-body .detail-page-footer-section .zw dd,
body.detail-page-body .detail-page-footer-section .zw td,
body.detail-page-body .detail-page-footer-section .zw th,
body.detail-page-body .detail-page-footer-section .zw span,
body.detail-page-body .detail-page-footer-section .zw a {
	font-family: inherit;
	font-size: var(--detail-body-size);
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: 0;
}

body.detail-page-body.lang-en .detail-page-footer-section .zw {
	font-family: var(--font-en-light);
}

body.detail-page-body.lang-en .detail-page-footer-section .zw h1,
body.detail-page-body.lang-en .detail-page-footer-section .zw h2,
body.detail-page-body.lang-en .detail-page-footer-section .zw h3,
body.detail-page-body.lang-en .detail-page-footer-section .zw h4,
body.detail-page-body.lang-en .detail-page-footer-section .zw h5,
body.detail-page-body.lang-en .detail-page-footer-section .zw h6,
body.detail-page-body.lang-en .detail-page-footer-section .zw .title {
	font-family: var(--font-en-extra-light);
	font-weight: 400;
}

body.detail-page-body.lang-en .detail-page-footer-section .zw h1 strong,
body.detail-page-body.lang-en .detail-page-footer-section .zw h1 b,
body.detail-page-body.lang-en .detail-page-footer-section .zw h2 strong,
body.detail-page-body.lang-en .detail-page-footer-section .zw h2 b,
body.detail-page-body.lang-en .detail-page-footer-section .zw h3 strong,
body.detail-page-body.lang-en .detail-page-footer-section .zw h3 b,
body.detail-page-body.lang-en .detail-page-footer-section .zw h4 strong,
body.detail-page-body.lang-en .detail-page-footer-section .zw h4 b,
body.detail-page-body.lang-en .detail-page-footer-section .zw h5 strong,
body.detail-page-body.lang-en .detail-page-footer-section .zw h5 b,
body.detail-page-body.lang-en .detail-page-footer-section .zw h6 strong,
body.detail-page-body.lang-en .detail-page-footer-section .zw h6 b,
body.detail-page-body.lang-en .detail-page-footer-section .zw .title strong,
body.detail-page-body.lang-en .detail-page-footer-section .zw .title b {
	font-family: inherit;
	font-weight: 400;
}

.ybdl,
.content-section,
.join,
.friend {
	min-height: auto;
	height: auto;
	position: relative;
	border: 0 !important;
}

.ybdl::after,
.content-section::after,
.join::after,
.friend::after {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: var(--divider-width);
	max-width: 520px;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--divider-style) 18%, var(--divider-style) 82%, transparent 100%);
	content: "";
	transform: translateX(-50%);
}

.ybdl::after {
	display: block !important;
	width: var(--divider-width) !important;
	max-width: 520px !important;
}

.join,
.friend {
	padding: 78px 0;
	text-align: center;
}

.join h2,
.friend h2 {
	font-family: var(--font-current);
	font-size: var(--font-size-section-title);
	font-weight: var(--font-weight-title);
	line-height: 1;
	letter-spacing: 0;
}

.join p,
.friend p {
	margin: 40px auto 0;
	color: var(--muted-color);
	font-family: var(--font-current);
	font-size: clamp(16px, 1.7vw, 22px);
	font-weight: var(--font-weight-body);
	line-height: 1.7;
	opacity: 1;
}

.friend p[data-i18n="home.friends.title"] {
	margin-top: 0;
}

.join h2[data-i18n="home.join.title"] {
	font-family: Helvetica, sans-serif !important;
	font-weight: 400 !important;
}

.join a {
	display: inline-flex;
	margin-top: 56px;
	text-decoration: none;
}

.join button:hover {
	background: transparent;
	color: var(--accent-color);
	opacity: .86;
}

/* --- [Media Queries] --- */

@media (min-width: 1400px) {
	.container {
		max-width: 83%;
	}
}

@media (min-width:991px) and (max-width:1279.98px) {
	.navbar-nav li {
		width: auto;
	}

	.navbar-nav {
		gap: 24px;
	}
}

/* ===== 妗岄潰绔绾ц彍鍗曟牱寮?(992px浠ヤ笂) ===== */
@media (min-width: 992px) {

	/* 涓€绾т笅鎷夎彍鍗?- 榛樿闅愯棌锛屾偓鍋滄樉绀?*/
	.nav-item.dropdown:hover>.dropdown-menu {
		display: block;
		margin-top: 0;
		/* 娑堥櫎榛樿闂磋窛锛岄伩鍏嶆偓鍋滄柇杩?*/
	}

	/* 浜岀骇鑿滃崟鍩虹鏍峰紡 */
	.navbar-nav li:hover .dropdown-menu a {
		text-decoration: none;
		transition: all .35s;
	}

	.navbar-nav li .dropdown-menu .dropdown-submenu:hover a {
		/* text-decoration: underline; */
		margin-left: 10px;
	}

	.dropdown-menu {
		top: 100%;
		left: -20px;
		right: -20px;
		margin-left: 0;
		border: none;
		/* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); */
		display: none;
		/* 榛樿闅愯棌 */
		transition: opacity 0.2s ease;
		text-align: center;
		background-color: transparent;
	}

	.dropdown-menu li {
		padding: 0;
		/* background-color: var(--color-bg); */
		border-radius: 0;
		margin: 0 auto;
		height: 54px;
		line-height: 54px;
		border-bottom: 1px solid rgb(255, 250, 240, .5);
	}

	.dropdown-menu li:nth-last-of-type(1) {
		border-bottom: 0;
	}

	.dropdown-menu li::after,
	.dropdown-menu li::before {
		display: none;
	}

	.dropdown-menu li:nth-last-of-type(1) {
		display: block;
	}

	.navbar-nav li:nth-last-of-type(2) .dropdown-menu .submenu {
		display: block !important;
	}

	/* 涓夌骇鑿滃崟瀹瑰櫒 */
	.dropdown-submenu {
		position: relative;
	}

	/* 涓夌骇鑿滃崟鏍峰紡 - 榛樿闅愯棌锛岄紶鏍囨偓鍋滄樉绀?*/
	.dropdown-submenu>.dropdown-menu {
		top: 0;
		left: 100%;
		margin-top: -10px;
		display: none;
		min-width: 200px;
	}

	/* 榧犳爣绉讳笂浜岀骇鑿滃崟鏃舵樉绀轰笁绾ц彍鍗?*/
	.dropdown-submenu:hover>.dropdown-menu {
		display: block;
	}

	.dropdown-item {
		padding: 0;
		height: 48px;
		line-height: 48px;
	}

	/* 鑿滃崟hover鏁堟灉 */
	.dropdown-item:hover {
		color: white !important;
		background-color: transparent;
	}

	/* 绉婚櫎bootstrap榛樿鐨勭偣鍑诲睍寮€閫昏緫锛堜粎淇濈暀鎮仠锛?*/
	.dropdown-toggle::after {
		transition: transform 0.2s ease;
	}

	.nav-item.dropdown:hover .dropdown-toggle::after {
		transform: rotate(180deg);
	}
}

/* ===== 绉诲姩绔彍鍗曟牱寮?(992px浠ヤ笅) ===== */
@media (max-width: 991.98px) {
	.navbar {
		/* background-color: var(--color-bg); */
	}

	.navbar-brand {
		width: auto;
	}

	.navbar:hover {
		background-color: var(--color-bg);
	}

	.navbar .container {
		/* background-color: var(--color-bg); */
	}

	.navbar-nav {
		height: auto;
		border-radius: 0;
		padding: 10px;
		gap: 0;
	}

	.navbar-nav li {
		width: 100%;
		height: 44px;
	}

	.navbar-nav li span::after {
		bottom: -4px;
	}

	.navbar-nav li:nth-last-of-type(1) {
		display: block;
		text-align: center;
	}

	.wapContact {
		display: block !important;
		text-align: center;
	}

	/* 绉诲姩绔姌鍙犺彍鍗曞鍣?*/
	.navbar-collapse {
		background: rgba(6, 4, 1, .88);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		margin: 15px auto;
		border: 1px solid var(--color-white-08);
		border-radius: 8px;
		box-shadow: 0 20px 48px rgba(0, 0, 0, .32);
	}

	/* 绉诲姩绔绾ц彍鍗曡皟鏁?*/
	.dropdown-submenu>.dropdown-menu {
		position: static;
		border: none;
		box-shadow: none;
		padding-left: 20px;
		margin-top: 5px;
		margin-bottom: 5px;
		display: none;
	}

	/* 绉诲姩绔笁绾ц彍鍗曠澶?*/
	.dropdown-submenu .dropdown-toggle::after {
		transform: rotate(90deg);
		transition: transform 0.3s ease;
		margin-left: 8px;
	}

	.dropdown-submenu.show .dropdown-toggle::after {
		transform: rotate(-90deg);
	}

	/* 绉诲姩绔彍鍗曢」闂磋窛 */
	.nav-item {
		margin: 10px auto !important;
	}

	/* DEPRECATED: unreferenced */
	.navbar-fixed .navbarContact-box {
		display: none;
	}

	.language-toggle {
		margin-left: 10px;
	}

	.mainContact {
		margin-top: 0;
	}

	.main .search .box {
		width: 100%;
	}

	.main .search input {
		width: calc(100% - 90px);
	}

	.main .search .search_btn {
		width: 90px;
		height: 90px;
	}

	.container {
		padding: 0;
	}

	.jobBann {
		margin-top: 0;
	}

	.subBanner {
		height: calc(100vh - 70px);
	}

	.jobBann h1 {
		font-size: 36px;
	}

	.jobBann h1 span {
		font-size: 30px;
		padding: 0 0;
		display: none;
	}

	.jobBann h2 {
		font-size: 40px;
		font-family: 'PThin';
		text-transform: uppercase;
		margin: 50px auto 100px;
	}

	.jobBann h3 {
		font-size: 23px;
		margin-top: 20px;
	}

	.jobBannimg h2 {
		font-size: 20px;
	}

	.jobBann a {
		font-size: 20px;
	}

	.jobBann a span {
		margin-bottom: 50px;
	}

	.jobBann .arrow {
		width: 60px;
		height: 30px;
	}

	.main {
		padding: 100px 0;
	}

	.main .search {
		width: 100%;
		padding-bottom: 70px;
	}

	.main .search .search_btn {
		width: 60px;
		height: 60px;
	}

	.main .search .box {
		width: 100%;
	}

	.main .search input {
		width: calc(100% - 70px);
		padding-left: 20px;
		margin-right: 10px;
		height: 50px;
		border-radius: 25px;
		font-size: 20px;
	}

	.job-list {
		margin: 70px auto 100px;
	}

	.job-filter,
	.job-results {
		width: 100%;
	}

	.job-filter {
		margin-bottom: 70px;
	}

	.job-filter-list {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	.job-filter-item {
		width: calc(50% - 5px);
		height: 60px;
	}

	.job-filter-link {
		padding-right: 30px;
	}

	.job-filter-link::after {
		margin-top: -7px;
		right: 5px;
		width: 14px;
		height: 14px;
	}

	.job-filter-item.on .job-filter-link::after {
		width: 24px;
		height: 24px;
		margin-top: -12px;
	}

	.job-result-list {
		gap: 70px;
	}

	.job-result-title {
		font-size: 24px;
		margin: 10px auto;
	}

	.job-result-subtitle {
		font-size: 16px;
	}

	.job-result-description {
		font-size: 16px;
		margin: 20px auto 20px;
	}

	.main .logo {
		width: 50%;
	}

	.mainN .box {
		padding: 100px 0 200px;
		border-radius: 0 0 30px 30px;
	}

	.mainN .L01 {
		padding: 90px 0;
	}

	.mainN .tyTxtcontent {
		margin-top: 5vh;
	}

	.mainN .L01 .title span {
		font-size: 36px;
	}

	.mainN .L01 .title span:nth-of-type(2) {
		font-size: 18px;
	}

	.mainN .L01 .txt h2 {
		font-size: 36px;
	}

	.mainN .L03 .logo {
		height: 50px;
		margin: 60px auto 100px;
	}

	.mainN .L03 a {
		width: 180px;
		height: 48px;
		line-height: 48px;
		font-size: 18px;
	}

	.mainN .box .item {
		margin-bottom: 70px;
	}

	.mainN .box .item .title {
		margin-bottom: 50px;
	}

	.mainN .box .item .title span {
		width: 160px;
		height: 48px;
		line-height: 48px;
		border-radius: 25px;
		font-size: 20px;
	}

	.mainN .box .item .txt {
		line-height: 30px;
		font-size: 16px;
	}

	.mainN .about1 .title {
		font-size: 36px;
		width: 80%;
		height: 70px;
		line-height: 70px;
		margin: 0 auto 70px;
		position: relative;
	}

	.mainN .about1 .title::after {
		border-radius: 35px;
		border: 2px solid transparent;
	}

	.mainN .about .txt {
		font-size: 18px;
		line-height: 36px;
	}

	.mainN .about2 .txt {
		padding: 40px 30px 0;
	}

	.mainN .about2 .txt::before,
	.mainN .about2 .txt::after,
	.mainN .about3 .txt::after {
		font-size: 90px;
	}

	.mainN .about3 .txt {
		padding-top: 40px;
	}

	.mainN .about3 .title {
		font-size: 60px;
	}

	.downLogo .logo {
		height: 50px;
	}

	/* DEPRECATED: unreferenced */
	.contactDownLogo .logo {
		height: 50px;
	}

	.contact-link-map {
		padding-bottom: 0;
	}

	.contact-link-map ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px 32px;
		padding: 36px 0 56px;
	}

	.mainContact {
		margin-top: 0;
	}

	.mainContact .contactTitle {
		font-size: 32px;
		margin-bottom: 32px;
	}

	.mainContact .box {
		width: min(94%, 1760px);
		padding: 56px 0 40px;
		border-radius: 0 0 28px 28px;
	}

	/* DEPRECATED: unreferenced */
	.mainContact .contactTxt {
		font-size: 18px;
	}

	/* DEPRECATED: unreferenced */
	.contact-form {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	/* DEPRECATED: unreferenced */
	.contact-form .input2 {
		gap: 18px;
	}

	/* DEPRECATED: unreferenced */
	.mainContact .contactTxt .left,
	.mainContact .contactTxt .right {
		width: 100%;
	}

	/* DEPRECATED: unreferenced */
	.mainContact .contactTxt .left {
		margin-bottom: 70px;
	}

	/* DEPRECATED: unreferenced */
	.mainContact .contactTxt .right .form-group button {
		height: 48px;
		line-height: 48px;
	}

	body {
		padding-top: 0;
	}

	.navbar .container {
		grid-template-columns: 1fr auto auto;
		width: 100%;
		height: var(--navbar-height-modern);
		padding: 0 14px;
	}

	.navbar-collapse {
		position: absolute;
		top: 62px;
		left: 0;
		right: 0;
		transform: none;
		justify-self: stretch;
		background: rgba(249, 249, 247, .92);
		border: 1px solid var(--divider-style);
		border-radius: 14px;
		box-shadow: 0 22px 48px rgba(10, 10, 10, .12);
	}

	.navbar-nav {
		height: auto;
		padding: 12px 18px;
		gap: 0;
	}

	.navbar-nav li {
		width: 100%;
		height: 44px;
	}

	.navbar .nav-link {
		color: var(--text-color) !important;
	}

	.navbar-toggler {
		justify-self: end;
		margin-right: 14px;
	}

	.language-toggle {
		min-width: 0;
		font-size: var(--font-size-nav);
		height: var(--navbar-height-modern);
		line-height: var(--navbar-height-modern);
	}

	.ybdl,
	.content-section,
	.join,
	.friend {
		min-height: auto;
		padding: 58px 0;
	}

	.content-area {
		min-height: auto;
		background: transparent;
	}

	.footer-minimal {
		grid-template-columns: 1fr;
		gap: 34px;
		padding: 40px 0;
	}

	.footer-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px;
	}
}

/* --- [Homepage Minimal Restoration] --- */
body {
	background: var(--bg-color);
	color: var(--text-color);
	font-family: var(--font-current);
	font-weight: var(--font-weight-body);
}

.navbar.navbar-fixed {
	height: var(--navbar-height-modern);
	background: transparent;
	background-image: none;
	border-bottom: 1px solid transparent;
	color: var(--color-white);
	box-shadow: none;
}

.navbar.navbar-fixed.is-scrolled,
.navbar.navbar-fixed.menu-open {
	border-bottom-color: var(--divider-style);
	box-shadow: none;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.navbar.navbar-fixed.is-scrolled.theme-dark {
	background: rgba(6, 4, 1, .18);
	border-bottom-color: var(--color-white-08);
}

.navbar.navbar-fixed.is-scrolled.theme-light,
.navbar.navbar-fixed.menu-open,
.navbar.navbar-fixed.menu-open.theme-dark,
.navbar.navbar-fixed.menu-open.theme-light {
	background: var(--surface-blur);
}

.navbar.navbar-fixed.theme-light,
.navbar.navbar-fixed.menu-open {
	color: var(--text-color);
}

.navbar .container {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	width: 100%;
	max-width: none;
	height: var(--navbar-height-modern);
	padding: 0 var(--fs-body);
}

.navbar-collapse {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	justify-self: center;
}

.navbar-nav {
	gap: var(--nav-gap);
	align-items: center;
	justify-content: center;
	height: var(--navbar-height-modern);
	background: transparent;
	border-radius: 0;
}

.navbar-nav li {
	width: auto;
	height: var(--navbar-height-modern);
}

.navbar-nav li span::after,
.navbar-nav li:hover span::after,
.navbar-nav li.on span::after,
#carouselHero::before,
#carouselHero::after {
	display: none !important;
	opacity: 0 !important;
	transform: none !important;
	content: none !important;
}

.navbar,
.navbar-nav,
.navbar .nav-link,
.language-toggle {
	font-family: var(--font-current);
	font-size: var(--font-size-nav) !important;
	font-weight: var(--font-weight-body);
}

.navbar .nav-link,
.language-toggle {
	color: currentColor;
	opacity: .58;
	transition: color .24s ease, opacity .24s ease;
}

.navbar-nav li:hover a,
.navbar-nav li:focus-within a,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav li.on .nav-link,
.language-toggle:hover,
.language-toggle:focus {
	color: currentColor;
	opacity: 1;
}

.language-toggle {
	justify-self: end;
	min-width: 0;
	height: var(--navbar-height-modern);
	margin-left: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: currentColor;
	font-family: var(--font-current);
	font-size: var(--font-size-nav) !important;
	font-weight: var(--font-weight-body);
	line-height: var(--navbar-height-modern);
	letter-spacing: 0;
	text-align: right;
	white-space: nowrap;
}

.language-toggle:hover {
	border-color: transparent;
	background: transparent;
	color: currentColor;
	transform: none;
}

#carouselHero {
	position: relative;
	background: var(--bg-color);
	border: 0 !important;
	box-shadow: none !important;
}

#carouselHero.home-hero {
	background: #050505 !important;
	color: var(--text-color);
	padding-top: var(--navbar-height-modern);
	min-height: auto;
}

#carouselHero.home-hero .banner {
	height: calc(100vh - var(--navbar-height-modern));
	min-height: 0;
	background: var(--bg-color);
	overflow: hidden;
}

#carouselHero.home-hero .carousel-inner,
#carouselHero.home-hero .carousel-item {
	height: 100%;
	background: var(--bg-color);
}

#carouselHero.home-hero .carousel-item img {
	background: var(--bg-color);
	object-position: var(--home-hero-image-position-x) var(--home-hero-image-position-y);
}

#carouselHero.subBanner {
	height: var(--hero-media-height);
	margin-top: var(--hero-offset-top);
}

#carouselHero.subBanner.product-hero-offset {
	height: 100vh;
	margin-top: 0;
	padding-top: var(--navbar-height-modern);
	background: #050505;
}

#carouselHero.subBanner.product-hero-offset .carousel-inner {
	height: calc(100vh - var(--navbar-height-modern));
	background: #050505;
}

#carouselHero.home-hero .ybdl {
	position: relative;
	inset: auto;
	z-index: 1;
	display: flex;
	align-items: center;
	min-height: 0;
	height: auto;
	padding: var(--home-intro-padding-y) 0;
	background: var(--bg-color) !important;
	background-image: none !important;
	color: var(--text-color);
	pointer-events: auto;
}

#carouselHero.home-hero .ybdl::after {
	display: none !important;
	content: none !important;
}

#carouselHero.home-hero .ybdl img {
	display: none !important;
}

#carouselHero.home-hero .ybdl .box {
	min-height: 0;
	height: auto;
	color: var(--text-color);
}

#carouselHero.home-hero .ybdl .box h1,
#carouselHero.home-hero .ybdl .box p {
	color: currentColor;
	text-shadow: none;
}

#carouselHero.home-hero .ybdl .box p {
	max-width: 900px;
	color: var(--muted-color);
	font-size: clamp(16px, 1.7vw, 22px);
}

#carouselHero.home-hero .ybdl .box p span {
	font-size: inherit;
}

.carousel-caption {
	font-family: var(--font-current);
	font-size: var(--font-size-hero);
	font-weight: var(--font-weight-title);
	line-height: .96;
	letter-spacing: 0;
}

.carousel-item img {
	filter: saturate(.96) contrast(1.02);
}

.ybdl,
.content-section,
.join,
.friend,
.site-footer {
	background: var(--bg-color);
	color: var(--text-color);
}

.ybdl,
.content-section,
.join,
.friend {
	position: relative;
	min-height: auto;
	height: auto;
	border: 0 !important;
	box-shadow: none !important;
}

.ybdl {
	padding: 86px 0;
	background-image: none;
}

.ybdl::after,
.content-section::after,
.join::after,
.friend::after,

.ybdl::after,
.content-section::after,
.join::after,
.friend::after {
	bottom: 0;
}

.site-footer::before {
	top: 0;
}

.ybdl .box {
	color: var(--text-color);
}

.ybdl .box h1 {
	margin: 44px auto 56px;
	color: var(--text-color);
	font-family: var(--font-current);
	font-size: var(--font-size-section-title);
	font-weight: var(--font-weight-title);
	line-height: 1;
	letter-spacing: 0;
}

.ybdl .box p {
	max-width: 980px;
	margin: 0 auto;
	color: var(--muted-color);
	font-family: var(--font-current);
	font-size: clamp(16px, 1.7vw, 22px);
	font-weight: var(--font-weight-body);
	line-height: 1.7;
	opacity: 1;
}

.ybdl .box p span,
.join p span,
.ybdl p strong,
.ybdl p b,
.content-section p strong,
.content-section p b,
.join p strong,
.join p b,
.friend p strong,
.friend p b,
.site-footer strong,
.site-footer b {
	color: var(--accent-color);
	font-weight: inherit;
}

.content-section {
	display: block;
	padding: 78px 0;
	z-index: 1;
}

.content-area {
	height: auto;
	min-height: auto;
	padding: 0;
	align-items: center;
	background: transparent;
	font-size: clamp(30px, 5vw, 72px);
	text-transform: none;
}

.content-area h2 {
	margin-bottom: 36px;
	color: var(--text-color);
	font-family: var(--font-current);
	font-size: clamp(40px, 6vw, 96px);
	font-weight: var(--font-weight-title);
	line-height: 1;
	letter-spacing: 0;
}

.content-area p {
	max-width: 900px;
	color: var(--muted-color);
	font-family: var(--font-current);
	font-size: clamp(18px, 2.6vw, 34px);
	font-weight: var(--font-weight-body);
	line-height: 1.6;
	opacity: 1;
}

.join,
.friend {
	padding: 78px 0;
	text-align: center;
}

.join h2,
.friend h2 {
	color: var(--text-color);
	font-family: var(--font-current);
	font-size: var(--font-size-section-title);
	font-weight: var(--font-weight-title);
	line-height: 1;
	letter-spacing: 0;
}

.join p,
.friend p {
	margin: 40px auto 0;
	color: var(--muted-color);
	font-family: var(--font-current);
	font-size: clamp(16px, 1.7vw, 22px);
	font-weight: var(--font-weight-body);
	line-height: 1.7;
	opacity: 1;
}

.join a {
	display: inline-flex;
	margin-top: 56px;
	text-decoration: none;
}

.join button {
	height: 48px;
	min-width: 112px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 28px 2px;
	border: 2px solid var(--accent-color);
	border-radius: 999px;
	background: transparent;
	color: var(--accent-color);
	font-family: var(--font-current);
	font-size: var(--fs-small);
	font-weight: 700;
	line-height: 1;
	transition: border-color .24s ease, color .24s ease, opacity .24s ease;
}

.join button:hover {
	background: transparent;
	color: var(--accent-color);
	opacity: .86;
}

.join button span {
	display: block;
	width: 100%;
	padding-left: 0;
	font-size: var(--fs-small);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	transform: translateY(0px);
}

.friend .friendLink {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: center;
	justify-content: center;
	gap: clamp(18px, 2.6vw, 40px);
	width: 100%;
	max-width: 1200px;
	margin-top: 52px;
	margin-left: auto;
	margin-right: auto;
}

.friend .friendLink a {
	display: inline-flex;
	width: 100%;
	min-height: 72px;
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.friend .friendLink a img {
	width: 100%;
	max-height: 82px;
	object-fit: contain;
	border-radius: 0;
	box-shadow: none;
	-webkit-mask-image: none;
	mask-image: none;
}

@media (max-width: 767.98px) {
	.friend .friendLink {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 34px;
	}
}

.site-footer {
	position: relative;
	z-index: 2;
	border: 0 !important;
	background: var(--bg-color);
	color: var(--text-color);
}

.site-footer .reveal-on-scroll {
	opacity: 1;
	transform: none;
}

.footer-minimal {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) auto;
	gap: clamp(48px, 8vw, 140px);
	align-items: start;
	padding: 48px 0 56px;
}

.footer-brand {
	max-width: 560px;
}

.footer-logo {
	height: 30px;
	margin-bottom: 28px;
	opacity: .82;
}

.footer-brand p,
.footer-brand a,
.footer-links a {
	color: #999999;
	font-family: var(--font-current);
	font-size: var(--font-size-footer);
	font-weight: var(--font-weight-body);
	line-height: 1.8;
	text-decoration: none;
}

.footer-brand a,
.footer-links a:hover {
	color: var(--text-color);
}

.site-footer .footer-contact-link,
.site-footer .footer-contact-link:hover {
	color: var(--accent-color);
}

.footer-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(128px, max-content));
	gap: clamp(34px, 5vw, 76px);
}

.footer-column {
	display: grid;
	align-content: start;
	gap: 10px;
}

.mainN .L01 .title span[data-i18n="product.comingSoon"] {
	font-family: var(--font-current);
	font-weight: 400;
	letter-spacing: 0;
}

.site-footer .footer-minimal {
	width: min(82%, 1680px);
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 991.98px) {
	.navbar .container {
		grid-template-columns: 1fr auto auto;
		height: var(--navbar-height-modern);
		padding: 0 var(--fs-body);
	}

	.navbar-collapse {
		position: absolute;
		top: 62px;
		left: 0;
		right: 0;
		transform: none;
		justify-self: stretch;
		background: rgba(249, 249, 247, .92);
		border: 1px solid var(--divider-style);
		border-radius: 14px;
		box-shadow: 0 22px 48px var(--color-black-12);
	}

	.navbar-nav {
		height: auto;
		padding: 12px 18px;
		gap: 0;
	}

	.navbar-nav li {
		width: 100%;
		height: 44px;
	}

	.navbar .nav-link {
		color: var(--text-color) !important;
	}

	.navbar-toggler {
		justify-self: end;
		margin-right: var(--fs-body);
	}

	.language-toggle {
		height: var(--navbar-height-modern);
		line-height: var(--navbar-height-modern);
	}

	.ybdl,
	.content-section,
	.join,
	.friend {
		min-height: auto;
		padding: 58px 0;
	}

	.content-area {
		min-height: auto;
		background: transparent;
	}

	.friend .friendLink a {
		width: 100%;
	}

	.footer-minimal {
		grid-template-columns: 1fr;
		gap: 34px;
		padding: 40px 0;
	}

	.footer-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px;
	}
}

/* --- [Contact Subpage Card Shell] --- */
body:has(.contact-page),
body:has(.mainContact) {
	background: var(--color-bg);
}

body:has(.mainContact):not(:has(.contact-page)) .navbar.navbar-fixed {
	background: rgba(28, 28, 28, .82) !important;
	border-bottom-color: rgba(255, 255, 255, .16);
	color: var(--color-white) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

body:has(.mainContact):not(:has(.contact-page)) .navbar .nav-link,
body:has(.mainContact):not(:has(.contact-page)) .language-toggle {
	color: var(--color-white) !important;
}

.subpage-shell {
	min-height: 100vh;
	padding: calc(var(--navbar-height-modern) + 36px) 0 54px;
	background: var(--color-bg);
	color: var(--color-white);
}

.subpage-card {
	width: min(100%, 2040px);
	margin: 0 auto;
	overflow: hidden;
	border-radius: 0 0 68px 68px;
	background: var(--color-text-light);
	color: var(--color-surface);
}

.contact-page .mainContact,
.subpage-shell .mainContact {
	margin-top: 0 !important;
	background: transparent !important;
	color: var(--color-surface);
}

.contact-page .mainContact .box,
.subpage-shell .mainContact .box {
	width: min(82%, 1680px) !important;
	padding: 104px 0 56px;
	border-radius: 0 !important;
	background: transparent !important;
}

.contact-page .contact-link-map,
.subpage-shell .contact-link-map {
	background: transparent !important;
}

.contact-page .contact-link-map ul,
.subpage-shell .contact-link-map ul {
	border-color: rgba(28, 28, 28, .72);
}

.subpage-card-footer {
	border-top: 1px solid rgba(28, 28, 28, .28);
	background: transparent;
}

.subpage-card .site-footer {
	position: relative;
	width: 100%;
	margin: 0;
	border: 0 !important;
	background: transparent !important;
	color: var(--color-surface);
	box-shadow: none;
}

.subpage-card .site-footer::before,
.subpage-card .site-footer::after {
	display: none !important;
	content: none !important;
}

.subpage-card .footer-minimal {
	width: min(82%, 1680px);
	padding: 52px 0 118px;
	background: transparent;
}

.subpage-card .footer-brand p,
.subpage-card .footer-brand a,
.subpage-card .footer-links a {
	color: rgba(28, 28, 28, .58);
}

.subpage-card .footer-brand a,
.subpage-card .footer-links a:hover {
	color: var(--color-surface);
}

.subpage-card .site-footer .footer-contact-link,
.subpage-card .site-footer .footer-contact-link:hover {
	color: var(--color-accent);
}

.subpage-bottom-logo {
	display: block;
	width: min(330px, 42vw);
	height: auto;
	margin: 70px auto 0;
	opacity: .98;
}

/* Fallback for old compiled contact templates where footer is still adjacent to .mainContact. */
.mainContact {
	background: var(--color-bg) !important;
}

.mainContact .box {
	width: min(100%, 2040px) !important;
	margin: 0 auto !important;
	border-radius: 0 !important;
}

.mainContact+.site-footer,
.mainContact~.site-footer {
	width: min(100%, 2040px) !important;
	margin: 0 auto !important;
	overflow: hidden !important;
	border-radius: 0 0 68px 68px !important;
	background: var(--color-text-light) !important;
	color: var(--color-surface) !important;
	box-shadow: none !important;
}

.mainContact+.site-footer::before,
.mainContact+.site-footer::after,
.mainContact~.site-footer::before,
.mainContact~.site-footer::after {
	display: none !important;
	content: none !important;
}

.mainContact+.site-footer .footer-minimal,
.mainContact~.site-footer .footer-minimal {
	width: min(82%, 1680px) !important;
	padding: 52px 0 118px !important;
	background: transparent !important;
}

body:has(.mainContact)::after {
	display: block;
	width: min(330px, 42vw);
	height: 72px;
	margin: 70px auto 54px;
	background: url("/assets/site/logoW.svg") center / contain no-repeat;
	content: "";
}

body:has(.contact-page)::after {
	display: none;
	content: none;
}

.job-page .subpage-card {
	background: var(--color-text-light);
	color: var(--color-surface);
}

.job-list-page.subpage-shell {
	padding-top: 0;
}

.contact-page.subpage-shell,
.job-detail-page.subpage-shell {
	padding-top: 0;
}

.job-page .jobBann {
	height: auto;
	min-height: 420px;
	margin-top: 0;
	background: transparent;
	color: var(--color-surface);
}

.job-list-page .job-list-banner .container {
	padding-top: 80px;
}

.job-detail-page .jobBann .container {
	position: relative;
	top: 80px;
}

.job-page .jobBann a,
.job-page .jobBann h1,
.job-page .jobBann h2,
.job-page .jobBann h3 {
	color: var(--color-surface);
}

.job-page .main,
.job-page .mainN {
	background: transparent;
	color: var(--color-surface);
	padding: 72px 0 56px;
}

.job-page .mainN .box {
	background: transparent;
	color: var(--color-surface);
	padding: 72px 0 96px;
	border-radius: 0;
}

.job-page .main .search,
.job-page .job-result-item,
.job-page .mainN .box .item .title::after {
	border-color: rgba(28, 28, 28, .28);
}

.job-page .main .search input {
	color: var(--color-surface);
	background-image: linear-gradient(to right, rgba(28, 28, 28, .03), rgba(28, 28, 28, .06));
	border-color: rgba(28, 28, 28, .14);
}

.job-page .main .job-search .box,
.job-page .main .job-search .box form {
	width: min(770px, 100%);
}

.job-page .main .job-search .box form {
	position: relative;
	justify-content: center;
}

.job-page .main .job-search input {
	width: 100%;
	margin-right: 0;
	padding-right: 96px;
}

.job-page .main .job-search .search_btn {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 56px;
	height: 56px;
	padding: 0;
	border: 0;
	background-size: 100% 100%;
	transform: translateY(-50%);
}

.job-page a,
.job-page .job-list a,
.job-page .job-result-item a {
	color: inherit;
	text-decoration: none;
}

.job-page .job-filter-item,
.job-page .job-result-list,
.job-page .job-result-item,
.job-page .job-result-title,
.job-page .job-result-subtitle,
.job-page .job-result-description,
.job-page .job-result-number,
.job-page .mainN .box .item .txt {
	color: var(--color-surface);
}

.job-page .job-result-description,
.job-page .job-result-subtitle {
	opacity: .62;
}

.job-page .job-filter-item.on .job-filter-link,
.job-page .job-filter-item:hover .job-filter-link {
	color: var(--color-accent);
}

.job-page .main .logo {
	display: none;
}

.job-page .mainN .box .item .title span {
	background-color: var(--color-accent);
	color: var(--color-white);
}

.job-page .subpage-card-footer {
	border-top: 1px solid rgba(28, 28, 28, .28);
}

.job-detail-page .subpage-card {
	background: var(--color-text-light);
	color: var(--color-surface);
}

.job-detail-page.subpage-shell {
	background: var(--color-bg);
	color: var(--color-white);
}

.job-detail-page .job-detail-container {
	width: min(82%, 1680px);
	margin: 0 auto;
	padding: 0;
}

.job-detail-hero {
	background: transparent;
	padding: 104px 0 42px;
}

.job-detail-hero h1 {
	color: var(--color-surface);
	font-family: 'SRegular';
	font-size: 44px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 18px;
	letter-spacing: 0;
}

.job-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 0;
	color: rgba(28, 28, 28, .58);
	font-family: var(--font-en-light), 'SLight';
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
}

.job-detail-meta span {
	display: inline-flex;
	align-items: center;
}

.job-detail-meta span:not(:last-child)::after {
	width: 1px;
	height: 13px;
	margin: 0 12px;
	background: rgba(28, 28, 28, .36);
	content: "";
}

.job-detail-page .mainN.job-detail-content,
.job-detail-page .mainN.job-detail-content .box {
	background: transparent;
	color: rgba(28, 28, 28, .68);
	padding: 0 0 96px;
	border-radius: 0;
}

.job-detail-content .job-detail-container {
	width: min(82%, 1680px);
}

.job-detail-page .mainN .box .job-detail-section {
	max-width: 760px;
	margin: 0 0 58px;
}

.job-detail-page .mainN .box .job-detail-section:last-child {
	margin-bottom: 0;
}

.job-detail-page .mainN .box .job-detail-section .title {
	position: relative;
	margin: 0 0 22px;
	padding-left: 12px;
	text-align: left;
	color: var(--color-surface);
	font-family: 'PBold', 'SRegular';
	font-size: 24px;
	font-weight: 700;
	line-height: 1.35;
}

.job-detail-page .mainN .box .job-detail-section .title::before {
	position: absolute;
	left: 0;
	top: .24em;
	width: 4px;
	height: 1.08em;
	background: var(--color-accent);
	content: "";
}

.job-detail-page .mainN .box .job-detail-section .title::after {
	display: none;
	content: none;
}

.job-detail-page .mainN .box .job-detail-section .title span {
	display: inline;
	width: auto;
	height: auto;
	line-height: inherit;
	margin: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
}

.job-detail-page .mainN .box .job-detail-text {
	color: rgba(28, 28, 28, .68);
	font-family: 'SLight';
	font-size: 16px;
	line-height: 2.1;
	margin: 0;
	text-align: left;
}

.job-detail-page .mainN .box .job-detail-text * {
	text-align: left;
}

.job-detail-page .mainN .box .job-detail-text p {
	margin: 0 0 8px;
}

.job-detail-page .mainN .box .job-detail-text p:last-child {
	margin-bottom: 0;
}

.job-detail-page .mainN .box .job-detail-preferred {
	margin-top: 0;
}

@media (max-width: 991.98px) {
	.subpage-shell {
		padding: calc(var(--navbar-height-modern) + 20px) 0 36px;
	}

	.subpage-card,
	.mainContact+.site-footer,
	.mainContact~.site-footer {
		width: min(94%, 1760px) !important;
		border-radius: 0 0 32px 32px !important;
	}

	.contact-page .mainContact .box,
	.subpage-shell .mainContact .box,
	.subpage-card .footer-minimal,
	.mainContact+.site-footer .footer-minimal,
	.mainContact~.site-footer .footer-minimal {
		width: min(88%, 1680px) !important;
	}

	.contact-page .mainContact .box,
	.subpage-shell .mainContact .box {
		padding: 56px 0 40px;
	}

	.contact-form-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.contact-map-form .contact-field label,
	.contact-map-form input,
	.contact-map-form select,
	.contact-map-form textarea {
		font-size: 17px;
	}

	.contact-phone-field .contact-phone-code {
		width: 100%;
		margin-bottom: 24px;
	}

	.subpage-card .footer-minimal,
	.mainContact+.site-footer .footer-minimal,
	.mainContact~.site-footer .footer-minimal {
		padding: 40px 0 72px !important;
	}

	.subpage-bottom-logo,
	body:has(.mainContact)::after {
		width: min(220px, 52vw);
		margin-top: 42px;
	}

	.job-page .jobBann {
		min-height: 320px;
	}

	.job-list-page .job-list-banner .container {
		padding-top: 48px;
	}

	.job-detail-page .jobBann .container {
		top: 48px;
	}

	.job-page .main,
	.job-page .mainN,
	.job-page .mainN .box {
		padding: 48px 0 64px;
	}

	.job-list-page.subpage-shell {
		padding-top: 0;
	}

	.contact-page.subpage-shell,
	.job-detail-page.subpage-shell {
		padding-top: 0;
	}

	.job-page .main .job-search .box,
	.job-page .main .job-search .box form {
		width: 100%;
	}

	.job-page .main .job-search input {
		padding-right: 74px;
	}

	.job-page .main .job-search .search_btn {
		right: 12px;
		width: 44px;
		height: 44px;
	}

	.job-detail-page .job-detail-container {
		width: min(88%, 1680px);
	}

	.job-detail-content .job-detail-container {
		width: min(88%, 1680px);
	}

	.job-detail-hero {
		padding: 56px 0 34px;
	}

	.job-detail-hero h1 {
		font-size: 28px;
	}

	.job-detail-page .mainN.job-detail-content,
	.job-detail-page .mainN.job-detail-content .box {
		padding-bottom: 72px;
	}

	.job-detail-page .mainN .box .job-detail-section {
		margin-bottom: 46px;
	}

	.job-detail-page .mainN .box .job-detail-section .title {
		font-size: 22px;
	}
}

/* --- [Navbar Detail Fixes] --- */
#carouselHero.home-hero {
	padding-top: 0 !important;
}

#carouselHero.home-hero .banner {
	height: 100vh !important;
}

#carouselHero.subBanner,
#carouselHero.subBanner.product-hero-offset,
.subBanner.product-hero-offset {
	height: 100vh !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}

#carouselHero.subBanner.product-hero-offset .carousel-inner,
.subBanner.product-hero-offset .carousel-inner {
	height: 100vh !important;
}

.navbar-nav li::before,
.navbar-nav li::after,
.navbar-nav li span::after,
.navbar-nav li:hover::before,
.navbar-nav li:hover::after,
.navbar-nav li:hover span::after,
.navbar-nav li.on::before,
.navbar-nav li.on::after,
.navbar-nav li.on span::after,
.navbar-nav li.on:hover::before,
.navbar-nav li.on:hover::after,
.navbar-nav li.on:hover span::after {
	display: none !important;
	opacity: 0 !important;
	transform: none !important;
	content: none !important;
}

.navbar-nav .nav-link,
.navbar-nav li.on .nav-link,
.navbar-nav li:hover .nav-link,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.language-toggle,
.language-toggle:hover,
.language-toggle:focus {
	color: currentColor !important;
}

.navbar-nav .nav-link,
.language-toggle,
.language-toggle [data-lang-current] {
	font-family: var(--font-current) !important;
	font-size: var(--font-size-nav) !important;
	font-weight: var(--font-weight-body) !important;
	line-height: var(--navbar-height-modern) !important;
	letter-spacing: 0 !important;
}

.lang-en .navbar-nav .nav-link {
	text-transform: uppercase;
	letter-spacing: .08em !important;
}

.lang-zh .navbar-nav .nav-link {
	letter-spacing: .06em !important;
}

.navbar-nav .nav-link,
.language-toggle {
	opacity: .58;
}

.navbar-nav li.on .nav-link,
.navbar-nav li:hover .nav-link,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.language-toggle:hover,
.language-toggle:focus {
	opacity: 1;
}

.language-toggle {
	display: grid !important;
	grid-template-columns: 12px 18px !important;
	column-gap: 8px !important;
	width: 38px !important;
	height: var(--navbar-height-modern) !important;
	align-items: center !important;
	justify-content: start !important;
	padding: 0 !important;
}

.language-toggle [data-lang-current] {
	display: block !important;
	width: 18px !important;
	text-align: left !important;
	white-space: nowrap !important;
}

.language-toggle::before {
	box-sizing: border-box;
	display: block !important;
	width: 12px !important;
	height: 12px !important;
	margin: 0 !important;
	border: 1px solid currentColor;
	border-radius: 50%;
	content: "" !important;
	opacity: .86;
	transform: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

/* --- [Navbar and Home Friend Fine Tuning] --- */
.navbar.navbar-fixed.theme-light,
.navbar.navbar-fixed.is-scrolled.theme-light {
	color: var(--text-color) !important;
}

.navbar.navbar-fixed.theme-light .nav-link,
.navbar.navbar-fixed.theme-light .language-toggle,
.navbar.navbar-fixed.is-scrolled.theme-light .nav-link,
.navbar.navbar-fixed.is-scrolled.theme-light .language-toggle {
	color: var(--text-color) !important;
}

.navbar-nav .dropdown-menu,
.navbar-nav .dropdown-menu *,
.navbar-nav .submenu,
.navbar-nav .submenu * {
	border-top: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.navbar-nav .dropdown-toggle::after,
.navbar-nav .nav-link::before,
.navbar-nav .nav-link::after,
.navbar-nav .nav-link span::before,
.navbar-nav .nav-link span::after {
	display: none !important;
	opacity: 0 !important;
	content: none !important;
	transform: none !important;
}

body:has(.home-hero) .friend p[data-i18n="home.friends.subtitle"],
body:has(.home-hero) .friend::after {
	display: none !important;
}

/* --- [Navbar Dropdown Cleanup] --- */
.navbar.navbar-fixed.theme-dark {
	--navbar-dropdown-bg: rgba(6, 4, 1, .18);
	--navbar-dropdown-border: var(--color-white-08);
}

.navbar.navbar-fixed.theme-light,
.navbar.navbar-fixed.menu-open {
	--navbar-dropdown-bg: var(--surface-blur);
	--navbar-dropdown-border: var(--divider-style);
}

@media (min-width: 992px) {

	.navbar-nav>.nav-item.dropdown.dropdown-empty>.dropdown-menu {
		display: none !important;
	}

	.navbar-nav>.nav-item.dropdown:not(.dropdown-has-items):not(:has(> .dropdown-menu .dropdown-submenu))>.dropdown-menu {
		display: none !important;
	}

	.navbar-nav>.nav-item.dropdown.dropdown-has-items:hover>.dropdown-menu {
		display: block;
	}

	.navbar-nav>.nav-item.dropdown:has(> .dropdown-menu .dropdown-submenu):hover>.dropdown-menu {
		display: block;
	}

	.navbar-nav>.nav-item.dropdown.dropdown-has-items>.dropdown-menu .submenu {
		display: block !important;
	}

	.navbar-nav>.nav-item.dropdown:has(> .dropdown-menu .dropdown-submenu)>.dropdown-menu .submenu {
		display: block !important;
	}

	.navbar-nav>.nav-item.dropdown>.dropdown-menu {
		min-width: 168px;
		padding: 10px 0;
		background: var(--navbar-dropdown-bg, rgba(6, 4, 1, .18));
		border: 1px solid var(--navbar-dropdown-border, var(--color-white-08));
		border-radius: 0;
		color: currentColor;
		backdrop-filter: blur(18px);
		-webkit-backdrop-filter: blur(18px);
	}

	.navbar-nav>.nav-item.dropdown>.dropdown-menu .submenu {
		background: transparent !important;
		border-radius: 0;
		color: currentColor;
	}

	.navbar-nav>.nav-item.dropdown>.dropdown-menu .submenu::before {
		display: none !important;
		content: none !important;
	}

	.navbar-nav>.nav-item.dropdown>.dropdown-menu .dropdown-submenu {
		height: auto;
		min-height: 42px;
		line-height: 1.4;
		border: 0 !important;
	}

	.navbar-nav>.nav-item.dropdown>.dropdown-menu .dropdown-item {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 42px;
		height: auto;
		padding: 0 18px;
		color: currentColor;
		font-family: var(--font-current);
		font-size: var(--font-size-nav);
		font-weight: var(--font-weight-body);
		line-height: 1.4;
		opacity: .7;
		background: transparent;
		margin-left: 0 !important;
	}

	.navbar-nav>.nav-item.dropdown>.dropdown-menu .dropdown-item:hover,
	.navbar-nav>.nav-item.dropdown>.dropdown-menu .dropdown-item:focus {
		color: currentColor;
		opacity: 1;
		background: transparent;
	}
}

/* --- [Detail Page Isolated Transparent Navbar] --- */
body.detail-page-body {
	background: var(--bg-color);
}

body.detail-page-body .navbar.navbar-fixed.detail-page-navbar {
	background: transparent !important;
	border-bottom-color: transparent !important;
	color: var(--color-white) !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body.detail-page-body .navbar.navbar-fixed.detail-page-navbar.theme-light {
	color: var(--text-color) !important;
}

body.detail-page-body .navbar.navbar-fixed.detail-page-navbar.is-scrolled.theme-dark {
	background: rgba(6, 4, 1, .18) !important;
	border-bottom-color: var(--color-white-08) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

body.detail-page-body .navbar.navbar-fixed.detail-page-navbar.is-scrolled.theme-light,
body.detail-page-body .navbar.navbar-fixed.detail-page-navbar.menu-open {
	background: var(--surface-blur) !important;
	border-bottom-color: var(--divider-style) !important;
	color: var(--text-color) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

body:has(.job-page) .navbar.navbar-fixed,
body:has(.contact-page) .navbar.navbar-fixed {
	background: transparent !important;
	border-bottom-color: transparent !important;
	color: var(--color-white) !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body:has(.job-page) .navbar.navbar-fixed.theme-light,
body:has(.contact-page) .navbar.navbar-fixed.theme-light {
	color: var(--text-color) !important;
}

body:has(.job-page) .navbar.navbar-fixed.is-scrolled.theme-dark,
body:has(.contact-page) .navbar.navbar-fixed.is-scrolled.theme-dark {
	background: rgba(6, 4, 1, .18) !important;
	border-bottom-color: var(--color-white-08) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

body:has(.job-page) .navbar.navbar-fixed.is-scrolled.theme-light,
body:has(.job-page) .navbar.navbar-fixed.menu-open,
body:has(.contact-page) .navbar.navbar-fixed.is-scrolled.theme-light,
body:has(.contact-page) .navbar.navbar-fixed.menu-open {
	background: var(--surface-blur) !important;
	border-bottom-color: var(--divider-style) !important;
	color: var(--text-color) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

body.detail-page-body .site-footer::before {
	display: none !important;
	content: none !important;
}

.site-footer .footer-minimal {
	width: min(82%, 1680px) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
	grid-template-columns: minmax(0, 1fr) max-content !important;
	align-items: start !important;
	justify-content: space-between !important;
	column-gap: clamp(48px, 8vw, 140px) !important;
}

.site-footer .footer-brand {
	justify-self: start;
}

.site-footer .footer-links {
	grid-template-columns: 1fr !important;
	align-self: start !important;
	align-content: start !important;
	gap: 10px !important;
	justify-self: end;
	justify-items: start;
	text-align: left;
}

body.lang-en #carouselHero.home-hero .carousel-caption {
	font-family: var(--font-en-light) !important;
	font-weight: 400 !important;
}

.site-footer .footer-inner {
	width: min(80%, 1680px) !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 48px 0 56px !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) max-content !important;
	align-items: flex-start !important;
	justify-content: stretch !important;
	gap: clamp(48px, 8vw, 140px) !important;
	box-sizing: border-box !important;
	opacity: 1 !important;
	transform: none !important;
}

.site-footer .footer-brand-block {
	flex: 1 1 auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	align-self: flex-start !important;
	justify-self: start !important;
}

.site-footer .footer-brand-block .footer-logo {
	display: block !important;
	width: auto !important;
	height: 30px !important;
	margin: 0 0 28px !important;
	opacity: .82 !important;
}

.site-footer .footer-brand-block p,
.site-footer .footer-copyright {
	margin: 0 !important;
	color: #999999 !important;
	font-family: var(--font-current) !important;
	font-size: var(--font-size-footer) !important;
	font-weight: var(--font-weight-body) !important;
	line-height: 1.8 !important;
}

.site-footer .footer-brand-block p a,
.site-footer .footer-copyright a {
	color: var(--text-color) !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	text-decoration: none !important;
}

.site-footer .footer-nav {
	flex: 0 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	align-self: flex-start !important;
	justify-self: end !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.site-footer .footer-nav a {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #999999 !important;
	font-family: var(--font-current) !important;
	font-size: var(--font-size-footer) !important;
	font-weight: var(--font-weight-body) !important;
	line-height: 1.8 !important;
	text-decoration: none !important;
}

.site-footer .footer-nav a:hover {
	color: var(--text-color) !important;
}

.site-footer .footer-nav .footer-contact-link,
.site-footer .footer-nav .footer-contact-link:hover {
	color: var(--accent-color) !important;
}

.site-footer .footer-column {
	display: contents;
}

@media (max-width: 991.98px) {
	.site-footer .footer-inner {
		width: min(88%, 1680px) !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 34px !important;
	}

	.site-footer .footer-brand-block {
		max-width: none !important;
	}

	.site-footer .footer-minimal {
		width: min(88%, 1680px) !important;
		grid-template-columns: 1fr !important;
		row-gap: 34px !important;
	}

	.site-footer .footer-links {
		justify-self: start;
	}
}

.join button,
.join button [data-i18n="home.join.button"] {
	font-weight: 700 !important;
	font-synthesis-weight: auto;
}

body.lang-en .join button,
body.lang-en .join button [data-i18n="home.join.button"] {
	font-family: var(--font-en-medium) !important;
}

body.lang-en .ybdl.reveal-on-scroll .box h1 {
	font-family: var(--font-en-medium) !important;
	font-weight: 700 !important;
}

body.lang-en .join.reveal-on-scroll h2[data-i18n="home.join.title"] {
	font-family: var(--font-en) !important;
	font-weight: 400 !important;
}

/* .navbar .language-toggle {
	transform: translateX(1em) !important;
} */

.join button [data-i18n="home.join.button"] {
	-webkit-text-stroke: .22px currentColor;
	text-shadow: 0 0 0 currentColor;
	transform: translateY(0px);
}