/* default.css */
/* Deafult Margin & Padding */
/*-- Margin Top 
    �������أ�http://www.bootstrapmb.com
    --*/
.mt-5 {
	margin-top: 5px;
}
.mt-10 {
	margin-top: 10px;
}
.mt-15 {
	margin-top: 15px;
}
.mt-20 {
	margin-top: 20px;
}
.mt-25 {
	margin-top: 25px;
}
.mt-30 {
	margin-top: 30px;
}
.mt-35 {
	margin-top: 35px;
}
.mt-40 {
	margin-top: 40px;
}
.mt-45 {
	margin-top: 45px;
}
.mt-50 {
	margin-top: 50px;
}
.mt-55 {
	margin-top: 55px;
}
.mt-60 {
	margin-top: 60px;
}
.mt-65 {
	margin-top: 65px;
}
.mt-70 {
	margin-top: 70px;
}
.mt-75 {
	margin-top: 75px;
}
.mt-80 {
	margin-top: 80px;
}
.mt-85 {
	margin-top: 85px;
}
.mt-90 {
	margin-top: 90px;
}
.mt-95 {
	margin-top: 95px;
}
.mt-100 {
	margin-top: 100px;
}
.mt-105 {
	margin-top: 105px;
}
.mt-110 {
	margin-top: 110px;
}
.mt-115 {
	margin-top: 115px;
}
.mt-120 {
	margin-top: 120px;
}
.mt-125 {
	margin-top: 125px;
}
.mt-130 {
	margin-top: 130px;
}
.mt-135 {
	margin-top: 135px;
}
.mt-140 {
	margin-top: 140px;
}
.mt-145 {
	margin-top: 145px;
}
.mt-150 {
	margin-top: 150px;
}
.mt-155 {
	margin-top: 155px;
}
.mt-160 {
	margin-top: 160px;
}
.mt-165 {
	margin-top: 165px;
}
.mt-170 {
	margin-top: 170px;
}
.mt-175 {
	margin-top: 175px;
}
.mt-180 {
	margin-top: 180px;
}
.mt-185 {
	margin-top: 185px;
}
.mt-190 {
	margin-top: 190px;
}
.mt-195 {
	margin-top: 195px;
}
.mt-200 {
	margin-top: 200px;
}
/*-- Margin Bottom --*/

.mb-5 {
	margin-bottom: 5px;
}
.mb-10 {
	margin-bottom: 10px;
}
.mb-15 {
	margin-bottom: 15px;
}
.mb-20 {
	margin-bottom: 20px;
}
.mb-25 {
	margin-bottom: 25px;
}
.mb-30 {
	margin-bottom: 30px;
}
.mb-35 {
	margin-bottom: 35px;
}
.mb-40 {
	margin-bottom: 40px;
}
.mb-45 {
	margin-bottom: 45px;
}
.mb-50 {
	margin-bottom: 50px;
}
.mb-55 {
	margin-bottom: 55px;
}
.mb-60 {
	margin-bottom: 60px;
}
.mb-65 {
	margin-bottom: 65px;
}
.mb-70 {
	margin-bottom: 70px;
}
.mb-75 {
	margin-bottom: 75px;
}
.mb-80 {
	margin-bottom: 80px;
}
.mb-85 {
	margin-bottom: 85px;
}
.mb-90 {
	margin-bottom: 90px;
}
.mb-95 {
	margin-bottom: 95px;
}
.mb-100 {
	margin-bottom: 100px;
}
.mb-105 {
	margin-bottom: 105px;
}
.mb-110 {
	margin-bottom: 110px;
}
.mb-115 {
	margin-bottom: 115px;
}
.mb-120 {
	margin-bottom: 120px;
}
.mb-125 {
	margin-bottom: 125px;
}
.mb-130 {
	margin-bottom: 130px;
}
.mb-135 {
	margin-bottom: 135px;
}
.mb-140 {
	margin-bottom: 140px;
}
.mb-145 {
	margin-bottom: 145px;
}
.mb-150 {
	margin-bottom: 150px;
}
.mb-155 {
	margin-bottom: 155px;
}
.mb-160 {
	margin-bottom: 160px;
}
.mb-165 {
	margin-bottom: 165px;
}
.mb-170 {
	margin-bottom: 170px;
}
.mb-175 {
	margin-bottom: 175px;
}
.mb-180 {
	margin-bottom: 180px;
}
.mb-185 {
	margin-bottom: 185px;
}
.mb-190 {
	margin-bottom: 190px;
}
.mb-195 {
	margin-bottom: 195px;
}
.mb-200 {
	margin-bottom: 200px;
}
/*-- Padding Top --*/

.pt-5 {
	padding-top: 5px;
}
.pt-10 {
	padding-top: 10px;
}
.pt-15 {
	padding-top: 15px;
}
.pt-20 {
	padding-top: 20px;
}
.pt-25 {
	padding-top: 25px;
}
.pt-30 {
	padding-top: 30px;
}
.pt-35 {
	padding-top: 35px;
}
.pt-40 {
	padding-top: 40px;
}
.pt-45 {
	padding-top: 45px;
}
.pt-50 {
	padding-top: 50px;
}
.pt-55 {
	padding-top: 55px;
}
.pt-60 {
	padding-top: 60px;
}
.pt-65 {
	padding-top: 65px;
}
.pt-70 {
	padding-top: 70px;
}
.pt-75 {
	padding-top: 75px;
}
.pt-80 {
	padding-top: 80px;
}
.pt-85 {
	padding-top: 85px;
}
.pt-90 {
	padding-top: 90px;
}
.pt-95 {
	padding-top: 95px;
}
.pt-100 {
	padding-top: 100px;
}
.pt-105 {
	padding-top: 105px;
}
.pt-110 {
	padding-top: 110px;
}
.pt-115 {
	padding-top: 115px;
}
.pt-120 {
	padding-top: 120px;
}
.pt-125 {
	padding-top: 125px;
}
.pt-130 {
	padding-top: 130px;
}
.pt-135 {
	padding-top: 135px;
}
.pt-140 {
	padding-top: 140px;
}
.pt-145 {
	padding-top: 145px;
}
.pt-150 {
	padding-top: 150px;
}
.pt-155 {
	padding-top: 155px;
}
.pt-160 {
	padding-top: 160px;
}
.pt-165 {
	padding-top: 165px;
}
.pt-170 {
	padding-top: 170px;
}
.pt-175 {
	padding-top: 175px;
}
.pt-180 {
	padding-top: 180px;
}
.pt-185 {
	padding-top: 185px;
}
.pt-190 {
	padding-top: 190px;
}
.pt-195 {
	padding-top: 195px;
}
.pt-200 {
	padding-top: 200px;
}
/*-- Padding Bottom --*/

.pb-5 {
	padding-bottom: 5px;
}
.pb-10 {
	padding-bottom: 10px;
}
.pb-15 {
	padding-bottom: 15px;
}
.pb-20 {
	padding-bottom: 20px;
}
.pb-25 {
	padding-bottom: 25px;
}
.pb-30 {
	padding-bottom: 30px;
}
.pb-35 {
	padding-bottom: 35px;
}
.pb-40 {
	padding-bottom: 40px;
}
.pb-45 {
	padding-bottom: 45px;
}
.pb-50 {
	padding-bottom: 50px;
}
.pb-55 {
	padding-bottom: 55px;
}
.pb-60 {
	padding-bottom: 60px;
}
.pb-65 {
	padding-bottom: 65px;
}
.pb-70 {
	padding-bottom: 70px;
}
.pb-75 {
	padding-bottom: 75px;
}
.pb-80 {
	padding-bottom: 80px;
}
.pb-85 {
	padding-bottom: 85px;
}
.pb-90 {
	padding-bottom: 90px;
}
.pb-95 {
	padding-bottom: 95px;
}
.pb-100 {
	padding-bottom: 100px;
}
.pb-105 {
	padding-bottom: 105px;
}
.pb-110 {
	padding-bottom: 110px;
}
.pb-115 {
	padding-bottom: 115px;
}
.pb-120 {
	padding-bottom: 120px;
}
.pb-125 {
	padding-bottom: 125px;
}
.pb-130 {
	padding-bottom: 130px;
}
.pb-135 {
	padding-bottom: 135px;
}
.pb-140 {
	padding-bottom: 140px;
}
.pb-145 {
	padding-bottom: 145px;
}
.pb-150 {
	padding-bottom: 150px;
}
.pb-155 {
	padding-bottom: 155px;
}
.pb-160 {
	padding-bottom: 160px;
}
.pb-165 {
	padding-bottom: 165px;
}
.pb-170 {
	padding-bottom: 170px;
}
.pb-175 {
	padding-bottom: 175px;
}
.pb-180 {
	padding-bottom: 180px;
}
.pb-185 {
	padding-bottom: 185px;
}
.pb-190 {
	padding-bottom: 190px;
}
.pb-195 {
	padding-bottom: 195px;
}
.pb-200 {
	padding-bottom: 200px;
}



/*-- Padding Left --*/
.pl-0 {
	padding-left: 0px;
}
.pl-5 {
	padding-left: 5px;
}
.pl-10 {
	padding-left: 10px;
}
.pl-15 {
	padding-left: 15px;
}
.pl-20{
	padding-left: 20px;
}
.pl-25 {
	padding-left: 35px;
}
.pl-30 {
	padding-left: 30px;
}
.pl-35 {
	padding-left: 35px;
}

.pl-35 {
	padding-left: 35px;
}

.pl-40 {
	padding-left: 40px;
}

.pl-45 {
	padding-left: 45px;
}

.pl-50 {
	padding-left: 50px;
}

.pl-55 {
	padding-left: 55px;
}

.pl-60 {
	padding-left: 60px;
}
.pl-65 {
	padding-left: 65px;
}
.pl-70 {
	padding-left: 70px;
}
.pl-75 {
	padding-left: 75px;
}
.pl-80 {
	padding-left: 80px;
}
.pl-85 {
	padding-left: 80px;
}
.pl-90 {
	padding-left: 90px;
}
.pl-95 {
	padding-left: 95px;
}
.pl-100 {
	padding-left: 100px;
}


/*-- Padding Right --*/
.pr-0 {
	padding-right: 0px;
}
.pr-5 {
	padding-right: 5px;
}
.pr-10 {
	padding-right: 10px;
}
.pr-15 {
	padding-right: 15px;
}
.pr-20{
	padding-right: 20px;
}
.pr-25 {
	padding-right: 35px;
}
.pr-30 {
	padding-right: 30px;
}
.pr-35 {
	padding-right: 35px;
}

.pr-35 {
	padding-right: 35px;
}

.pr-40 {
	padding-right: 40px;
}

.pr-45 {
	padding-right: 45px;
}

.pr-50 {
	padding-right: 50px;
}

.pr-55 {
	padding-right: 55px;
}

.pr-60 {
	padding-right: 60px;
}
.pr-65 {
	padding-right: 65px;
}
.pr-70 {
	padding-right: 70px;
}
.pr-75 {
	padding-right: 75px;
}
.pr-80 {
	padding-right: 80px;
}
.pr-85 {
	padding-right: 80px;
}
.pr-90 {
	padding-right: 90px;
}
.pr-95 {
	padding-right: 95px;
}
.pr-100 {
	padding-right: 100px;
}

/* font weight */
.f-700{font-weight: 700;}
.f-600{font-weight: 600;}
.f-500{font-weight: 500;}
.f-400{font-weight: 400;}
.f-300{font-weight: 300;}

/* Background Color */

.gray-bg {
	background: #f7f7fd;
}
.white-bg {
	background: #fff;
}
.black-bg {
	background: #222;
}
.theme-bg {
	background: #222;
}
.primary-bg {
	background: #222;
}
/* Color */

.white-color {
	color: #fff;
}
.black-color {
	color: #222;
}
.theme-color {
	color: #222;
}
.primary-color {
	color: #222;
}
/* black overlay */

[data-overlay] {
	position: relative;
}
[data-overlay]::before {
	background: #000 none repeat scroll 0 0;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}
[data-overlay="3"]::before {
	opacity: 0.3;
}
[data-overlay="4"]::before {
	opacity: 0.4;
}
[data-overlay="5"]::before {
	opacity: 0.5;
}
[data-overlay="6"]::before {
	opacity: 0.6;
}
[data-overlay="7"]::before {
	opacity: 0.7;
}
[data-overlay="8"]::before {
	opacity: 0.8;
}
[data-overlay="9"]::before {
	opacity: 0.9;
}
/* style.css */
/*
  Theme Name: Kewi - Architecture & Interior Agency HTML Template
  Support: themegenix@gmail.com
  Description: Kewi - Architecture & Interior Agency HTML Template.
  Version: 1.0
*/

/* CSS Index
============================
01. Variable CSS
02. Header
03. Mobile Menu
04. Search
05. OffCanvas
06. Sidebar Menu
07. Breadcrumb
08. Slider
09. Banner
10. About
11. Brand
12. Services
13. Video
14. Project
15. Counter
16. Skill
17. Marquee
18. Team
19. Testimonial
20. Faq
21. Pricing
22. Blog
23. Pagination
24. Contact
25. Footer
26. Preloader
============================
*/



/*=============================
	1. 字体策略（2026-09-23 重构）
===============================*/
/*
  原 `@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk...')` 已移除，原因有二：
  1) 本文件在 assets/css/theme.min.css 中排在 default.css 之后（第 8682 字符处），
     而 CSS 规范要求 @import 必须位于所有普通规则之前，否则整条规则被浏览器忽略 ——
     即 `Space Grotesk` 实际上从未加载过，是死代码；
  2) fonts.googleapis.com 在中国大陆网络下不可稳定访问，不宜作为企业官网的渲染关键路径。
  现改为纯系统字体栈：拉丁字形取自系统 UI 字体，中文字形逐级回退到各平台最佳中文字体，
  零网络请求、零 FOIT/FOUT，且中英混排基线统一。
*/

/*=============================
	01. Variable CSS
===============================*/
:root {
    --tg-body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans CJK SC",
        "Microsoft YaHei", "Hiragino Sans GB", Arial, sans-serif;
    --tg-heading-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans CJK SC",
        "Microsoft YaHei", "Hiragino Sans GB", Arial, sans-serif;
    --tg-primary-color: #163a34;
    --tg-secondary-color: #204943;
    --tg-body-font-color: #60706c;
    --tg-heading-font-color: #163a34;
    --tg-paragraph-color: #60706c;
    --tg-section-background: #F5F7F4;
    --tg-body-font-size: 18px;
    --tg-body-font-weight: 400;
    --tg-heading-font-weight: 700;
    --tg-body-line-height: 1.55;
    --tg-heading-line-height: 1.2;
    --tg-blue: #0d6efd;
    --tg-indigo: #6610f2;
    --tg-purple: #6f42c1;
    --tg-pink: #d63384;
    --tg-red: #dc3545;
    --tg-orange: #fd7e14;
    --tg-yellow: #ffc107;
    --tg-green: #198754;
    --tg-teal: #20c997;
    --tg-cyan: #0dcaf0;
    --tg-black: #3D3D3D;
    --tg-white: #ffffff;
    --tg-gray: #EDEDED;
    --tg-gray-two: #C4C4C4;
    --tg-gray-three: #999999;
    --facebook: #3b5998;
    --twitter: #00acee;
    --linkedin: #1976d2;
    --pinterest: #3b5998;
    --youtube: #c4302b;
    --skype: #00aff0;
}
body {
	font-family: var(--tg-body-font-family);
	font-weight: var(--tg-body-font-weight);
	font-size: var(--tg-body-font-size);
	line-height: var(--tg-body-line-height);
	color: var(--tg-body-font-color);
	font-style: normal;
}
img,
.img {
	max-width: 100%;
	transition: all 0.3s ease-out 0s;
}
.f-left {
	float: left
}
.f-right {
	float: right
}
.fix {
	overflow: hidden
}
a,
button {
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
	text-decoration: none;
}
a:focus,
.btn:focus,
button:focus {
	text-decoration: none;
	outline: none;
	box-shadow: none;
}

a:hover,
.portfolio-cat a:hover,
.footer -menu li a:hover {
	color: var(--tg-primary-color);
	text-decoration: none;
}
a,
button {
	color: var(--tg-primary-color);
	outline: medium none;
	text-decoration: none;
}
.btn:focus,
button:focus,
input:focus,
input:focus,
textarea,
textarea:focus {
	outline: 0
}
.uppercase {
	text-transform: uppercase;
}
.capitalize {
	text-transform: capitalize;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--tg-heading-font-family);
	color: var(--tg-heading-font-color);
	margin-top: 0px;
	margin-bottom: .7rem;
	font-style: normal;
	line-height: var(--tg-heading-line-height);
	font-weight: var(--tg-heading-font-weight);
	text-transform: inherit;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: inherit;
}
h1 {
	font-size: 2.5rem;
}
h2 {
	font-size: 2rem;
}
h3 {
	font-size: 1.75rem;
}
h4 {
	font-size: 1.5rem;
}
h5 {
	font-size: 1.25rem;
}
h6 {
	font-size: 1rem;
}
.list-wrap {
	margin: 0px;
	padding: 0px;
}
.list-wrap li {
	list-style: none
}
.text-logo {
	display: inline-flex;
	flex-direction: column;
	gap: 4px;
	line-height: 1;
}
.text-logo .cn_w {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--tg-white);
}
.text-logo .cn {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--tg-heading-font-color);
}
.text-logo .en {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--tg-body-font-color);
}
.brand-text {
	display: inline-block;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--tg-heading-font-color);
}
.header-cta .btn,
.touch-btn .btn,
.view-more-btn .btn {
	padding: 18px 28px;
}
/* .header-on-dark：该页的透明头压在深色 hero（.breadcrumb-area 深绿底）上。
   此处 CTA 必须与导航链接、搜索图标同为白色描边，否则深绿字压在深绿底上不可见；
   吸顶后（.sticky-menu，白底）自动回落到 .btn 的深绿配色。
   首页 hero 是浅色 slider，深绿 CTA 本就可读，故不加此类。 */
.header-on-dark .menu-area.transparent-header:not(.sticky-menu) .header-cta .btn {
	color: var(--tg-white);
	border-color: rgb(255 255 255 / 55%);
}
.header-on-dark .menu-area.transparent-header:not(.sticky-menu) .header-cta .btn span::before {
	background: currentColor;
}
.footer-note {
	font-size: 15px;
	line-height: 1.8;
}
.footer-newsletter .list-wrap li {
	margin-bottom: 12px;
}
.footer-newsletter .list-wrap li:last-child {
	margin-bottom: 0;
}
.contact-form .form-grp select,
.contact-form .form-grp input,
.contact-form .form-grp textarea {
	color: var(--tg-heading-font-color);
}
.contact-form .ajax-response.success {
	color: #2e7d32;
}
.contact-form .ajax-response.error {
	color: #c62828;
}
@media (max-width: 767px) {
	.text-logo .cn {
		font-size: 24px;
	}
	.text-logo .en {
		font-size: 10px;
		letter-spacing: 0.24em;
	}
	.brand-text {
		font-size: 16px;
	}
}
p {
	font-size: var(--tg-body-font-size);
	font-weight: var(--tg-body-font-weight);
	line-height: var(--tg-body-line-height);
	color: var(--tg-paragraph-color);
	margin-bottom: 15px;
}
hr {
	border-bottom: 1px solid var(--tg-primary-color);
	border-top: 0 none;
	margin: 30px 0;
	padding: 0;
}
label {
	color: var(--tg-body-font-color);
	cursor: pointer;
	font-size: 16px;
	font-weight: 400;
}
*::-moz-selection {
	background: var(--tg-primary-color);
	color: var(--tg-white);
	text-shadow: none;
}
::-moz-selection {
	background: var(--tg-primary-color);
	color: var(--tg-white);
	text-shadow: none;
}
::selection {
	background: var(--tg-primary-color);
	color: var(--tg-white);
	text-shadow: none;
}
*::-moz-placeholder {
	color: var(--tg-body-font-color);
	font-size: var(--tg-body-font-size);
	opacity: 1;
}
*::placeholder {
	color: var(--tg-body-font-color);
	font-size: var(--tg-body-font-size);
	opacity: 1;
}
.theme-overlay {
	position: relative
}
.theme-overlay::before {
	background: var(--tg-primary-color) none repeat scroll 0 0;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.6;
	position: absolute;
	top: 0;
	width: 100%;
}
.separator {
	border-top: 1px solid var(--tg-primary-color);
}
.wh-70 {
    width: 70%;
}
.wh-75 {
    width: 75%;
}
.wh-80 {
    width: 80%;
}
.wh-85 {
    width: 85%;
}
.wh-90 {
    width: 90%;
}

/* Bootstrap 5 */
.container {
    padding-left: 15px;
    padding-right: 15px;
}
.row {
    --bs-gutter-x: 30px;
}
.row.g-0 {
	--bs-gutter-x: 0;
}
.gutter-y-30 {
  	--bs-gutter-y: 30px;
}

/*=============================
	1. Button style
===============================*/
.btn {
    user-select: none;
    -moz-user-select: none;
    background: transparent;
    border-radius: 2px;
    color: var(--tg-primary-color);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 0;
    padding: 18px 33px;
    text-align: center;
    text-transform: capitalize;
    touch-action: manipulation;
    vertical-align: middle;
    white-space: nowrap;
    border: 2px solid var(--tg-primary-color);
    position: relative;
    overflow: hidden;
    transition: .5s cubic-bezier(.76, .49, .25, 1);
    z-index: 1;
}
.btn span {
    position: relative;
}
.btn span::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--tg-primary-color);
}
.btn::after {
    content: "\f101";
    font-weight: 600;
    font-family: "flaticon";
    line-height: 0;
    margin-left: 10px;
    transform: rotate(90deg);
}
.btn::before {
    content: "";
    background: var(--tg-primary-color);
    position: absolute;
    display: block;
    height: 110%;
    top: -3px;
    -webkit-transform: translateX(-100%) skew(-30deg);
    -moz-transform: translateX(-100%) skew(-30deg);
    transform: translateX(-100%) skew(-30deg);
    -webkit-transition: .5s cubic-bezier(.76, .49, .25, 1);
    -moz-transition: .5s cubic-bezier(.76, .49, .25, 1);
    transition: .5s cubic-bezier(.76, .49, .25, 1);
    left: -25px;
    width: 135%;
    z-index: -1;
}
.btn.white-btn:hover::before,
.btn:hover::before {
    -webkit-transform: translateX(0) skew(-30deg);
    -moz-transform: translateX(0) skew(-30deg);
    transform: translateX(0) skew(-30deg);
}
.btn:hover {
    color: var(--tg-white);
}
.btn.white-btn {
    border-color: #3D3D3D;
    color: var(--tg-white);
    z-index: 1;
}
.btn.white-btn::before {
    background: #3D3D3D;
}
.breadcrumb > .active {
	color: var(--tg-primary-color);
}

/* scrollUp */
.scroll-top {
    width: 35px;
    height: 35px;
    line-height: 35px;
    position: fixed;
    bottom: -10%;
    right: 30px;
    font-size: var(--tg-body-font-size);
    border-radius: 6px;
    z-index: 99;
    color: var(--tg-white);
    text-align: center;
    cursor: pointer;
    background: var(--tg-secondary-color);
    transition: 1s ease;
    border: none;
}
.scroll-top.open {
	bottom: 30px;
}
.scroll-top::after {
	position: absolute;
	z-index: -1;
	content: '';
	top: 100%;
	left: 5%;
	height: 10px;
	width: 90%;
	opacity: 1;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 80%);
}
.scroll-top:hover {
	background: var(--tg-secondary-color);
}


/*=============================
	02. Header
===============================*/
.custom-container {
    max-width: 1650px;
}
.transparent-header {
	position: absolute;
	left: 0;
	top: 0px;
	width: 100%;
	z-index: 9;
	height: auto;
}
#header-fixed-height.active-height {
    display: block;
    height: 94px;
}
.logo img {
    max-width: 92px;
}
/* 防御：模板给 logo 图片写死了 height="720" width="720"，而这里只限宽不限高，
   图片会被渲染成 92 宽 × 720 高，把 .menu-nav 从 94px 撑到 720px ——
   pricing / faq / team 等页的 header 曾因此完全塌陷。补齐 height:auto 消除隐患，
   以防将来再次启用图片形式的 LOGO。 */
.logo img,
.nav-logo img {
    height: auto;
}
.menu-nav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.navbar-wrap {
	display: flex;
	flex-grow: 1;
}
.navbar-wrap ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0 0;
    margin: 0 auto;
}
.navbar-wrap ul li {
    list-style: none;
	display: block;
	position: relative;
}
.navbar-wrap ul li a {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 40px 25px;
    display: block;
    line-height: 1;
    position: relative;
    z-index: 1;
    color: var(--tg-white);
}
.navbar-wrap > ul > li.active > a,
.navbar-wrap > ul > li:hover > a {
	color: var(--tg-white);
}
.main-menu .navigation li.menu-item-has-children .dropdown-btn {
    display: none;
}
.header-action > ul {
	display: flex;
	align-items: center;
	margin-left: 10px;
}
.header-action > ul li {
	position: relative;
	margin-left: 30px;
}
.header-action ul li:first-child {
	margin-left: 0;
}
.header-action ul li a {
    width: 20px;
    height: 20px;
    font-size: 20px;
    color: var(--tg-white);
}
.header-action ul li a svg {
    width: 20px;
    height: 20px;
}
.header-action ul li a svg path {
    color: var(--tg-white);
    transition: .3s linear;
}
.header-action ul li a:hover svg path {
    color: var(--tg-white);
}
.header-action .header-btn .btn {
	color: var(--tg-white);
	font-size: 14px;
	padding: 13px 22px;
}
.navbar-wrap ul li .sub-menu {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	min-width: 230px;
	border: 1px solid #f5f5f5;
	background: var(--tg-white);
	margin: 0 0;
	transform: scale(1 , 0);
	transform-origin: 0 0;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	-webkit-box-shadow: 0px 30px 70px 0px rgba(137,139,142,0.15);
	-moz-box-shadow: 0px 30px 70px 0px rgba(137,139,142,0.15);
	box-shadow: 0px 30px 70px 0px rgba(137,139,142,0.15);
	border-radius: 0;
	padding: 18px 0;
	display: block;
	visibility: hidden;
	opacity: 0;
	z-index: 9;
}
.navbar-wrap ul li .sub-menu .sub-menu {
	right: auto;
	left: 100%;
	top: 0;
}
.navbar-wrap ul li .sub-menu li {
	margin-left: 0;
	text-align: left;
	display: block;
}
.navbar-wrap ul li .sub-menu li a {
    padding: 9px 15px 9px 25px;
    line-height: 1.4;
    font-weight: 700;
    color: var(--tg-primary-color);
    text-transform: uppercase;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    display: flex;
    align-items: center;
    gap: 5px;
}
.navbar-wrap ul li .sub-menu li a::before {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: var(--tg-primary-color);
    transition: .3s ease-in-out;
}
.navbar-wrap ul li .sub-menu > li.active > a::before,
.navbar-wrap ul li .sub-menu li a:hover::before {
    width: 10px;
}
.navbar-wrap ul li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
}
.sticky-menu {
    position: fixed;
    left: 0;
    margin: auto;
    top: 0;
    width: 100%;
    z-index: 9999;
    background: var(--tg-white);
    -webkit-animation: 1000ms ease-in-out 0s normal none 1 running fadeInDown;
    animation: 1000ms ease-in-out 0s normal none 1 running fadeInDown;
    -webkit-box-shadow: 0 10px 15px rgba(25, 25, 25, 0.1);
    box-shadow: 0 10px 15px rgba(25, 25, 25, 0.1);
    border-radius: 0;
}
.sticky-menu .navbar-wrap ul li a {
    color: var(--tg-primary-color);
}
.sticky-menu .header-action ul li a svg path {
    color: var(--tg-primary-color);
}
.sticky-menu .logo {
    display: none;
}
.sticky-menu .logo.d-none {
    display: block !important;
}

/* header-two */
.menu-style-two .navbar-wrap ul li a {
    color: var(--tg-primary-color);
}
.menu-style-two .navbar-wrap ul {
    margin: 0 0 0 auto;
}
.menu-style-two .header-action ul li a svg path {
    color: var(--tg-primary-color);
}
.menu-style-two .header-action > ul {
    margin-left: 50px;
}
.menu-style-two .navbar-wrap ul li .sub-menu .sub-menu {
    right: 100%;
    left: auto;
    top: 0;
}

/* header-three */
.menu-style-three .navbar-wrap ul li a {
    color: var(--tg-primary-color);
}
.menu-style-three .header-action ul li a {
    color: var(--tg-primary-color);
}
.menu-style-three .header-action ul li a svg path {
    color: var(--tg-primary-color);
}
.menu-style-three.sticky-menu .logo {
    display: block;
}
.start-video .menu-style-three {
    background: var(--tg-white);
}




/*=============================
	03. Mobile Menu
===============================*/
.nav-outer .mobile-nav-toggler {
	position: relative;
	float: right;
	font-size: 40px;
	line-height: 50px;
	cursor: pointer;
	display: none;
	color: var(--tg-white);
	margin-right: 30px;
	top: 15px;
}
.nav-logo img {
    width: 92px;
}
.mobile-menu {
	position: fixed;
	right: 0;
	top: 0;
	width: 300px;
	padding-right: 30px;
	max-width: 100%;
	height: 100%;
	z-index: 99;
	border-radius: 0px;
	transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-moz-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-ms-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86)e;
	-o-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-webkit-transform: translateX(101%);
	-ms-transform: translateX(101%);
	transform: translateX(101%);
}
.mobile-menu .navbar-collapse {
	display: block !important;
}
.mobile-menu .nav-logo {
	position: relative;
	padding: 30px 25px;
	text-align: left;
}
.mobile-menu-visible {
	overflow: hidden;
}
.mobile-menu-visible .mobile-menu {
	-webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
}
.mobile-menu .navigation li.current>a:before {
	height: 100%;
}
.menu-backdrop {
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	transition: all 700ms ease;
	-moz-transition: all 700ms ease;
	-webkit-transition: all 700ms ease;
	-ms-transition: all 700ms ease;
	-o-transition: all 700ms ease;
	opacity: 0;
	visibility: hidden;
	background: rgba(0, 0, 0, 0.5);
}
.mobile-menu-visible .menu-backdrop {
	opacity: 1;
	visibility: visible;
}
.mobile-menu .menu-box {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	max-height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	background: var(--tg-white);
	padding: 0px 0px;
	z-index: 5;
	box-shadow: -9px 0 14px 0px rgb(0 0 0 / 6%);
}
.mobile-menu-visible .mobile-menu .menu-box {
	opacity: 1;
	visibility: visible;
}
.mobile-menu .close-btn {
    position: absolute;
    right: 15px;
    top: 28px;
    line-height: 30px;
    width: 35px;
    text-align: center;
    font-size: 20px;
    color: #292b37;
    cursor: pointer;
    z-index: 10;
    -webkit-transition: all 0.9s ease;
    -o-transition: all 0.9s ease;
    transition: all 0.9s ease;
}
.mobile-menu-visible .mobile-menu .close-btn {
	-webkit-transform: rotate(360deg);
	-ms-transform: rotate(360deg);
	transform: rotate(360deg);
}
.mobile-menu .navigation {
	position: relative;
	display: block;
	width: 100%;
	float: none;
	margin: 0;
	padding: 0;
}
.mobile-menu .navigation ul {
	padding: 0;
	margin: 0;
}
.mobile-menu .navigation li {
	position: relative;
	display: block;
	border-top: 1px solid rgb(0 0 0 / 10%);
}
.mobile-menu .navigation:last-child {
	border-bottom: 1px solid rgb(0 0 0 / 10%);
}
.mobile-menu .navigation li>ul>li:first-child {
	border-top: 1px solid rgb(0 0 0 / 10%);
}
.mobile-menu .navigation li > a {
    position: relative;
    display: block;
    line-height: 24px;
    padding: 10px 60px 10px 25px;
    font-size: 14px;
    font-weight: 700;
    color: var(--tg-heading-font-color);
    text-transform: uppercase;
    -webkit-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
    border: none;
}
.mobile-menu .navigation li ul li > a {
	margin-left: 20px;
}
.mobile-menu .navigation li ul li ul li a {
    margin-left: 40px;
}
.mobile-menu .navigation li ul li ul li ul li a {
    margin-left: 60px;
}
.mobile-menu .navigation li > a:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 0;
	-webkit-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.mobile-menu .navigation li.menu-item-has-children .dropdown-btn {
	position: absolute;
	right: 15px;
	top: 6px;
	width: 32px;
	height: 32px;
	text-align: center;
	font-size: 16px;
	line-height: 32px;
	color: #292b37;
	background: var(--tg-gray);
	cursor: pointer;
	border-radius: 2px;
	-webkit-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
	z-index: 5;
}
.mobile-menu .navigation li.menu-item-has-children .dropdown-btn i {
	-webkit-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.mobile-menu .navigation li.menu-item-has-children .dropdown-btn.open i {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	color: var(--tg-primary-color);
}
.mobile-menu .navigation li > ul,
.mobile-menu .navigation li > ul > li > ul {
	display: none;
}
.mobile-menu .social-links ul {
    display: flex;
    position: relative;
    text-align: center;
    padding: 30px 20px 20px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.mobile-menu .social-links li {
    position: relative;
    display: inline-block;
    margin: 0px 6px 10px;
}
.mobile-menu .social-links li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	position: relative;
	line-height: 32px;
	font-size: 16px;
	color: var(--tg-heading-font-color);
	-webkit-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
	border: 1px solid var(--tg-gray);
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	-o-border-radius: 3px;
}
.mobile-menu .social-links li a:hover {
	border-color: var(--tg-primary-color);
	background: var(--tg-primary-color);
	color: var(--tg-white);
}
.menu-area .mobile-nav-toggler {
    position: relative;
    float: right;
    font-size: 30px;
    cursor: pointer;
    line-height: 1;
    color: var(--tg-primary-color);
    display: none;
    margin-top: -2px;
}
.menu-area .mobile-nav-toggler svg {
    width: 30px;
    height: 30px;
}
.menu-area .mobile-nav-toggler svg path {
    color: var(--tg-white);
}

/*=============================
	04. Search
===============================*/
.search-popup-wrap {
    position: fixed;
    top: 0;
    left: 0;
    background: var(--tg-white);
    height: auto;
    width: 100%;
    padding: 40px 0 50px;
    display: none;
    z-index: 99999;
}
.search-form {
	position: relative;
}
.search-form input {
	width: 100%;
	border: none;
	border-bottom: 1px solid var(--tg-primary-color);
	padding: 10px 50px 20px;
	text-align: center;
	font-weight: 500;
	font-size: 30px;
	background: transparent;
    color: var(--tg-primary-color);
}
.search-form input::placeholder {
	font-size: 30px;
    color: var(--tg-primary-color);
	opacity: .5;
}
.search-btn {
	position: absolute;
	right: 20px;
	background: transparent;
	border: 0;
	font-size: 25px;
	color: var(--tg-primary-color);
	top: 50%;
	transform: translateY(-50%);
}
.search-close {
	position: absolute;
	top: 5%;
	right: 5%;
	font-size: 30px;
	color: var(--tg-primary-color);
	cursor: pointer;
}
body.search-visible {
	overflow: hidden;
}
.search-backdrop {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 4;
    transition: all .3s linear;
    -moz-transition: all .3s linear;
    -webkit-transition: all .3s linear;
    -ms-transition: all .3s linear;
    -o-transition: all .3s linear;
    opacity: 0;
	background: var(--tg-primary-color);
	cursor: url(../img/icons/cross-out.png), pointer;
	z-index: 99;
	visibility: hidden;
}
.search-visible .search-backdrop {
    opacity: .55;
	visibility: visible;
}


/*=============================
	05. OffCanvas
===============================*/
.extra-info {
    background: var(--tg-white) none repeat scroll 0 0;
    height: 100%;
    padding: 30px;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: all 600ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: all 600ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
    width: 340px;
    z-index: 99999;
    overflow-y: scroll;
    transform: translateX(100%);
}
.extra-info.active {
	transform: translateX(0);
}
.close-icon {
	margin-top: -16px;
	text-align: right;
}
.close-icon > button {
    background: transparent;
    border: 0 none;
    color: var(--tg-primary-color);
    cursor: pointer;
    font-size: 20px;
    padding: 0;
}
.extra-info .logo-side img {
	max-width: 92px;
}
.side-info {
	border-top: 1px solid var(--tg-primary-color);
	padding-top: 25px;
}
.contact-list h4 {
	color: var(--tg-heading-font-color);
	font-weight: 500;
	font-size: 18px;
}
.contact-list p {
    color: var(--tg-paragraph-color);
    margin: 0;
    margin-bottom: 2px;
    line-height: 26px;
}
.side-instagram {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    margin: -5px;
}
.side-instagram li {
    width: 33.3333%;
    flex: 0 0 33.3333%;
    padding: 5px;
}
.side-instagram li > a {
	display: block;
}
.side-instagram img {
	width: 100%;
}
.social-icon-right > a {
	color: var(--tg-primary-color);
	display: inline-block;
	margin-right: 20px;
	text-align: center;
}
.social-icon-right > a:hover {
    color: var(--tg-secondary-color);
}
.offcanvas-overly {
	position: fixed;
	background: var(--tg-primary-color);
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
.offcanvas-overly.active {
	opacity: .5;
	visibility: visible;
}
.extra-info::-webkit-scrollbar {
    width: 0px;
}


/*=============================
	06. Sidebar Menu
===============================*/
.sidebar-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 100px;
    padding: 40px 25px;
    position: absolute;
    left: 0;
    top: 0;
    height: 100vh;
    z-index: 10;
    background: var(--tg-white);
    border-right: 1px solid #E9E9E9;
}
.sidebar-social .list-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: flex-end;
}
.sidebar-social .list-wrap li a {
    font-size: 14px;
    display: block;
}
.sidebar-menu .menu-icon {
    margin: auto 0;
}
.sidebar-menu .menu-icon a {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border-radius: 50%;
	border: 1.3px solid #E9E9E9;
	color: var(--tg-primary-color);
    margin: 40px 0;
}
.sidebar-menu .menu-icon a span {
    background-color: var(--tg-primary-color);
    height: 2px;
    width: 16px;
    border-radius: 30px;
    transition: .15s linear;
}
.sidebar-menu .menu-icon.active a span:nth-child(1) {
    transform: rotate(45deg);
    margin-bottom: -2px;
}
.sidebar-menu .menu-icon.active a span:nth-child(3) {
    margin-top: -5px;
    transform: rotate(-45deg);
}
.sidebar-menu .menu-icon.active a span:nth-child(2) {
    display: none;
}
.sidebar-menu .sidebar-logo {
    text-align: center;
}
.main-content-two {
	margin-left: 110px;
}
.side-menu-wrapper {
    position: absolute;
    overflow-y: auto;
    top: 0;
    left: 0;
    width: 500px;
    height: 100vh;
    padding: 35px 115px 55px;
    transform: translateX(-100%);
    height: 100%;
    display: block;
    background-color: var(--tg-white);
    z-index: 9;
    -webkit-transition: all 600ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
    -moz-transition: all 600ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: all 600ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.side-menu-wrapper::-webkit-scrollbar {
    width: 0;
}
.side-menu-inner ul {
    margin: 0;
    padding: 0;
}
.side-menu-inner li {
    list-style: none;
}
.side-menu-inner .navigation li>a {
    color: var(--tg-heading-font-color);
}
.side-menu-wrapper.side-menu-show {
    transform: translateX(0);
}
.sidebar-menu-backdrop {
    z-index: 8;
}
.side-menu-inner .navigation li .dropdown-icon {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    width: 100%;
    height: 50px;
}
.side-menu-inner .navigation li.menu-item-has-children .sub-menu {
    display: none;
    margin: 15px 0;
}
.side-menu-inner .navigation li {
    display: block;
    list-style: none;
    position: relative;
}
.side-menu-inner .navigation li > a {
    position: relative;
    display: block;
    line-height: 1;
    padding: 10px 40px;
    font-size: 30px;
    font-weight: 500;
    color: var(--tg-primary-color);
    font-family: var(--tg-heading-font-family);
    text-transform: capitalize;
    -webkit-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
    border: none;
    text-transform: uppercase;
}
.side-menu-inner .navigation > li {
    margin-bottom: 10px;
}
.side-menu-inner .navigation > li .sub-menu li a {
    font-size: 16px;
    font-family: var(--tg-body-font-family);
    color: var(--tg-primary-color);
    text-transform: capitalize;
}
.side-menu-inner .navigation > li.is-show {
    visibility: visible;
    opacity: 1;
    top: 0px;
}
.side-menu-inner .navigation > li {
    top: -20px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: .2s all ease;
    -o-transition: .2s all ease;
    transition: .2s all ease;
}
.sidebar-menu-backdrop {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 99;
    transition: all 700ms ease;
    -moz-transition: all 700ms ease;
    -webkit-transition: all 700ms ease;
    -ms-transition: all 700ms ease;
    -o-transition: all 700ms ease;
    opacity: 0;
    visibility: hidden;
    background: var(--tg-primary-color);
}
.burger-menu-visible .sidebar-menu-backdrop {
    opacity: .6;
    visibility: visible;
}
.side-menu-wrapper.side-menu-show {
    transform: translateX(0);
}
.sidebar-menu-backdrop {
    z-index: 8;
}


/*=============================
	07. Breadcrumb
===============================*/
.breadcrumb-bg {
    background-size: cover;
    background-position: center;
    min-height: 520px;
    padding: 180px 0 96px;
    display: flex;
    align-items: center;
}
.breadcrumb-content {
    text-align: center;
}
.breadcrumb-content .breadcrumb {
    justify-content: center;
    margin-bottom: 20px;
}
.breadcrumb-content .breadcrumb-item {
    font-weight: 700;
    font-size: 14px;
    color: var(--tg-white);
}
.breadcrumb-content .breadcrumb-item a {
    color: var(--tg-gray-two);
    font-weight: 400;
}
.breadcrumb-content .breadcrumb-item+.breadcrumb-item::before {
    padding-right: 10px;
    color: #393939;
    content: "/";
}
.breadcrumb-content .breadcrumb-item+.breadcrumb-item {
    padding-left: 10px;
}
.breadcrumb-content .title {
    margin-bottom: 0;
    color: var(--tg-white);
    font-size: clamp(38px, 3.5vw, 50px);
    line-height: 1.2;
    letter-spacing: -.025em;
    text-wrap: balance;
}

/* ===============================================================
   关于我们：企业叙事页
   仅作用于 body.about-page，避免影响其他内页的通用组件。
   =============================================================== */
.about-page .about-hero {
    position: relative;
    min-height: 520px;
    padding: 152px 0 72px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-position: center 45%;
    isolation: isolate;
}
.about-page .about-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(7, 28, 25, .94) 0%, rgba(12, 43, 38, .75) 48%, rgba(10, 35, 31, .2) 100%),
        linear-gradient(0deg, rgba(5, 24, 21, .48) 0%, transparent 44%);
}

.about-page .about-hero .breadcrumb-content {
    text-align: left;
}
.about-page .about-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    color: rgba(255, 255, 255, .68);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .24em;
}
.about-page .about-hero-kicker::before {
    content: "";
    width: 42px;
    height: 1px;
    background: currentColor;
}
.about-page .about-hero .title {
    max-width: 700px;
    margin-bottom: 22px;
    font-size: clamp(42px, 4.25vw, 62px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
    text-wrap: balance;
}
.about-page .about-hero .title span {
    color: rgba(255, 255, 255, .62);
    font-weight: 400;
}
.about-page .about-hero-lead {
    max-width: 600px;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: clamp(17px, 1.35vw, 21px);
    line-height: 1.8;
    letter-spacing: .025em;
    text-wrap: pretty;
}
.about-page .about-hero-scroll {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 30px;
    color: var(--tg-white);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
}
.about-page .about-hero-scroll i {
    transition: transform .3s ease;
}
.about-page .about-hero-scroll:hover {
    color: var(--tg-white);
}
.about-page .about-hero-scroll:hover i {
    transform: translateY(5px);
}

.about-page .about-area-four {
    padding: 112px 0 96px !important;
    background: var(--tg-white);
}
.about-page .about-img-four {
    position: relative;
    overflow: hidden;
    min-height: 620px;
}
.about-page .about-img-four::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7, 31, 27, .78) 0%, rgba(7, 31, 27, .12) 62%, transparent 100%);
    pointer-events: none;
}
.about-page .about-img-four picture,
.about-page .about-img-four img {
    display: block;
    width: 100%;
    height: 100%;
}
.about-page .about-img-four img {
    position: absolute;
    inset: 0;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}
.about-page .about-img-four:hover img {
    transform: scale(1.025);
}
.about-page .about-image-statement {
    position: absolute;
    left: clamp(32px, 6vw, 88px);
    bottom: clamp(34px, 6vw, 82px);
    z-index: 2;
    max-width: 860px;
}
.about-page .about-image-statement span {
    display: block;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, .66);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .18em;
}
.about-page .about-image-statement p {
    margin: 0;
    color: var(--tg-white);
    font-size: clamp(30px, 3.1vw, 48px);
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -.025em;
    text-wrap: balance;
    white-space: nowrap;
}
.about-page .about-image-index {
    position: absolute;
    right: 36px;
    top: 28px;
    z-index: 2;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    letter-spacing: .12em;
}

.about-page .about-area-five {
    padding: 24px 0 132px;
}
.about-page .about-content-three {
    margin-right: 90px;
}
.about-page .about-content-three .section-title .title {
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.42;
    letter-spacing: -.025em;
    text-wrap: balance;
}
.about-page .about-content-three > p {
    max-width: 590px;
    font-size: 17px;
    line-height: 2;
}
.about-page .about-list-wrap .list-wrap {
    margin: 0;
    border-top: 1px solid rgba(22, 58, 52, .2);
}
.about-page .about-list-wrap .list-wrap li {
    width: 100%;
    padding: 0;
}
.about-page .about-list-wrap .list-wrap li:nth-child(even) .about-list-item {
    transform: none;
}
.about-page .about-list-wrap .about-list-item {
    display: grid;
    grid-template-columns: 135px 150px 1fr;
    gap: 28px;
    align-items: start;
    margin: 0;
    padding: 28px 0;
    border-bottom: 1px solid rgba(22, 58, 52, .2);
    background: transparent;
    box-shadow: none;
}
.about-page .about-list-item .date {
    margin: 0;
    color: var(--tg-primary-color);
    font-size: 34px;
    font-weight: 600;
    letter-spacing: -.04em;
    -webkit-text-stroke: 0;
}
.about-page .about-list-item .title {
    margin: 6px 0 0;
    font-size: 17px;
    line-height: 1.5;
}
.about-page .about-list-item p {
    margin: 2px 0 0;
    font-size: 14px;
    line-height: 1.85;
}

.about-page .brand-area-four {
    padding: 0;
    background: var(--tg-white);
}
.about-page .brand-item-wrap-two {
    padding: 38px 46px;
}
.about-page .brand-item {
    min-height: 50px;
}
.about-page .brand-item .brand-text {
    color: rgba(255, 255, 255, .74);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .08em;
}
.about-page .services-area-four {
    margin-top: 0;
    padding: 132px 0 102px;
}
.about-page .services-area-five {
    padding: 126px 0 96px;
    background: var(--tg-white);
}
.about-page .services-area-four .section-title,
.about-page .services-area-five .section-title {
    max-width: 1040px;
}
.about-page .services-area-four .section-title .title,
.about-page .services-area-five .section-title .title {
    line-height: 1.55;
    text-wrap: balance;
}
.about-page .services-area-four .services-item {
    text-align: left;
    border-top: 2px solid var(--tg-primary-color);
    min-height: 430px;
    padding: 48px 40px;
}
.about-page .services-area-four .services-icon {
    margin-bottom: 48px;
}
.about-page .services-area-four .services-content .divider {
    width: 100%;
    height: 1px;
    margin: 0 0 26px;
}
.about-page .services-area-four .services-item:hover .services-content .divider {
    width: 48px;
    height: 2px;
}
.about-page .faq-area-two {
    padding: 0;
    background: var(--tg-section-background);
}
.about-page .faq-area-two .faq-inner-wrap {
    width: 100%;
    margin: 0;
    overflow: hidden;
    box-shadow: none;
}
.about-page .faq-area-two .faq-content-two {
    background: var(--tg-primary-color);
}
.about-page .faq-area-two .counter-circle-wrap {
    min-height: 100%;
}
.about-page .footer-area {
    background: #0b2723;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

@media (max-width: 1199px) {
    .about-page .about-hero {
        min-height: 500px;
        padding: 140px 0 64px;
    }
    .about-page .about-content-three {
        margin-right: 40px;
    }
    .about-page .about-list-wrap .about-list-item {
        grid-template-columns: 110px 125px 1fr;
        gap: 20px;
    }
}
@media (max-width: 991px) {
    .about-page .about-hero {
        min-height: 500px;
        padding: 128px 0 58px;
        background-position: 62% center;
    }
    .about-page .about-img-four {
        min-height: 500px;
    }
    .about-page .about-content-three {
        margin: 0 0 64px;
    }
    .about-page .about-list-wrap .about-list-item {
        grid-template-columns: 120px 145px 1fr;
    }
}
@media (max-width: 767px) {
    .about-page .about-hero {
        min-height: 540px;
        padding: 122px 0 54px;
    }
    .about-page .about-hero::before {
        background: linear-gradient(90deg, rgba(7, 28, 25, .92) 0%, rgba(10, 37, 32, .68) 100%);
    }
    .about-page .about-hero::after {
        left: 20px;
        height: 48px;
    }
    .about-page .about-hero-kicker {
        margin-bottom: 18px;
        font-size: 11px;
    }
    .about-page .about-hero .title {
        margin-bottom: 18px;
        font-size: clamp(34px, 9vw, 42px);
        line-height: 1.18;
    }
    .about-page .about-hero-lead br {
        display: none;
    }
    .about-page .about-hero-scroll {
        margin-top: 24px;
    }
    .about-page .about-area-four {
        padding: 72px 0 70px !important;
    }
    .about-page .about-img-four {
        min-height: 430px;
    }
    .about-page .about-image-statement {
        left: 24px;
        right: 24px;
        bottom: 28px;
    }
    .about-page .about-image-statement p {
        font-size: 28px;
        white-space: normal;
    }
    .about-page .about-area-five {
        padding: 0 0 88px;
    }
    .about-page .about-content-three .section-title .title br {
        display: none;
    }
    .about-page .about-list-wrap .about-list-item {
        grid-template-columns: 96px 1fr;
        gap: 8px 18px;
        padding: 24px 0;
    }
    .about-page .about-list-item .date {
        grid-row: 1 / span 2;
        font-size: 28px;
    }
    .about-page .about-list-item .title {
        margin-top: 0;
    }
    .about-page .about-list-item p {
        grid-column: 2;
    }
    .about-page .brand-item-wrap-two {
        padding: 26px 20px;
    }
    .about-page .services-area-four,
    .about-page .services-area-five {
        padding: 88px 0 58px;
    }
    .about-page .services-area-four .section-title .title br,
    .about-page .services-area-five .section-title .title br {
        display: none;
    }
    .about-page .services-area-four .services-item {
        min-height: 0;
        padding: 38px 30px;
    }
}

/*=============================
	08. Slider
===============================*/
.slider-area {
    position: relative;
}
.slick-counter {
    position: absolute;
    right: 150px;
    bottom: 100px;
    z-index: 3;
    font-size: 26px;
    font-weight: 300;
    color: var(--tg-body-font-color);
    line-height: 1;
    display: flex;
    align-items: flex-end;
    gap: 8px;
}
.slick-counter .current {
    font-weight: 700;
    font-size: 26px;
    color: var(--tg-white);
}
.slick-counter .total {
    font-weight: 700;
    font-size: 16px;
    color: var(--tg-white);
}
.slider-bg {
    background-size: cover;
    background-position: center;
    min-height: 930px;
    display: flex !important;
    align-items: center;
    position: relative;
    z-index: 1;
    padding: 150px 0 120px;
    cursor: grab;
}
.slider-bg::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--tg-primary-color);
    opacity: 0.6;
    z-index: -1;
}
.slider-content .title {
    font-size: 100px;
    margin-bottom: 70px;
    line-height: 1.1;
    color: var(--tg-white);
}
.slider-content .title span {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    display: inline-block;
    transform: translateY(-16px);
    margin-right: 20px;
}
.slider-avatar {
    display: flex;
    align-items: center;
}
.slider-avatar .thumb {
    flex: 0 0 auto;
    width: 60px;
    margin-right: 20px;
}
.slider-avatar .thumb img {
    border-radius: 50%;
}
.slider-avatar .content .name {
    margin-bottom: 10px;
    color: var(--tg-white);
    font-size: 16px;
}
.slider-avatar .content span {
    display: block;
    font-size: 14px;
    color: var(--tg-white);
    opacity: .6;
    line-height: 1;
}

/*=============================
	09. Banner
===============================*/
.banner-area {
    position: relative;
    z-index: 1;
    padding: 100px 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
}
.banner-bg {
    background-size: cover;
    background-position: center;
    width: 65%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}
.banner-avatar {
    display: flex;
    align-items: center;
    margin-bottom: 120px;
}
.banner-avatar .thumb {
    width: 60px;
    flex: 0 0 auto;
    margin-right: 20px;
}
.banner-avatar .thumb img {
    border-radius: 50%;
}
.banner-avatar .content .name {
    margin-bottom: 10px;
    font-size: 16px;
}
.banner-avatar .content span {
    display: block;
    line-height: 1;
    font-size: 14px;
    color: var(--tg-primary-color);
    opacity: .6;
}
.banner-content .title {
    font-size: 60px;
    margin-bottom: 60px;
    line-height: 1.16;
}

/* banner-two */
.banner-bg-two {
    background-size: cover;
    background-position: center;
    padding: 200px 0 120px;
    position: relative;
    overflow: hidden;
}
.banner-content-two .main-title {
    margin-bottom: 100px;
    font-size: 150px;
    line-height: .8;
}
.banner-content-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    position: relative;
}
.banner-content-inner .left-side-content {
    width: 45%;
    flex: 0 0 auto;
}
.banner-content-inner .title {
    margin-bottom: 0;
    font-size: 60px;
}
.banner-content-two .main-title span {
    color: #CACACA;
}
.banner-video-wrap {
    --clip-path: circle(200px at center);
    --clip-path-hover: circle(200px at center);
    --clip-path-clicked: circle(100vw at center);
    --duration: .4s;
    --timing-function: ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.banner-video-wrap .video-info {
    width: 400px;
    position: relative;
    right: 0;
    top: 0;
    height: 400px;
}
.banner-video-wrap #video_check {
    width: 400px;
    height: 400px;
    margin: auto;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    border-radius: 40px;
    outline: none;
    z-index: 2;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    z-index: 5;
}
.banner-content-inner #video_check:checked ~ .video {
    -webkit-clip-path: var(--clip-path-clicked);
    clip-path: var(--clip-path-clicked);
}
.banner-video-wrap .video {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-clip-path: var(--clip-path);
    clip-path: var(--clip-path);
    -webkit-transition: -webkit-clip-path var(--duration) var(--timing-function);
    transition: -webkit-clip-path var(--duration) var(--timing-function);
    transition: clip-path var(--duration) var(--timing-function);
    transition: clip-path var(--duration) var(--timing-function), -webkit-clip-path var(--duration) var(--timing-function);
    position: relative;
    top: 0;
    left: 0;
}
.banner-video-wrap .video video {
    position: fixed;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: auto;
    width: auto;
    height: auto;
}
.banner-video-wrap .intro-icon {
    z-index: 1;
    position: relative;
}
.banner-video-wrap .intro-icon .video-icon {
    position: absolute;
    width: 120px;
    height: 120px;
    display: block;
    text-align: center;
    line-height: 6.5;
    border-radius: 50%;
    background: var(--tg-white);
    box-shadow: 0px 16px 32px rgba(0, 0, 0, 0.06);
}
.banner-video-wrap .intro-icon .video-icon.close-video-icon {
    display: none;
    font-size: 70px;
    line-height: 1.5;
    color: var(--tg-primary-color);
}
.start-video .banner-content-two .main-title {
    color: var(--tg-white);
    z-index: 2;
    position: relative;
}
.start-video .banner-content-two .banner-content-inner .title {
    color: var(--tg-white);
    position: relative;
    z-index: 2;
}
.start-video .banner-area-two .brand-area-three {
    position: relative;
    z-index: 2;
}
.start-video .brand-item img {
    filter: brightness(1) invert(1);
    opacity: .5;
}



/*=============================
	10. About
===============================*/
/* 「核心聚焦」位于 .about-content .right-side-content 内，不在 .section-title 里，
   这里一并纳入，保证它与「品牌定位」等小标题规格完全一致（批次 6）。 */
.section-title .sub-title,
.about-content .right-side-content .sub-title {
    display: block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    position: relative;
    line-height: 1;
    padding-bottom: 16px;
    margin-bottom: 28px;
}

/* 深绿圆角方块 + 白色图标。上下负外边距把 34px 图标压回 18px 占用高度，
   使小标题整体高度维持「18px 行高 + 16px 内边距」不变，不破坏区块垂直节奏。
   此处 vertical-align 仅作降级：支持 :has() 的浏览器由下方 flex 规则精确对齐。 */
.section-title .sub-title > i,
.about-content .right-side-content .sub-title > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 34px;
    height: 34px;
    margin: -8px 12px -8px 0;
    border-radius: 10px;
    background: var(--tg-primary-color);
    color: var(--tg-white);
    font-size: 15px;
    line-height: 1;
    vertical-align: middle;
}

/* 有图标的小标题改 flex 居中：图标中线与文字中线严格重合，
   实测可将中线偏差由 2.5px 收敛到 0（无图标的 .sub-title 不受影响） */
.section-title .sub-title:has(> i),
.about-content .right-side-content .sub-title:has(> i) {
    display: flex;
    align-items: center;
}
.section-title .sub-title::before,
.about-content .right-side-content .sub-title::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--tg-gray);
}
.section-title .title {
    margin-bottom: 0;
    font-size: 32px;
    line-height: 1.45;
}
.about-img {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    clip-path: inset(0 0 0 0);
}
.about-img:hover {
    clip-path: inset(8px 8px 8px 8px);
}
.about-img img {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transform: scale(1);
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}
.about-img img:hover {
    transform: scale(1.05);
}
.about-content {
    display: flex;
    align-items: flex-start;
    margin-left: 80px;
}
.about-content .left-side-content {
    width: 50%;
    flex: 0 0 auto;
}
.about-content .left-side-content p {
    margin-bottom: 60px;
}
.about-content .right-side-content {
    flex-grow: 1;
    margin-left: 90px;
}
/* :not(.sub-title) —— 「核心聚焦」已升级为 .sub-title，不再套用小号灰字规格 */
.about-content .right-side-content span:not(.sub-title) {
    display: block;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 14px;
    color: var(--tg-gray-three);
    letter-spacing: 0.1em;
    margin-bottom: 25px;
}
.about-content .right-side-content .list-wrap li {
    margin-bottom: 10px;
}
.about-content .right-side-content .list-wrap li:last-child {
    margin-bottom: 0;
}
.about-content .right-side-content .list-wrap li a {
    display: inline-block;
    font-weight: 500;
    font-size: 18px;
    position: relative;
}
.about-content .right-side-content .list-wrap li a::before {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.about-content .right-side-content .list-wrap li a:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* about-two */
.about-area-two.about-bg {
    background-size: cover;
    background-position: center;
    padding: 120px 0;
}
.about-img-two {
    margin-right: 65px;
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    clip-path: inset(0 0 0 0);
}
.about-img-two:hover {
    clip-path: inset(8px 8px 8px 8px);
}
.about-img-two img {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transform: scale(1);
    width: 100%;
}
.about-img-two img:hover {
    transform: scale(1.05);
}
.about-content-two p {
    margin-bottom: 60px;
    width: 90%;
}

/* about-three */
.about-area-three {
    padding: 120px 0;
    position: relative;
    background: var(--tg-section-background);
    z-index: 1;
}
.about-content-three {
    margin-right: 80px;
}
.about-content-three p {
    margin-bottom: 40px;
}
.about-list-wrap .list-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}
.about-list-wrap .list-wrap li {
    padding: 0 15px;
    width: 50%;
}
.about-list-wrap .list-wrap li:nth-child(even) .about-list-item {
    transform: translateY(30px);
}
.about-list-wrap .about-list-item {
    background: var(--tg-white);
    padding: 40px;
    margin-bottom: 30px;
    box-shadow: 0px 16px 32px rgba(0, 0, 0, 0.06);
}
.about-list-item .date {
    margin-bottom: 0;
    font-size: 60px;
    margin-bottom: 0;
    line-height: 1;
    -webkit-text-stroke: 1px #D7D7D7;
    color: transparent;
    margin-bottom: 30px;
}
.about-list-item .title {
    font-size: 20px;
    margin-bottom: 20px;
}
.about-list-item p {
    margin-bottom: 0;
    font-size: 14px;
}
.about-shape {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}



/*=============================
	11. Brand
===============================*/
.brand-item {
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.brand-item img {
    opacity: .30;
    transition: .3s linear;
    cursor: pointer;
}
.brand-item img:hover {
    opacity: 1;
}

/* brand-two */
.brand-area-two {
    background: var(--tg-section-background);
    padding: 120px 0;
}
.section-title .title span {
    color: var(--tg-gray-two);
}
.brand-item-wrap .list-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 80px 0;
}
.brand-item-wrap .list-wrap li {
    width: 20%;
    flex: 0 0 auto;
}


.brand-item-wrap-two {
    background: var(--tg-primary-color);
    padding: 55px 50px;
    position: relative;
    z-index: 1;
}
.brand-item-wrap-two .brand-item img {
    filter: brightness(1) invert(1);
    opacity: .5;
}
.brand-item-wrap-two .brand-item img:hover {
    opacity: 1;
}



/*=============================
	12. Services
===============================*/
.services-area {
    background: var(--tg-section-background);
    padding: 120px 0 90px;
}
.services-item-wrap .row {
    --bs-gutter-x: 45px;
}
.services-item {
    text-align: center;
    padding: 60px 50px;
    margin-bottom: 30px;
    background: var(--tg-white);
    border: 1px solid transparent;
    min-height: 450px;
    transition: .3s ease-in-out;
}
.services-item:hover {
    border-color: var(--tg-primary-color);
}
.services-icon {
    min-height: 66px;
    display: block;
    margin-bottom: 40px;
}
.services-content .title {
    margin-bottom: 30px;
    font-size: 20px;
}
.services-content .title a {
    position: relative;
}
.services-content .divider {
    width: 1px;
    height: 60px;
    background: #D5D5D5;
    display: block;
    margin: 0 auto 30px;
    transition: .3s ease-in-out;
}
.services-item:hover .services-content .divider {
    height: 14px;
    background-color: var(--tg-primary-color);
}
.services-content p {
    margin-bottom: 0;
    font-size: 16px;
}
.services-content .link-btn {
    font-size: 16px;
    font-weight: 700;
    position: relative;
    line-height: 1;
    display: inline-block;
}
.services-btn {
    margin-top: 18px;
    display: none;
}
.services-content .title a::before,
.services-content .link-btn::before {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.services-content .title a:hover::before,
.services-content .link-btn:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
.services-content .link-btn::before {
    height: 1px;
}

/* services-two */
.services-area-two {
    background: var(--tg-section-background);
    padding: 120px 0;
}
.services-item-two {
    text-align: center;
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
    margin-top: 20px;
}
.services-icon-two {
    position: relative;
    margin-bottom: 50px;
}
.services-icon-two img {
    transform: rotateY(0);
}
.services-item-two:hover .services-icon-two img {
    transform: rotateY(180deg);
}
.services-icon-two .number {
    font-size: 150px;
    margin-bottom: 0;
    line-height: .8;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -20px;
    color: var(--tg-white);
    z-index: -1;
}
.services-content-two .title {
    margin-bottom: 30px;
    font-size: 20px;
}
.services-content-two p {
    font-size: 16px;
    width: 85%;
    margin: 0 auto;
}


/* services-three */
.services-area-three {
    background: var(--tg-primary-color);
    padding: 120px 0;
}
.services-item-wrap-two {
    margin-left: 70px;
}
.services-item-three {
    margin-bottom: 15px;
}
.services-item-three:last-child {
    margin-bottom: 0;
}
.services-item-three a {
    display: flex;
    align-items: center;
    background: var(--tg-secondary-color);
    color: var(--tg-white);
    padding: 30px 30px;
    font-size: 24px;
    font-weight: 700;
    position: relative;
}
.services-item-three a span {
    position: relative;
}
.services-item-three a span::before {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    bottom: 3px;
    left: 0;
    background-color: currentColor;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.services-item-three a:hover span::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
.services-item-three a i {
    margin-left: auto;
    transform: rotate(90deg);
    color: #6F6F6F;
    font-size: 20px;
}
.hover-reveal {
    position: fixed;
    width: 300px;
    height: 300px;
    top: 50%;
    left: 0;
    pointer-events: none;
    opacity: 0;
    transform: rotate(-15deg) translateY(-50%);
}
.hover-reveal__inner {
    width: 100%;
    height: 100%;
    position: relative;
}
.hover-reveal__img {
    background-size: cover;
    background-position: 50% 50%;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 9;
}

/* services-four */
.services-area-four {
    background: var(--tg-section-background);
    padding: 220px 0 90px;
    margin-top: -100px;
}

.services-area-five {
    background: var(--tg-section-background);
    padding: 120px 0 90px;
}

/* services-details */
.services-details-wrap {
    margin-right: 50px;
}
.services-details-thumb {
    margin-bottom: 80px;
}
.services-details-thumb img {
    width: 100%;
}
.services-details-content .title {
    font-size: 40px;
    margin-bottom: 30px;
}
.services-details-content p {
    margin-bottom: 30px;
}
.services-progress-wrap {
    margin-top: 60px;
    margin-bottom: 80px;
}
.services-progress-wrap .list-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 -30px;
    gap: 40px 0;
}
.services-progress-wrap .list-wrap li {
    width: 50%;
    padding: 0 30px;
}
.services-progress-wrap .progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.services-progress-wrap .progress-item .title {
    margin-bottom: 0;
    font-size: 14px;
}
.services-progress-wrap .progress-item span {
    font-weight: 700;
    font-size: 14px;
    color: var(--tg-primary-color);
    display: block;
}
.services-progress-wrap .progress {
    height: 6px;
    background-color: #E6E6E6;
    border-radius: 0;
}
.services-progress-wrap .progress-bar {
    background-color: var(--tg-primary-color);
}
.services-details-content .title-two {
    font-size: 24px;
    margin-bottom: 40px;
}
.more-facilities-img-wrap {
    margin-top: 80px;
    margin-bottom: 50px;
}
.more-facilities-img {
    margin-bottom: 30px;
}
.more-facilities-img img {
    width: 100%;
}
.pricing-box-two {
    border: 2px solid var(--tg-primary-color);
}
.price-item-wrap-two {
    margin-top: 50px;
}
.price-plan-wrap {
    margin-bottom: 50px;
}
.blog-prev-next-posts.services-prev-next-posts {
    margin-top: 50px;
}
.services-widget {
    margin-bottom: 60px;
}
.services-widget:last-child {
    margin-bottom: 0;
}
.services-docs-list .list-wrap li,
.services-cat-list .list-wrap li {
    margin-bottom: 10px;
}
.services-docs-list .list-wrap li:last-child,
.services-cat-list .list-wrap li:last-child {
    margin-bottom: 0;
}
.services-docs-list .list-wrap li a,
.services-cat-list .list-wrap li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #F5F5F5;
    font-weight: 700;
    font-size: 14px;
    color: var(--tg-primary-color);
    padding: 16px 25px;
    transition: .3s;
}
.services-docs-list .list-wrap li a:hover,
.services-cat-list .list-wrap li a:hover {
    background: var(--tg-primary-color);
    color: var(--tg-white);
}
.services-docs-list .list-wrap li a > i,
.services-cat-list .list-wrap li a i {
    transition: .3s;
}
.services-docs-list .list-wrap li a:hover > i,
.services-cat-list .list-wrap li a:hover i {
    transform: translateX(3px);
}
.services-docs-list .list-wrap li a span i {
    margin-right: 15px;
}
.services-sidebar {
    margin-left: 20px;
    position: sticky;
    top: 110px;
}

/* Service detail page: standardized hero and editorial content flow */
.service-detail-page {
    overflow-x: hidden;
}
.service-detail-page .service-detail-hero {
    position: relative;
    min-height: 520px;
    padding: 152px 0 72px;
    overflow: hidden;
    background-position: center 45%;
    isolation: isolate;
}
.service-detail-page .service-detail-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(7, 28, 25, .94) 0%, rgba(12, 43, 38, .75) 48%, rgba(10, 35, 31, .20) 100%),
        linear-gradient(0deg, rgba(5, 24, 21, .40) 0%, transparent 48%);
}
.service-detail-page .service-detail-hero .breadcrumb-content {
    text-align: left;
}
.service-detail-page .service-detail-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
}
.service-detail-page .service-detail-hero-kicker::before {
    content: "";
    width: 42px;
    height: 1px;
    background: var(--tg-secondary-color);
}
.service-detail-page .service-detail-hero .title {
    max-width: 820px;
    margin: 0;
    font-size: clamp(42px, 4.25vw, 62px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.service-detail-page .service-detail-hero .title span {
    color: rgba(255, 255, 255, .62);
    font-weight: 400;
}
.service-detail-modern {
    padding: 120px 0;
    background: var(--tg-white);
}
.service-detail-main-image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e9eeeb;
}
.service-detail-main-image picture,
.service-detail-main-image img {
    display: block;
    width: 100%;
    height: 100%;
}
.service-detail-main-image img {
    object-fit: cover;
    object-position: center;
}
.service-detail-overview {
    padding-left: 42px;
}
.detail-eyebrow {
    display: block;
    margin-bottom: 22px;
    color: #608078;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
}
.service-detail-overview h2,
.detail-section-head h2,
.service-detail-cta h2 {
    margin-bottom: 24px;
    font-size: clamp(32px, 3vw, 46px);
    line-height: 1.18;
    letter-spacing: -.025em;
    text-wrap: pretty;
}
.service-detail-overview > p,
.detail-section-head > p {
    margin-bottom: 0;
    font-size: 17px;
    line-height: 1.85;
}
.detail-capability-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    margin-top: 34px;
    border-top: 1px solid rgba(18, 58, 51, .14);
}
.detail-capability-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(18, 58, 51, .14);
    color: var(--tg-primary-color);
    font-size: 14px;
    font-weight: 600;
}
.detail-capability-list li span {
    color: #7a968f;
    font-size: 11px;
    letter-spacing: .08em;
}
.service-detail-process,
.service-detail-scenes,
.service-detail-cooperation {
    margin-top: 130px;
}
.detail-section-head {
    max-width: 780px;
    margin-bottom: 58px;
}
.detail-section-head-wide {
    max-width: 900px;
}
.detail-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(18, 58, 51, .2);
    border-bottom: 1px solid rgba(18, 58, 51, .2);
}
.detail-process-item {
    min-height: 260px;
    padding: 36px 30px;
    border-right: 1px solid rgba(18, 58, 51, .14);
}
.detail-process-item:last-child {
    border-right: 0;
}
.detail-process-item > span {
    display: block;
    margin-bottom: 46px;
    color: #7a968f;
    font-size: 12px;
    letter-spacing: .12em;
}
.detail-process-item h3 {
    margin-bottom: 14px;
    font-size: 25px;
}
.detail-process-item p {
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
}
.detail-scene-card {
    height: 100%;
    margin: 0;
}
.detail-scene-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e9eeeb;
}
.detail-scene-image picture,
.detail-scene-image img {
    display: block;
    width: 100%;
    height: 100%;
}
.detail-scene-image img {
    object-fit: cover;
    transition: transform .7s cubic-bezier(.25, .46, .45, .94);
}
.detail-scene-card:hover .detail-scene-image img {
    transform: scale(1.035);
}
.detail-scene-card figcaption {
    position: relative;
    padding: 28px 0 0 54px;
}
.detail-scene-card figcaption > span {
    position: absolute;
    left: 0;
    top: 31px;
    color: #7a968f;
    font-size: 12px;
}
.detail-scene-card h3 {
    margin-bottom: 10px;
    font-size: 25px;
}
.detail-scene-card p {
    max-width: 520px;
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
}
.service-detail-cooperation {
    padding: 90px 76px;
    background: #f1f5f2;
}
.detail-cooperation-card {
    height: 100%;
    padding: 48px;
    background: var(--tg-white);
}
.detail-cooperation-card-dark {
    background: var(--tg-primary-color);
}
.detail-card-index {
    display: block;
    margin-bottom: 44px;
    color: #7a968f;
    font-size: 11px;
    letter-spacing: .14em;
}
.detail-cooperation-card h3 {
    margin-bottom: 17px;
    font-size: 29px;
}
.detail-cooperation-card > p {
    margin-bottom: 32px;
    font-size: 16px;
    line-height: 1.75;
}
.detail-cooperation-card li {
    position: relative;
    padding: 13px 0 13px 22px;
    border-top: 1px solid rgba(18, 58, 51, .12);
    color: var(--tg-primary-color);
    font-size: 14px;
    font-weight: 600;
}
.detail-cooperation-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 21px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tg-secondary-color);
}
.detail-cooperation-card-dark h3,
.detail-cooperation-card-dark li {
    color: var(--tg-white);
}
.detail-cooperation-card-dark > p {
    color: rgba(255, 255, 255, .72);
}
.detail-cooperation-card-dark li {
    border-color: rgba(255, 255, 255, .14);
}
.service-detail-cta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 50px;
    margin-top: 32px;
    padding: 72px 76px;
    background: #163a34;
}
.service-detail-cta .detail-eyebrow {
    color: rgba(255, 255, 255, .56);
}
.service-detail-cta h2 {
    max-width: 760px;
    margin: 0;
    color: var(--tg-white);
}
.service-detail-cta .btn {
    flex: 0 0 auto;
    border-color: rgba(255, 255, 255, .7);
    color: var(--tg-white);
}
.service-detail-nav {
    display: flex;
    justify-content: space-between;
    padding-top: 32px;
}
.service-detail-nav a {
    color: var(--tg-primary-color);
    font-size: 14px;
    font-weight: 600;
}
@media (max-width: 1199.98px) {
    .service-detail-page .service-detail-hero {
        min-height: 500px;
        padding: 140px 0 64px;
    }
    .service-detail-overview {
        padding-left: 16px;
    }
    .detail-process-item {
        padding: 32px 22px;
    }
}
@media (max-width: 991.98px) {
    .service-detail-page .service-detail-hero {
        padding: 128px 0 58px;
        background-position: 62% center;
    }
    .service-detail-overview {
        padding: 24px 0 0;
    }
    .detail-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .detail-process-item:nth-child(2) {
        border-right: 0;
    }
    .detail-process-item:nth-child(-n+2) {
        border-bottom: 1px solid rgba(18, 58, 51, .14);
    }
    .service-detail-cooperation {
        padding: 70px 48px;
    }
    .service-detail-cta {
        align-items: flex-start;
        flex-direction: column;
        padding: 62px 48px;
    }
}
@media (max-width: 767.98px) {
    .service-detail-page .service-detail-hero {
        min-height: 500px;
        padding: 122px 0 54px;
    }
    .service-detail-page .service-detail-hero::after {
        left: 20px;
        height: 48px;
    }
    .service-detail-page .service-detail-hero .title {
        font-size: clamp(34px, 9vw, 42px);
    }
    .service-detail-modern {
        padding: 90px 0;
    }
    .service-detail-intro > .row {
        --bs-gutter-x: 0;
    }
    .detail-capability-list,
    .detail-process-grid {
        grid-template-columns: 1fr;
    }
    .detail-process-item {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(18, 58, 51, .14);
    }
    .detail-process-item:last-child {
        border-bottom: 0;
    }
    .service-detail-process,
    .service-detail-scenes,
    .service-detail-cooperation {
        margin-top: 90px;
    }
    .detail-section-head {
        margin-bottom: 40px;
    }
    .detail-scene-card figcaption {
        padding-left: 42px;
    }
    .service-detail-cooperation {
        margin-right: -20px;
        margin-left: -20px;
        padding: 64px 20px;
    }
    .detail-cooperation-card {
        padding: 38px 28px;
    }
    .service-detail-cta {
        margin-right: -20px;
        margin-left: -20px;
        padding: 56px 20px;
    }
    .service-detail-nav {
        gap: 20px;
    }
}

/*=============================
	13. Video
===============================*/
.parallax-video {
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 700px;
}

/*=============================
	14. Project
===============================*/
.project-area {
    background: var(--tg-primary-color);
    padding: 120px 0 0;
}
.section-title.white-title .sub-title {
    color: var(--tg-gray-three);
}
.section-title.white-title .sub-title::before {
    background: #383838;
}

/* 深色底（.project-area 用品牌深绿 #163a34）上反转图标配色，
   否则深绿徽标压在深绿底上会隐形（批次 6） */
.section-title.white-title .sub-title > i {
    background: var(--tg-white);
    color: var(--tg-primary-color);
}
.section-title.white-title .title {
    color: var(--tg-white);
}
.project-content-wrap {
    padding: 150px 270px 250px 120px;
}

/* ── 批次 7：「项目场景」右侧内容可读性重做 ─────────────────────────────
   原实现把非当前项压到 opacity:.05 —— 深绿底 #163a34 上文字直接消失，
   用户反馈「右边内容显示不清晰」；眉标 #666666 对深绿底对比度仅 2.2:1
   （WCAG 正文需 ≥4.5:1），也不可读。

   现改为：三块内容全部保持可读，只用「左侧强调条 + 眉标由灰转白」区分
   当前项；规格行改成三列卡（顶部细线 + 列间竖线），信息对齐干净。

   选择器统一加 .project-area 前缀：theme.min.css 的拼接顺序是
   default.css → style.css → responsive.css，responsive.css 里同权重规则
   在后，会覆盖 style.css；加一级类名可稳定胜出（.project-area 只出现在
   index.html 的这一个 section 上，不会外溢到 project-area-two/three 等）。 */
.project-area .project-content {
    position: relative;
    padding-left: 14px;
    margin-bottom: 160px;
    opacity: 1;
    transition: opacity .3s linear;
}
.project-area .project-content:last-child {
    margin-bottom: 0;
}
/* 当前项强调条（原设计用 opacity 表达选中态，代价是牺牲可读性） */
.project-area .project-content::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 2px;
    height: 62px;
    border-radius: 2px;
    background: var(--tg-white);
    opacity: 0;
    transition: opacity .3s linear;
}
.project-area .project-content.current::before {
    opacity: .85;
}
.project-content .hidden-img {
    display: none;
}
.project-area .project-content > span {
    display: block;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .12em;
    color: var(--tg-gray-two);
    margin-bottom: 16px;
    transition: color .3s linear;
}
.project-area .project-content.current > span {
    color: var(--tg-white);
}
.project-area .project-content .title {
    margin-bottom: 18px;
    font-size: 26px;
    line-height: 1.32;
    color: var(--tg-white);
}
.project-content .title a {
    position: relative;
}
.project-content .title a:hover {
    color: var(--tg-white);
}
.underline-effect {
    position: relative;
}
.underline-effect::before {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.underline-effect:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
.project-area .project-content p {
    margin-bottom: 34px;
    font-size: 16px;
    line-height: 1.85;
    color: rgba(255, 255, 255, .76);
}
.project-area .project-content .list-wrap {
    display: flex;
    align-items: flex-start;
    gap: 24px 40px;
    flex-wrap: wrap;
}
.project-area .project-content .list-wrap li {
    font-size: 17px;
    color: var(--tg-white);
    font-weight: 600;
    line-height: 1.5;
}
.project-area .project-content .list-wrap li span {
    display: block;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: .1em;
    color: rgba(255, 255, 255, .6);
    margin-bottom: 10px;
}
/* ≥992px：场景 / 目标 / 能力 三列卡 */
@media (min-width: 992px) {
    .project-area .project-content .list-wrap {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        flex-wrap: nowrap;
        border-top: 1px solid rgba(255, 255, 255, .18);
        padding-top: 22px;
    }
    .project-area .project-content .list-wrap li {
        padding: 0 16px;
        border-left: 1px solid rgba(255, 255, 255, .14);
    }
    .project-area .project-content .list-wrap li:first-child {
        padding-left: 0;
        border-left: 0;
    }
    .project-area .project-content .list-wrap li:last-child {
        padding-right: 0;
    }
}
/* ≤991.98：右侧内容整幅展示（左图不再 sticky），规格行自动折行 */
@media (max-width: 991.98px) {
    .project-area .project-content {
        padding-left: 0;
        margin-bottom: 80px;
    }
    .project-area .project-content::before {
        display: none;
    }
    .project-area .project-content .title {
        font-size: 22px;
        margin-bottom: 16px;
    }
    .project-area .project-content p {
        margin-bottom: 28px;
    }
    .project-area .project-content .list-wrap {
        gap: 22px 36px;
    }
    .project-area .project-content .list-wrap li {
        font-size: 18px;
    }
}
@media (max-width: 767.98px) {
    .project-area .project-content {
        margin-bottom: 60px;
    }
    .project-area .project-content .title {
        font-size: 20px;
        margin-bottom: 14px;
    }
    .project-area .project-content p {
        margin-bottom: 24px;
    }
    .project-area .project-content .list-wrap {
        gap: 18px 28px;
    }
    .project-area .project-content .list-wrap li {
        font-size: 17px;
    }
}
.project-img {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: all .4s linear;
    background-size: cover;
    background-position: center;
}
.project-img.current {
    opacity: 1;
}
.project-img:first-of-type {
    opacity: 1;
    z-index: 1;
}
.project-img:nth-child(2) {
    z-index: 2;
}
.project-img:nth-child(3) {
    z-index: 3;
}
.sticky-wrap {
    position: relative;
    height: 100vh;
}
.project-img-wrap {
    position: sticky;
    top: 95px;
}


/* project-two */
.project-area-two {
    padding: 120px 0;
    overflow: hidden;
}
.project-item-two {
    display: flex;
    align-items: center;
}
.project-thumb-two {
    width: 46.5%;
    flex: 0 0 auto;
    margin-right: 100px;
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    clip-path: inset(0 0 0 0);
}
.project-thumb-two img {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transform: scale(1);
    width: 100%;
}
.project-thumb-two:hover {
    clip-path: inset(8px 8px 8px 8px);
}
.project-thumb-two img:hover {
    transform: scale(1.05);
}
.project-content-two > span {
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: block;
    line-height: 1;
    color: var(--tg-gray-three);
    margin-bottom: 25px;
}
.project-content-two .title {
    font-size: 30px;
    margin-bottom: 35px;
}
.project-content-two p {
    margin-bottom: 50px;
}
.project-content-two .list-wrap {
    display: flex;
    align-items: center;
    gap: 30px 50px;
    flex-wrap: wrap;
}
.project-content-two .list-wrap li {
    font-size: 30px;
    color: var(--tg-primary-color);
    font-weight: 700;
    line-height: 1;
}
.project-content-two .list-wrap li span {
    display: block;
    font-weight: 400;
    font-size: 12px;
    color: var(--tg-gray-three);
    margin-bottom: 15px;
}
.project-active-two {
    margin-right: -440px;
}
.swiper-scrollbar {
    border-radius: 0;
    position: relative;
    touch-action: none;
    -ms-touch-action: none;
    height: 1px;
    background: var(--tg-gray);
    margin-top: 80px;
    cursor: pointer;
}
.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--tg-primary-color);
    border-radius: 0;
    left: 0;
    top: 0;
}

/* project-three */
.project-area-three {
    padding: 120px 0;
}
.project-nav .list-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px 45px;
    flex-wrap: wrap;
    margin-bottom: 100px;
}
.project-nav .list-wrap li a {
    font-weight: 700;
    font-size: 14px;
    color: var(--tg-gray-three);
    position: relative;
}
.project-nav .list-wrap li.active a,
.project-nav .list-wrap li a:hover {
    color: var(--tg-primary-color);
}
.project-nav .list-wrap li a::before {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.project-nav .list-wrap li.active a::before,
.project-nav .list-wrap li a:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
.project-item-wrap-two .row {
    --bs-gutter-x: 45px;
}
.project-item-three {
    margin-bottom: 45px;
}
.project-thumb-three {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    clip-path: inset(0 0 0 0);
}
.project-thumb-three img {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transform: scale(1);
    width: 100%;
}
.project-item-three:hover .project-thumb-three {
    clip-path: inset(8px 8px 8px 8px);
}
.project-item-three:hover .project-thumb-three img {
    transform: scale(1.05);
}


/* inner-project */
.project-nav.inner-project-nav .list-wrap {
    justify-content: center;
    margin-bottom: 50px;
}
.inner-project-wrap .row {
    --bs-gutter-x: 40px;
}
.project-item-four {
    position: relative;
    overflow: hidden;
    margin-bottom: 40px;
}
.project-thumb-four {
    position: relative;
}
.project-thumb-four img {
    width: 100%;
}
.project-thumb-four::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--tg-primary-color);
    opacity: 0;
    transition: .3s ease-in-out;
    pointer-events: none;
}
.project-item-four:hover .project-thumb-four::before {
    opacity: .9;
}
.project-content-four {
    position: absolute;
    left: 50px;
    bottom: 50px;
    margin-bottom: -100px;
    transition: .3s ease-in-out;
    opacity: 0;
    visibility: hidden;
}
.project-item-four:hover .project-content-four {
    opacity: 1;
    visibility: visible;
    margin-bottom: 0;
}
.project-content-four span {
    display: block;
    font-size: 14px;
    color: var(--tg-white);
    line-height: 1;
    margin-bottom: 10px;
}
.project-content-four .title {
    margin-bottom: 0;
    color: var(--tg-white);
    font-size: 24px;
}
.project-content-four .title a:hover {
    color: var(--tg-white);
}

/* Project page: standardized hero and content-first case grid */
.project-page .project-hero {
    position: relative;
    min-height: 520px;
    padding: 152px 0 72px;
    overflow: hidden;
    background-position: center 45%;
    isolation: isolate;
}
.project-page .project-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(7, 28, 25, .94) 0%, rgba(12, 43, 38, .75) 48%, rgba(10, 35, 31, .20) 100%),
        linear-gradient(0deg, rgba(5, 24, 21, .40) 0%, transparent 48%);
}

.project-page .project-hero .breadcrumb-content {
    text-align: left;
}
.project-page .project-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
}
.project-page .project-hero-kicker::before {
    content: "";
    width: 42px;
    height: 1px;
    background: var(--tg-secondary-color);
}
.project-page .project-hero .title {
    max-width: 760px;
    margin: 0;
    font-size: clamp(42px, 4.25vw, 62px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.project-page .project-hero .title span {
    color: rgba(255, 255, 255, .62);
    font-weight: 400;
}
.project-page .project-area-five {
    background: var(--tg-white);
}
.project-page .project-area-five .section-title {
    max-width: 960px;
}
.project-page .project-area-five .section-title .title {
    text-wrap: pretty;
}
.project-page .project-menu-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding-bottom: 0;
    border-bottom: 0;
}
.project-page .project-menu-nav button {
    margin: 0;
    padding: 11px 22px;
    border: 1px solid rgba(18, 58, 51, .16);
    border-radius: 999px;
    background: #f3f6f4;
    color: #496760;
    font-weight: 500;
    line-height: 1.2;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.project-page .project-menu-nav button.active,
.project-page .project-menu-nav button:hover {
    border-color: var(--tg-primary-color);
    background: var(--tg-primary-color);
    color: var(--tg-white);
    transform: translateY(-2px);
}
.project-page .project-menu-nav button:focus-visible {
    outline: 2px solid var(--tg-secondary-color);
    outline-offset: 3px;
}
.project-page .project-item-four {
    height: calc(100% - 48px);
    margin-bottom: 48px;
    overflow: visible;
}
.project-page .project-thumb-four {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e9eeeb;
}
.project-page .project-thumb-four > a,
.project-page .project-thumb-four picture {
    display: block;
    width: 100%;
    height: 100%;
}
.project-page .project-thumb-four img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .7s cubic-bezier(.25, .46, .45, .94);
}
.project-page .project-thumb-four::before {
    display: none;
}
.project-page .project-item-four:hover .project-thumb-four img {
    transform: scale(1.035);
}
.project-page .project-content-four {
    position: static;
    display: grid;
    grid-template-rows: 22px 60px 79px;
    margin: 0;
    padding: 23px 0 0;
    opacity: 1;
    visibility: visible;
}
.project-page .project-content-four span {
    margin-bottom: 10px;
    color: #608078;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
}
.project-page .project-content-four .title {
    display: -webkit-box;
    align-self: start;
    margin-bottom: 12px;
    overflow: hidden;
    color: var(--tg-heading-color);
    font-size: 24px;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.project-page .project-content-four .title a:hover {
    color: var(--tg-secondary-color);
}
.project-page .project-content-four p {
    display: -webkit-box;
    height: calc(15px * 1.75 * 3);
    margin: 0;
    overflow: hidden;
    color: var(--tg-paragraph-color);
    font-size: 15px;
    line-height: 1.75;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.project-page .project-area-five .text-center .btn {
    margin-top: 12px;
}
@media (max-width: 1199.98px) {
    .project-page .project-hero {
        min-height: 500px;
        padding: 140px 0 64px;
    }
}
@media (max-width: 991.98px) {
    .project-page .project-hero {
        padding: 128px 0 58px;
        background-position: 62% center;
    }
}
@media (max-width: 767.98px) {
    .project-page .project-hero {
        min-height: 500px;
        padding: 122px 0 54px;
    }
    .project-page .project-hero::after {
        left: 20px;
        height: 48px;
    }
    .project-page .project-hero .title {
        font-size: clamp(34px, 9vw, 42px);
    }
    .project-page .project-area-five {
        padding-top: 90px;
    }
    .project-page .project-menu-nav {
        gap: 10px;
        margin-bottom: 48px;
    }
    .project-page .project-menu-nav button {
        padding: 10px 17px;
        font-size: 13px;
    }
    .project-page .project-item-four {
        height: auto;
    }
}
.load-more-btn .btn::after {
    content: "\f104";
}

/* project-five */
.project-item-five {
    margin-bottom: 40px;
}
.project-thumb-five {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    clip-path: inset(0 0 0 0);
}
.project-thumb-five img {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transform: scale(1);
    width: 100%;
}
.project-item-five:hover .project-thumb-five {
    clip-path: inset(8px 8px 8px 8px);
}
.project-item-five:hover .project-thumb-five img {
    transform: scale(1.05);
}

/* project-six */
.project-item-six {
    margin-bottom: 40px;
}
.project-thumb-six {
    overflow: hidden;
    margin-bottom: 30px;
}
.project-thumb-six img {
    transition: all .4s cubic-bezier(.25, .46, .45, .94);
    transform: scale(1);
    width: 100%;
}
.project-item-six:hover .project-thumb-six img {
    transform: scale(1.1);
}
.project-content-six span {
    display: block;
    font-size: 14px;
    line-height: 1;
    color: var(--tg-gray-three);
    margin-bottom: 15px;
}
.project-content-six .title {
    margin-bottom: 0;
    font-size: 24px;
}
.inner-project-wrap-two .row {
    --bs-gutter-x: 40px;
}
.inner-project-wrap-three .row {
    --bs-gutter-x: 60px;
}
.inner-project-wrap-three .row .col-62 {
    width: 62.2%;
    flex: 0 0 auto;
}
.inner-project-wrap-three .row .col-38 {
    width: 37.8%;
    flex: 0 0 auto;
}
.inner-project-wrap-three .project-item-five {
    margin-bottom: 60px;
}
.inner-project-wrap-four .row {
    --bs-gutter-x: 120px;
}
.inner-project-wrap-four .project-item-five {
    margin-bottom: 120px;
}

/* project-slider */
.project-nav-wrap .nav-tabs {
    border-bottom: none;
    justify-content: center;
    gap: 15px 50px;
    margin-bottom: 50px;
}
.project-nav-wrap .nav-tabs .nav-link {
    margin-bottom: 0;
    background: transparent;
    border: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: 0;
    font-weight: 700;
    font-size: 14px;
    color: var(--tg-gray-three);
    position: relative;
    line-height: 1;
}
.project-nav-wrap .nav-tabs .nav-link.active,
.project-nav-wrap .nav-tabs .nav-link:hover {
    color: var(--tg-primary-color);
}
.project-nav-wrap .nav-tabs .nav-link::before {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.project-nav-wrap .nav-tabs .nav-link.active::before,
.project-nav-wrap .nav-tabs .nav-link:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
.project-thumb-seven {
    overflow: hidden;
}
.project-thumb-seven img {
    transition: all .3s cubic-bezier(.25, .46, .45, .94);
    transform: scale(1);
    width: 100%;
    height: 100%;
}
.project-item-seven:hover .project-thumb-seven img {
    transform: scale(1.1);
}


/* related-project */
.related-project-area {
    background: var(--tg-section-background);
    padding: 120px 0 75px;
}
.related-project-wrap .row {
    --bs-gutter-x: 45px;
}
.related-project-wrap .row [class*="col-"] {
    padding: 0 22.5px;
}
.related-project-wrap {
    cursor: e-resize;
}

/* project-details */
.project-details-img {
    margin-bottom: 80px;
}
.project-details-content .title {
    font-size: 40px;
    margin-bottom: 30px;
}
.project-details-content > p {
    margin-bottom: 0;
}
.project-details-content .title-two {
    font-size: 24px;
    margin-bottom: 30px;
    margin-top: 60px;
}
.project-details-list .list-wrap {
    margin-bottom: 80px;
}
.project-details-list .list-wrap li {
    margin-bottom: 30px;
}
.project-details-list .list-wrap li span {
    font-weight: 700;
    color: var(--tg-primary-color);
    margin-right: 5px;
}
.project-details-list .list-wrap li:last-child {
    margin-bottom: 0;
}
.project-details-inner-img {
    margin-bottom: 40px;
}
.testimonial-wrap {
    border-top: 1px solid var(--tg-primary-color);
    border-bottom: 1px solid var(--tg-primary-color);
    padding: 60px 0;
    margin-top: 80px;
}
.testimonial-item-four {
    text-align: center;
    padding: 0 70px;
}
.testimonial-item-four .testimonial-avatar {
    justify-content: center;
}
.testimonial-item-four .rating {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    gap: 5px;
    border: 1px solid var(--tg-gray);
    border-radius: 20px;
    font-size: 14px;
    color: var(--tg-primary-color);
    padding: 9px 17px;
    margin-bottom: 30px;
}
.testimonial-item-four p {
    margin-bottom: 0;
    font-size: 34px;
    color: var(--tg-primary-color);
    line-height: 1.3;
}
.testimonial-item-four .testi-avatar-info span {
    text-align: left;
}
.project-sidebar {
    margin-left: 50px;
    position: sticky;
    top: 115px;
}
.project-widget {
    border: 1px solid var(--tg-primary-color);
    padding: 40px 40px 40px;
    margin-bottom: 40px;
}
.project-widget:last-child {
    margin-bottom: 0;
}
.project-info .list-wrap li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    margin-bottom: 15px;
}
.project-info .list-wrap li:last-child {
    margin-bottom: 0;
}
.project-info .list-wrap li span {
    font-weight: 700;
    font-size: 14px;
    color: var(--tg-primary-color);
}
.project-form .form-grp {
    margin-bottom: 15px;
}
.project-form .form-grp textarea,
.project-form .form-grp input {
    width: 100%;
    border: 1px solid transparent;
    background: #F5F5F5;
    font-size: 14px;
    font-weight: 400;
    color: var(--tg-primary-color);
    padding: 15px 25px;
    height: 54px;
    transition: .3s;
    display: block;
}
.project-form .form-grp textarea:focus,
.project-form .form-grp input:focus {
    border-color: var(--tg-primary-color);
    background: var(--tg-white);
}
.project-form .form-grp textarea::placeholder,
.project-form .form-grp input::placeholder {
    font-size: 14px;
    font-weight: 400;
    color: var(--tg-paragraph-color);
}
.project-form .form-grp textarea {
    min-height: 150px;
    max-height: 150px;
}
.project-form .submit-btn {
    width: 100%;
    border: none;
    background: var(--tg-primary-color);
    color: var(--tg-white);
    font-size: 14px;
    font-weight: 700;
    display: block;
    padding: 16px 20px;
    height: 54px;
}


/*=============================
	15. Counter
===============================*/
.counter-content {
    margin-right: 95px;
}
.counter-progress-wrap {
    margin-left: 20px;
}
.progress-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
    gap: 30px;
}
.progress-wrap .progress {
    display: flex;
    flex-direction: column-reverse;
    width: 80px;
    height: 500px;
    background: #F3F3F3;
    border-radius: 0;
}
.progress-wrap .progress-bar {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: var(--tg-primary-color);
}
.progress-wrap .progress-bar span {
    transform: rotate(180deg);
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    display: block;
    text-align: center;
    left: calc(50% - .5rem);
    position: relative;
    line-height: 1;
    white-space: nowrap;
    margin-bottom: 30px;
}
.counter-wrap .list-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: nowrap;
}
.counter-wrap .list-wrap li {
    flex: 0 0 auto;
}
.counter-wrap .list-wrap li .count {
    font-weight: 700;
    font-size: 30px;
    margin-bottom: 0;
    display: flex;
    align-items: baseline;
    line-height: 1;
    white-space: nowrap;
}
.counter-wrap .list-wrap li .count .unit {
    font-size: 15px;
    font-weight: 500;
    margin-left: 3px;
    white-space: nowrap;
}

/* counter-two */
.counter-area-two {
    padding: 120px 0 80px;
    background: var(--tg-primary-color);
}
.counter-item-wrap .row {
    --bs-gutter-x: 56px;
}
.counter-item {
    margin-bottom: 40px;
}
.counter-item .counter-top {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}
.counter-item .count {
    margin-bottom: 0;
    color: var(--tg-white);
    display: flex;
    align-items: center;
    font-size: 60px;
    line-height: .8;
}
.counter-item .counter-top p {
    margin-bottom: 0;
    font-size: 14px;
}
.counter-item .progress {
    height: 4px;
    background-color: #313131;
    border-radius: 0;
    margin-bottom: 30px;
}
.counter-item .progress-bar {
    background-color: var(--tg-white);
}
.counter-item > p {
    margin-bottom: 40px;
    font-size: 14px;
    color: var(--tg-gray-two);
}
.counter-item .icon a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #2F2F2F;
    font-size: 16px;
    color: var(--tg-white);
    line-height: 0;
}
.counter-item .icon a:hover {
    background: var(--tg-secondary-color);
    border-color: var(--tg-secondary-color);
}


/*=============================
	16. Skill
===============================*/
.skill-img {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    clip-path: inset(0 0 0 0);
    margin-right: 40px;
}
.skill-img img {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transform: scale(1);
    width: 100%;
}
.skill-img:hover {
    clip-path: inset(8px 8px 8px 8px);
}
.skill-img:hover img {
    transform: scale(1.05);
}
.skill-content {
    margin-left: 70px;
}
.skill-content > p {
    margin-bottom: 50px;
}
.skill-item-wrap {
    display: flex;
    align-items: center;
    gap: 30px 50px;
    flex-wrap: wrap;
}
.skill-item .chart {
    line-height: 1;
    position: relative;
    max-width: 120px;
    max-height: 120px;
    margin: 6px auto 25px;
    z-index: 1;
}
.skill-item .chart-two {
    position: relative;
    display: inline-block;
    text-align: center;
    line-height: 1;
    max-width: 120px;
    max-height: 120px;
    margin-bottom: 30px;
}
.skill-item .chart-two .percentage {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-weight: 700;
    font-size: 40px;
    display: flex;
    align-items: flex-end;
    color: var(--tg-primary-color);
    line-height: .8;
}
.skill-item .chart-two .percentage sup {
    font-size: 20px;
    line-height: 1;
    top: -2px;
}
.skill-item p {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 14px;
    color: var(--tg-primary-color);
    text-align: center;
}

/* Services page: shared inner-page hero and source-grid-load-storage flow */
.services-page .services-hero {
    position: relative;
    min-height: 520px;
    padding: 152px 0 72px;
    overflow: hidden;
    background-position: center 45%;
    isolation: isolate;
}
.services-page .services-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(7, 28, 25, .94) 0%, rgba(12, 43, 38, .75) 48%, rgba(10, 35, 31, .20) 100%),
        linear-gradient(0deg, rgba(5, 24, 21, .40) 0%, transparent 48%);
}

.services-page .services-hero .breadcrumb-content {
    text-align: left;
}
.services-page .services-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
}
.services-page .services-hero-kicker::before {
    content: "";
    width: 42px;
    height: 1px;
    background: var(--tg-secondary-color);
}
.services-page .services-hero .title {
    max-width: 760px;
    margin: 0;
    font-size: clamp(42px, 4.25vw, 62px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.services-page .services-hero .title span {
    color: rgba(255, 255, 255, .62);
    font-weight: 400;
}
.services-page .skill-area {
    background: var(--tg-white);
}
.services-page .skill-img {
    height: 620px;
    margin-right: 40px;
    overflow: hidden;
}
.services-page .skill-img picture,
.services-page .skill-img img {
    display: block;
    width: 100%;
    height: 100%;
}
.services-page .skill-img img {
    object-fit: cover;
    object-position: center;
}
.services-page .skill-content {
    margin-left: 48px;
}
.services-page .skill-item-wrap {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    isolation: isolate;
}
.services-page .skill-item-wrap::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 59px;
    left: 9%;
    right: 9%;
    height: 2px;
    background: linear-gradient(90deg, rgba(73, 192, 148, .15), rgba(73, 192, 148, .9), rgba(73, 192, 148, .15));
    background-size: 200% 100%;
    animation: servicesEnergyFlow 3.8s linear infinite;
}
.services-page .skill-item {
    min-width: 0;
    padding: 0 4px;
    text-align: center;
    transition: transform .35s ease;
}
.services-page .skill-item:hover {
    transform: translateY(-8px);
}
.services-page .skill-item .chart-two {
    display: block;
    width: 120px;
    height: 120px;
    margin: 0 auto 22px;
    border-radius: 50%;
    background: var(--tg-white);
    box-shadow: 0 10px 35px rgba(11, 54, 45, .08);
}
.services-page .skill-item p {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.services-page .skill-item p strong {
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
}
.services-page .skill-item p span {
    color: var(--tg-paragraph-color);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .04em;
    white-space: nowrap;
}
@keyframes servicesEnergyFlow {
    from { background-position: 100% 0; }
    to { background-position: -100% 0; }
}
@media (max-width: 1199.98px) {
    .services-page .services-hero {
        min-height: 500px;
        padding: 140px 0 64px;
    }
    .services-page .skill-img {
        height: 580px;
        margin-right: 20px;
    }
    .services-page .skill-content {
        margin-left: 20px;
    }
    .services-page .skill-item-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 14px;
    }
    .services-page .skill-item-wrap::before {
        display: none;
    }
}
@media (max-width: 991.98px) {
    .services-page .services-hero {
        padding: 128px 0 58px;
        background-position: 62% center;
    }
    .services-page .skill-img {
        height: 520px;
        margin: 0 0 58px;
    }
    .services-page .skill-content {
        margin-left: 0;
    }
    .services-page .skill-item-wrap {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
    .services-page .skill-item-wrap::before {
        display: block;
    }
}
@media (max-width: 767.98px) {
    .services-page .services-hero {
        min-height: 500px;
        padding: 122px 0 54px;
    }
    .services-page .services-hero::after {
        left: 20px;
        height: 48px;
    }
    .services-page .services-hero .title {
        font-size: clamp(34px, 9vw, 42px);
    }
    .services-page .skill-img {
        height: clamp(340px, 110vw, 460px);
    }
    .services-page .skill-item-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 14px;
    }
    .services-page .skill-item-wrap::before {
        display: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .services-page .skill-item-wrap::before {
        animation: none;
    }
    .services-page .skill-item:hover {
        transform: none;
    }
}


/*=============================
	17. Marquee
===============================*/
.marquee-area {
    overflow: hidden;
    padding: 120px 0;
    border-top: 1px solid var(--tg-gray);
    border-bottom: 1px solid var(--tg-gray);
}
.marquee-wrap {
    display: flex;
    align-items: center;
}
.marquee-box {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: fit-content;
    animation: marquee 50s linear infinite;
}
.marquee-box a {
    font-weight: 700;
    font-size: 120px;
    white-space: nowrap;
    line-height: 1;
    position: relative;
    margin-right: 90px;
    display: flex;
    align-items: center;
    -webkit-text-stroke: 2px var(--tg-primary-color);
    color: transparent;
    transition: all .4s ease;
}
.marquee-box a::after {
    content: "/";
    font-size: 120px;
    font-weight: 700;
    line-height: 1;
    margin-left: 60px;
    -webkit-text-stroke: 2px var(--tg-primary-color);
    color: transparent;
}
.marquee-box a::before {
    overflow: hidden;
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    width: 0;
    color: var(--tg-primary-color);
    white-space: nowrap;
    content: attr(data-hover);
    transition: all 1s cubic-bezier(0.17, 0.67, 0.32, 0.87);
}
.marquee-box a:hover::before {
    width: 100%;
}
.marquee-wrap:hover .marquee-box {
    animation-play-state: paused;
}
@keyframes marquee {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}


.marquee-area-two {
    overflow: hidden;
}
.marquee-wrap-two {
    background: var(--tg-primary-color);
    display: flex;
    align-items: center;
    padding: 28px 0;
}
.marquee-wrap-two:hover .marquee-box {
    animation-play-state: paused;
}
.marquee-wrap-two .marquee-box a {
    font-weight: 700;
    font-size: 40px;
    margin-right: 70px;
    -webkit-text-stroke: unset;
    color: var(--tg-white);
}
.marquee-wrap-two .marquee-box a::after {
    content: "*";
    font-size: 100px;
    font-weight: 700;
    line-height: .7;
    margin-left: 70px;
    -webkit-text-stroke: 2px var(--tg-white);
    color: transparent;
    transform: translateY(13px);
}

.marquee-area-three {
    padding: 120px 0 0;
    overflow: hidden;
}


/*=============================
	18. Team
===============================*/
.team-bg {
    background-size: cover;
    background-position: center;
    padding: 120px 0;
}
.team-item-wrap .row {
    --bs-gutter-x: 56px;
}
.team-item {
    margin-bottom: 30px;
}
.team-item-wrap .row [class*="col-"]:nth-child(even) .team-item {
    margin-top: 50px;
}
.team-thumb {
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
}
.team-thumb::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 0%;
    background: var(--tg-primary-color);
    opacity: 0;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
}
.team-item:hover .team-thumb::before {
    opacity: 0.94;
    height: 100%;
}
.team-thumb img {
    width: 100%;
}
.team-social .list-wrap {
    display: flex;
    align-items: center;
    left: 50%;
    top: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    gap: 20px;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transition: all .6s cubic-bezier(.25, .46, .45, .94);
    margin-top: 100px;
}
.team-item:hover .team-social .list-wrap {
    margin-top: 0;
    opacity: 1;
    visibility: visible;
}
.team-social .list-wrap li a {
    font-size: 16px;
    color: var(--tg-paragraph-color);
}
.team-social .list-wrap li a:hover {
    color: var(--tg-white);
}
.team-content span {
    font-size: 14px;
    display: block;
    margin-bottom: 10px;
}
.team-content .title {
    font-size: 20px;
    margin-bottom: 0;
}

/* Team page: capability network uses an ordered grid, not the staggered portrait layout. */
.team-page .team-area-two {
    background: var(--tg-white);
}
.team-page .team-capability-head {
    max-width: 860px;
    margin-bottom: 66px;
}
.team-page .team-capability-head > span {
    display: block;
    margin-bottom: 20px;
    color: #608078;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
}
.team-page .team-capability-head h2 {
    margin-bottom: 20px;
    font-size: clamp(34px, 3.2vw, 48px);
    line-height: 1.2;
    letter-spacing: -.03em;
    text-wrap: pretty;
}
.team-page .team-capability-head p {
    max-width: 720px;
    margin: 0;
    font-size: 17px;
    line-height: 1.8;
}
.team-page .team-item-wrap > .row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    --bs-gutter-x: 0;
}
.team-page .team-item-wrap > .row > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
}
.team-page .team-item,
.team-page .team-item-wrap .row [class*="col-"]:nth-child(even) .team-item {
    display: flex;
    height: 100%;
    min-height: 250px;
    flex-direction: column;
    margin: 0;
    padding: 34px 30px;
    border: 1px solid rgba(18, 58, 51, .12);
    background: #f7f9f7;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.team-page .team-item:hover {
    transform: translateY(-6px);
    border-color: rgba(18, 58, 51, .3);
    box-shadow: 0 18px 40px rgba(15, 46, 41, .08);
}
.team-page .team-cap-thumb {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    margin: 0 0 56px;
    overflow: visible;
    border-radius: 50%;
    background: var(--tg-primary-color);
    color: var(--tg-white);
    font-size: 22px;
}
.team-page .team-cap-thumb::before {
    display: none;
}
.team-page .team-content {
    margin-top: auto;
}
.team-page .team-content span {
    margin-bottom: 10px;
    color: #6f8a83;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
}
.team-page .team-content .title {
    min-height: 56px;
    font-size: 21px;
    line-height: 1.35;
}
.team-page .join-btn {
    margin-top: 54px !important;
}
@media (max-width: 991.98px) {
    .team-page .team-item-wrap > .row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575.98px) {
    .team-page .team-area-two {
        padding-top: 90px;
        padding-bottom: 90px;
    }
    .team-page .team-capability-head {
        margin-bottom: 44px;
    }
    .team-page .team-capability-head p {
        font-size: 16px;
    }
    .team-page .team-item-wrap > .row {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .team-page .team-item,
    .team-page .team-item-wrap .row [class*="col-"]:nth-child(even) .team-item {
        min-height: 220px;
        padding: 30px 26px;
    }
    .team-page .team-cap-thumb {
        margin-bottom: 42px;
    }
}


/*=============================
	19. Testimonial
===============================*/
.testimonial-content {
    padding: 120px;
    height: 100%;
}
.testimonial-item-wrap {
    padding: 120px;
    background: var(--tg-section-background);
    height: 100%;
}
.testimonial-item {
    padding: 60px;
    background: var(--tg-white);
    min-height: 480px;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
}
.testimonial-item .rating {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: var(--tg-primary-color);
    gap: 5px;
    margin-bottom: 30px;
}
.testimonial-item p {
    font-size: 30px;
    margin-bottom: 0;
    line-height: 1.4;
    color: var(--tg-primary-color);
}
.testimonial-avatar {
    display: flex;
    align-items: center;
    margin-top: 30px;
}
.testi-avatar-img {
    width: 60px;
    flex: 0 0 auto;
    margin-right: 20px;
}
.testi-avatar-img img {
    border-radius: 50%;
}
.testi-avatar-info .title {
    margin-bottom: 10px;
    font-size: 20px;
}
.testi-avatar-info span {
    display: block;
    font-size: 14px;
    line-height: 1;
}
.testimonial-nav {
    display: flex;
    align-items: center;
    gap: 20px;
}
.testimonial-nav .slick-arrow {
    border: none;
    background: transparent;
    padding: 0;
    font-weight: 700;
    font-size: 14px;
    color: var(--tg-gray-three);
}
.testimonial-nav .slick-arrow:hover {
    color: var(--tg-primary-color);
}

/* testimonial-two */
.testimonial-area-two {
    padding: 120px 0;
    overflow: hidden;
    position: relative;
}
.testimonial-item.testimonial-item-two {
    padding: 60px;
    background: var(--tg-white);
    min-height: 480px;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid #EAEAEA;
}
.testimonial-active-two {
    --bs-gutter-x: 50px;
}
.testimonial-active-two [class*="col-"] {
    padding: 0 25px;
}
.testimonial-active-two .slick-list {
    overflow: visible;
}
.testimonial-overlay-text {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 30px;
    z-index: -1;
}
.testimonial-overlay-text .title {
    font-size: 200px;
    line-height: .8;
    text-align: center;
    -webkit-text-stroke: 1px #E7E7E7;
    color: transparent;
    margin-bottom: 0;
}

/* testimonial-three */
.testimonial-item-three {
    position: relative;
    padding: 90px 80px 0 150px;
}
.testimonial-quote {
    width: 180px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #EAEAEA;
    border-radius: 50%;
    font-size: 60px;
    line-height: 0;
    color: var(--tg-primary-color);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}
.testimonial-item-three p {
    margin-bottom: 0;
    font-size: 40px;
    color: var(--tg-primary-color);
    line-height: 1.4;
}
.testimonial-bottom {
    display: flex;
    align-items: center;
    gap: 20px 40px;
    border-top: 1px solid var(--tg-gray);
    padding-top: 40px;
    margin-top: 50px;
}
.testimonial-bottom .testimonial-avatar {
    margin-top: 0;
}
.testimonial-bottom .rating {
    display: flex;
    align-items: center;
    color: var(--tg-primary-color);
    font-size: 14px;
    border: 1px solid var(--tg-gray);
    border-radius: 20px;
    padding: 9px 15px;
    gap: 5px;
}
.testimonial-active-three .col-lg-12 {
    padding: 0 15px;
}



/*=============================
	20. Faq
===============================*/
.video-img {
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
    position: relative;
}
.video-img .play-btn {
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--tg-white);
    border-radius: 50%;
    font-weight: 700;
    font-size: 16px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.video-img .play-btn:hover {
    background: var(--tg-primary-color);
    color: var(--tg-white);
}
.mfp-wrap {
    z-index: 10043;
}
.mfp-bg {
    z-index: 10042;
}
.mfp-iframe-holder .mfp-content {
    max-width: 1200px;
}
.faq-content {
    padding: 120px 110px;
    height: 100%;
    min-height: 756px;
}
.accordion-wrap .accordion-button {
    padding: 30px 60px 30px 30px;
    font-size: 24px;
    font-weight: 700;
    color: var(--tg-primary-color);
    background-color: transparent;
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid #E8E8E8;
}
.accordion-wrap .accordion-item {
    background-color: transparent;
    border: none;
    border-radius: 0;
}
.accordion-wrap .accordion-button:not(.collapsed) {
    color: var(--tg-white);
    background-color: var(--tg-primary-color);
    box-shadow: none;
    border-radius: 0;
    border-bottom: 1px solid transparent;
}
.accordion-wrap .accordion-button:focus {
    border-color: transparent;
    box-shadow: none;
}
.accordion-wrap .accordion-body {
    padding: 0 50px 30px 30px;
    background: var(--tg-primary-color);
}
.accordion-wrap .accordion-body p {
    margin: 0;
    font-size: 16px;
    color: var(--tg-gray-two);
}
.accordion-wrap .accordion-button::after {
    content: "\f104";
    position: absolute;
    right: 30px;
    top: 45px;
    font-family: "flaticon";
    font-weight: 500;
    font-size: 24px;
    background-image: none;
    width: auto;
    height: auto;
    line-height: 0;
}
.accordion-wrap .accordion-button:not(.collapsed)::after {
    content: "\f105";
    transform: rotate(0);
    background-image: none;
}
.accordion-wrap .accordion-item:last-of-type .accordion-collapse {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.faq-content .touch-btn .btn {
    border: none;
    padding: 0;
    color: var(--tg-gray-three);
}
.faq-content .touch-btn .btn::before {
    display: none;
}
.faq-content .touch-btn .btn:hover {
    color: var(--tg-primary-color);
}
.faq-content .touch-btn .btn span::before {
    background-color: currentColor;
}

/* faq-two */
.faq-area-two {
    background: var(--tg-primary-color);
}
.faq-inner-wrap .row .col-54 {
    width: 53.7%;
    flex: 0 0 auto;
}
.faq-inner-wrap .row .col-46 {
    flex: 0 0 auto;
    width: 46.3%;
}
.faq-content-two .accordion-wrap .accordion-button {
    color: var(--tg-white);
    border-bottom: 1px solid #3C3C3C;
}
.faq-content-two .accordion-wrap .accordion-button:not(.collapsed) {
    background-color: #282828;
    border-color: transparent;
}
.faq-content-two .accordion-wrap .accordion-body {
    background: #282828;
}
.faq-content-two {
    padding: 120px 120px 120px 280px;
    height: 100%;
}
.faq-content-two .touch-btn .btn {
    border: none;
    padding: 0;
    color: var(--tg-white);
}
.faq-content-two .btn::before {
    display: none;
}
.counter-circle-wrap {
    background-size: cover;
    background-position: center;
    padding: 120px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.counter-circle-inner {
    background: var(--tg-white);
    text-align: center;
    width: 100%;
    padding: 85px 80px;
}
.counter-circle-inner .chart {
    position: relative;
    display: inline-block;
    text-align: center;
    line-height: 1;
    max-width: 220px;
    max-height: 220px;
    margin-bottom: 50px;
}
.counter-circle-inner .chart .percentage {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: var(--tg-primary-color);
    font-size: 20px;
    font-weight: 700;
    display: block;
    line-height: 1.5;
}
.counter-circle-inner .count {
    margin-bottom: 20px;
    line-height: .8;
    font-size: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.counter-circle-inner p {
    font-size: 16px;
    width: 70%;
    margin: 0 auto;
}


/* inner-faq */
.accordion-wrap-two .accordion-item {
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 0;
}
.accordion-wrap-two .accordion-body {
    padding: 0 50px 30px 30px;
    background: transparent;
}
.accordion-wrap-two .accordion-button:not(.collapsed) {
    color: var(--tg-primary-color);
    background-color: transparent;
}
.accordion-wrap-two .accordion-body p {
    color: var(--tg-paragraph-color);
}
.accordion-wrap-two .accordion-item.active {
    border-color: var(--tg-primary-color);
}

/*=============================
	21. Pricing
===============================*/
.pricing-area {
    background: var(--tg-section-background);
    padding: 120px 0 90px;
}
.pricing-item-wrap .row {
    --bs-gutter-x: 46px;
}
.pricing-box {
    background: var(--tg-white);
    padding: 60px 60px;
    margin-bottom: 30px;
}
.pricing-price {
    margin-bottom: 50px;
}
.pricing-price .price {
    font-size: 60px;
    margin-bottom: 0;
    line-height: 1;
}
.pricing-plan {
    margin-bottom: 30px;
}
.pricing-plan .title {
    font-size: 18px;
    margin-bottom: 15px;
}
.pricing-plan p {
    margin-bottom: 0;
    color: rgba(16, 24, 40, 0.6);
}
.pricing-list {
    margin-bottom: 50px;
}
.pricing-list .list-wrap li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: rgba(16, 24, 40, 0.6);
    font-size: 14px;
    margin-bottom: 15px;
}
.pricing-list .list-wrap li:last-child {
    margin-bottom: 0;
}
.pricing-list .list-wrap li i {
    line-height: 0;
    font-size: 18px;
    color: var(--tg-primary-color);
}
.pricing-btn .btn {
    width: 100%;
    justify-content: center;
}

.pricing-box.pricing-box-three {
    border: 2px solid rgba(34 34 34 / 20%);
    transition: .3s;
}
.pricing-box.pricing-box-three:hover,
.pricing-box.pricing-box-three.active {
    border-color: var(--tg-primary-color);
}


/*=============================
	22. Blog
===============================*/
.blog-post-wrap .row {
    --bs-gutter-x: 45px;
}
.blog-post-item {
    margin-bottom: 30px;
}
.blog-post-thumb {
    margin-bottom: 40px;
    overflow: hidden;
}
.blog-post-thumb img {
    transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transform: scale(1);
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.blog-post-item:hover .blog-post-thumb img {
    transform: scale(1.1);
}
.blog-meta .list-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 35px;
    border-bottom: 1px solid var(--tg-gray);
    padding-bottom: 15px;
    margin-bottom: 15px;
}
.blog-meta .list-wrap li {
    font-size: 14px;
    position: relative;
    line-height: 1;
}
.blog-meta .list-wrap li .underline-effect::before {
    height: 1px;
}
.blog-meta .list-wrap li::before {
    content: "/";
    position: absolute;
    right: -18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--tg-gray-two);
}
.blog-meta .list-wrap li:last-child::before {
    display: none;
}
.blog-post-content .title {
    font-size: 18px;
    margin-bottom: 0;
    line-height: 1.6;
}
.blog-post-content .title a {
    position: relative;
    display: inline;
    background-image: linear-gradient(#222, #222), linear-gradient(#222, #222);
    background-size: 0% 1.5px, 0 1.5px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.4s linear;
}
.blog-post-content .title a:hover {
    color: inherit;
    background-size: 0 1.5px, 100% 1.5px;
}

/* blog-two */
.blog-post-area-two {
    background: var(--tg-section-background);
    padding: 120px 0 90px;
}
.blog-post-wrap-two .row .col-48 {
    width: 47.7%;
    flex: 0 0 auto;
}
.blog-post-wrap-two .row .col-25 {
    width: 25%;
    flex: 0 0 auto;
}
.blog-post-wrap-two .row .col-27 {
    width: 27.3%;
    flex: 0 0 auto;
}
.blog-post-item-two {
    margin-bottom: 30px;
}
.blog-post-item-two .blog-post-thumb {
    margin-bottom: 0;
    overflow: hidden;
}
.blog-post-item-two:hover .blog-post-thumb img {
    transform: scale(1.1);
}
.blog-post-item-three .blog-post-content,
.blog-post-item-two .blog-post-content {
    background: var(--tg-white);
    padding: 30px;
}
.blog-post-item-three {
    margin-bottom: 30px;
}
.blog-post-item-four .blog-post-content .title,
.blog-post-item-three .blog-post-content .title {
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.blog-post-item-four {
    margin-bottom: 30px;
}
.blog-post-item-four .blog-post-thumb {
    margin-bottom: 0;
}
.blog-post-item-four:hover .blog-post-thumb img {
    transform: scale(1.1);
}
.blog-post-item-four .blog-post-content {
    background: var(--tg-white);
    padding: 30px;
}
.blog-post-item-four .blog-post-content .title {
    margin-bottom: 20px;
}
.blog-post-avatar {
    display: flex;
    align-items: center;
}
.blog-post-avatar .thumb {
    width: 40px;
    flex: 0 0 auto;
    margin-right: 15px;
}
.blog-post-avatar .thumb img {
    border-radius: 50%;
}
.blog-post-avatar .content p {
    margin-bottom: 0;
    font-size: 14px;
    color: var(--tg-gray-three);
}
.blog-post-avatar .content p a {
    font-weight: 700;
}
.blog-post-avatar .content p a:hover {
    color: var(--tg-gray-three);
}

/* inner-blog */
.blog-item {
    margin-bottom: 60px;
}
.blog-meta-two .list-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--tg-primary-color);
    padding-bottom: 20px;
    margin-bottom: 30px;
}
.blog-meta-two .list-wrap li {
    font-size: 12px;
}
.blog-meta-two .list-wrap li i {
    color: var(--tg-primary-color);
    margin-right: 10px;
}
.blog-meta-two .list-wrap li a {
    position: relative;
    font-weight: 700;
}
.blog-meta-two .list-wrap li a::before {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    bottom: 2px;
    left: 0;
    background-color: currentColor;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.blog-meta-two .list-wrap li a:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
.blog-thumb {
    margin-bottom: 50px;
}
.blog-content .title {
    font-size: 40px;
    margin-bottom: 40px;
}
.blog-content .title a {
    position: relative;
    display: inline;
    background-image: linear-gradient(#222, #222), linear-gradient(#222, #222);
    background-size: 0% 2px, 0 2px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.4s linear;
}
.blog-content .title a:hover {
    color: inherit;
    background-size: 0 2px, 100% 2px;
}
.blog-sidebar {
    margin-left: 20px;
    position: sticky;
    top: 115px;
}

/* Blog index: standardized hero and clean editorial grid */
.blog-page .blog-hero {
    position: relative;
    min-height: 520px;
    padding: 152px 0 72px;
    overflow: hidden;
    background-position: center 45%;
    isolation: isolate;
}
.blog-page .blog-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(7, 28, 25, .94) 0%, rgba(12, 43, 38, .75) 48%, rgba(10, 35, 31, .20) 100%),
        linear-gradient(0deg, rgba(5, 24, 21, .40) 0%, transparent 48%);
}
.blog-page .blog-hero .breadcrumb-content {
    text-align: left;
}
.blog-page .blog-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
}
.blog-page .blog-hero-kicker::before {
    content: "";
    width: 42px;
    height: 1px;
    background: var(--tg-secondary-color);
}
.blog-page .blog-hero .title {
    max-width: 800px;
    margin: 0;
    font-size: clamp(42px, 4.25vw, 62px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.blog-page .blog-hero .title span {
    display: inline-block;
    margin-top: 6px;
    color: rgba(255, 255, 255, .62);
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -.02em;
}

/* Shared inner-page title hierarchy: keep the second line clearly subordinate. */
.about-page .about-hero .title span,
.services-page .services-hero .title span,
.service-detail-page .service-detail-hero .title span,
.project-page .project-hero .title span,
.contact-page .contact-hero .title span,
.standard-inner-page .standard-hero .title span {
    display: inline-block;
    margin-top: 6px;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.15;
    letter-spacing: -.02em;
}
.standard-inner-page .standard-hero {
    position: relative;
    min-height: 520px;
    padding: 152px 0 72px;
    overflow: hidden;
    background-position: center 45%;
    isolation: isolate;
}
.standard-inner-page .standard-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(7, 28, 25, .94) 0%, rgba(12, 43, 38, .75) 48%, rgba(10, 35, 31, .20) 100%),
        linear-gradient(0deg, rgba(5, 24, 21, .40) 0%, transparent 48%);
}
.standard-inner-page .standard-hero .breadcrumb-content {
    text-align: left;
}
.standard-inner-page .standard-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
}
.standard-inner-page .standard-hero-kicker::before {
    content: "";
    width: 42px;
    height: 1px;
    background: var(--tg-secondary-color);
}
.standard-inner-page .standard-hero .title {
    max-width: 900px;
    margin: 0;
    font-size: clamp(42px, 4.25vw, 62px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.standard-inner-page .standard-hero .title span {
    color: rgba(255, 255, 255, .62);
    font-weight: 400;
}
@media (max-width: 1199.98px) {
    .standard-inner-page .standard-hero {
        min-height: 500px;
        padding: 140px 0 64px;
    }
}
@media (max-width: 991.98px) {
    .standard-inner-page .standard-hero {
        padding: 128px 0 58px;
        background-position: 62% center;
    }
}
@media (max-width: 767.98px) {
    .about-page .about-hero .title span,
    .services-page .services-hero .title span,
    .service-detail-page .service-detail-hero .title span,
    .project-page .project-hero .title span,
    .contact-page .contact-hero .title span,
    .standard-inner-page .standard-hero .title span {
        font-size: clamp(28px, 7.5vw, 34px);
    }
    .standard-inner-page .standard-hero {
        min-height: 500px;
        padding: 122px 0 54px;
    }
    .standard-inner-page .standard-hero::after {
        left: 20px;
        height: 48px;
    }
    .standard-inner-page .standard-hero .title {
        font-size: clamp(34px, 9vw, 42px);
    }
}
.blog-page .blog-index-area {
    background: var(--tg-white);
}
.blog-page .blog-index-head {
    max-width: 900px;
    margin-bottom: 70px;
}
.blog-page .blog-index-head .sub-title {
    display: block;
    margin-bottom: 20px;
    color: #608078;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
}
.blog-page .blog-index-head h2 {
    margin-bottom: 20px;
    font-size: clamp(32px, 3vw, 46px);
    line-height: 1.2;
    letter-spacing: -.025em;
    text-wrap: pretty;
}
.blog-page .blog-index-head p {
    margin: 0;
    font-size: 17px;
}
.blog-page .blog-index-area .col-lg-9 {
    flex: 0 0 100%;
    max-width: 100%;
}
.blog-page .blog-index-area .col-lg-3 {
    display: none;
}
.blog-page .blog-index-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 64px 30px;
}
.blog-page .blog-item {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0;
}
.blog-page .blog-meta-two .list-wrap {
    min-height: 38px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-color: rgba(18, 58, 51, .18);
}
.blog-page .blog-meta-two .list-wrap li {
    color: #608078;
    font-size: 11px;
    letter-spacing: .05em;
}
.blog-page .blog-thumb {
    aspect-ratio: 4 / 3;
    margin-bottom: 24px;
    overflow: hidden;
    background: #e9eeeb;
}
.blog-page .blog-thumb > a,
.blog-page .blog-thumb picture,
.blog-page .blog-thumb img {
    display: block;
    width: 100%;
    height: 100%;
}
.blog-page .blog-thumb img {
    object-fit: cover;
    object-position: center;
    transition: transform .7s cubic-bezier(.25, .46, .45, .94);
}
.blog-page .blog-item:hover .blog-thumb img {
    transform: scale(1.035);
}
.blog-page .blog-content {
    display: flex;
    flex: 1;
    flex-direction: column;
}
.blog-page .blog-content .title {
    display: -webkit-box;
    height: calc(22px * 1.45 * 3);
    margin-bottom: 24px;
    overflow: hidden;
    font-size: 22px;
    line-height: 1.45;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.blog-page .blog-content .title a {
    background: none;
}
.blog-page .blog-read-more {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 12px;
    margin-top: auto;
    color: var(--tg-primary-color);
    font-size: 13px;
    font-weight: 600;
}
.blog-page .blog-read-more::after {
    content: "→";
    transition: transform .25s ease;
}
.blog-page .blog-read-more:hover {
    color: var(--tg-secondary-color);
}
.blog-page .blog-read-more:hover::after {
    transform: translateX(4px);
}
.blog-page .pagination-wrap {
    margin-top: 82px;
}
@media (max-width: 1199.98px) {
    .blog-page .blog-hero {
        min-height: 500px;
        padding: 140px 0 64px;
    }
    .blog-page .blog-content .title {
        height: calc(20px * 1.45 * 3);
        font-size: 20px;
    }
}
@media (max-width: 991.98px) {
    .blog-page .blog-hero {
        padding: 128px 0 58px;
        background-position: 62% center;
    }
    .blog-page .blog-index-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px) {
    .blog-page .blog-hero {
        min-height: 500px;
        padding: 122px 0 54px;
    }
    .blog-page .blog-hero::after {
        left: 20px;
        height: 48px;
    }
    .blog-page .blog-hero .title {
        font-size: clamp(34px, 9vw, 42px);
    }
    .blog-page .blog-hero .title span {
        font-size: clamp(28px, 7.5vw, 34px);
    }
    .blog-page .blog-index-area {
        padding-top: 90px;
    }
    .blog-page .blog-index-head {
        margin-bottom: 52px;
    }
    .blog-page .blog-index-grid {
        grid-template-columns: 1fr;
        gap: 56px;
    }
    .blog-page .blog-content .title {
        height: auto;
        min-height: calc(20px * 1.45 * 2);
    }
}
.blog-widget {
    margin-bottom: 50px;
}
.blog-widget:last-child {
    margin-bottom: 0;
}
.widget-title {
    font-size: 20px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ECECEC;
}
.sidebar-search form {
    position: relative;
}
.sidebar-search form input {
    width: 100%;
    background: #F5F5F5;
    border: none;
    font-weight: 400;
    font-size: 14px;
    padding: 16px 70px 16px 25px;
    color: var(--tg-primary-color);
    height: 54px;
}
.sidebar-search form input::placeholder {
    font-weight: 400;
    font-size: 14px;
    color: #A3A3A3;
}
.sidebar-search form button {
    position: absolute;
    border: none;
    padding: 0;
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 0;
    top: 0;
    line-height: 0;
    background: var(--tg-primary-color);
    color: var(--tg-white);
}
.rc-post-item {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}
.rc-post-item:last-child {
    margin-bottom: 0;
}
.rc-post-thumb {
    width: 80px;
    flex: 0 0 auto;
    margin-right: 20px;
}
.rc-post-content .date {
    display: flex;
    align-items: center;
    font-size: 12px;
    margin-bottom: 10px;
}
.rc-post-content .date i {
    color: var(--tg-primary-color);
    margin-right: 5px;
}
.rc-post-content .title {
    font-size: 14px;
    margin-bottom: 0;
}
.blog-cat-list .form-check {
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: 0;
    padding: 0;
    min-height: inherit;
}
.blog-cat-list .form-check-input {
    border-radius: 0;
    border: none;
    margin: 0 12px 0 0;
    width: 16px;
    height: 16px;
    background: #EFEFEF;
}
.blog-cat-list .form-check-label {
    flex-grow: 1;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: -.4px;
    color: var(--tg-primary-color);
    user-select: none;
}
.blog-cat-list .form-check-label > span {
    float: right;
    color: var(--tg-paragraph-color);
}
.blog-cat-list .form-check-input:checked[type=checkbox] {
    background-image: none;
    background-color: #EFEFEF;
    border: 4px solid var(--tg-primary-color);
}
.blog-cat-list .form-check-input:focus {
    border-color: var(--tg-primary-color);
    outline: 0;
    box-shadow: none;
}
.blog-cat-list .form-check-input:checked + label {
    color: var(--tg-primary-color);
}
.blog-cat-list .list-wrap li {
    margin-bottom: 25px;
}
.blog-cat-list .list-wrap li:last-child {
    margin-bottom: 0;
}

/* blog-details */
.news-article-area {
    padding-top: 64px;
}
.news-article-area .blog-details-wrap {
    max-width: 980px;
    margin: 0 auto;
}
.news-article-area .news-article-cover {
    overflow: hidden;
    border-radius: 18px;
    aspect-ratio: 16 / 7;
    margin-bottom: 42px;
    background: #e9efec;
}
.news-article-area .news-article-cover picture,
.news-article-area .news-article-cover img {
    display: block;
    width: 100%;
    height: 100%;
}
.news-article-area .news-article-cover img {
    object-fit: cover;
    object-position: center 58%;
}
.news-article-heading {
    max-width: 820px;
    margin: 0 auto 42px;
}
.news-article-category {
    display: inline-flex;
    align-items: center;
    padding: 7px 13px;
    border-radius: 999px;
    color: #246b5b;
    background: #e9f2ee;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
}
.news-article-heading > .title {
    margin: 18px 0 16px;
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.42;
    font-weight: 700;
}
.news-article-lead {
    color: #63716d;
    font-size: 18px;
    line-height: 1.9;
}
.news-article-body {
    max-width: 820px;
    margin: 0 auto;
}
.news-article-body h3,
.news-office-note .title {
    margin: 34px 0 12px;
    color: #173c35;
    font-size: 23px;
    line-height: 1.45;
    font-weight: 700;
}
.news-article-body p,
.news-office-note p {
    margin-bottom: 0;
    color: #586560;
    font-size: 16px;
    line-height: 2;
}
.news-office-note {
    max-width: 820px;
    margin: 42px auto 0;
    padding: 30px 34px;
    border-left: 3px solid #39816e;
    border-radius: 0 14px 14px 0;
    background: #f1f5f2;
}
.news-office-note .title {
    margin-top: 16px;
}
.news-article-pillars {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: 820px;
    margin: 34px auto 0;
}
.news-article-pillars > div {
    padding: 22px 20px;
    border: 1px solid #e5ece8;
    border-radius: 14px;
    background: #fff;
}
.news-article-pillars span {
    color: #46917c;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}
.news-article-pillars h4 {
    margin: 10px 0 6px;
    color: #183d36;
    font-size: 17px;
}
.news-article-pillars p {
    margin: 0;
    color: #63716d;
    font-size: 14px;
    line-height: 1.8;
}
.news-article-back {
    max-width: 820px;
    margin: 38px auto 0;
    padding-top: 24px;
    border-top: 1px solid #e6ece9;
}
.news-article-back a {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: #246b5b;
    font-weight: 700;
}
.news-article-area .comments-wrap,
.news-article-area .comment-respond,
.news-article-area .blog-sidebar {
    display: none;
}
.blog-details-content > p {
    margin-bottom: 25px;
}
.blog-details-content > .title {
    font-size: 18px;
    margin-bottom: 30px;
    margin-top: 60px;
}
.blog-details-content > span {
    display: block;
    color: var(--tg-gray-three);
    font-size: 14px;
    margin-bottom: 60px;
}
.blog-details-inner {
    margin: 60px 0;
}
.bd-inner-content {
    margin-left: 35px;
}
.bd-inner-content .title {
    font-size: 30px;
    margin-bottom: 30px;
}
.bd-inner-content p {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    .news-article-area {
        padding-top: 42px;
        padding-bottom: 64px;
    }
    .news-article-area .news-article-cover {
        aspect-ratio: 4 / 3;
        margin-bottom: 30px;
        border-radius: 14px;
    }
    .news-article-heading > .title {
        font-size: 28px;
    }
    .news-article-lead {
        font-size: 16px;
    }
    .news-article-body h3,
    .news-office-note .title {
        font-size: 20px;
    }
    .news-office-note {
        padding: 24px 20px;
    }
    .news-article-pillars {
        grid-template-columns: 1fr;
    }
}
.pn-post-item a {
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    font-size: 14px;
}
.pn-post-item a i {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E4E4E4;
    border-radius: 50%;
    transform: rotate(-90deg);
    color: var(--tg-primary-color);
    font-size: 16px;
    margin-right: 15px;
    line-height: 0;
}
.pn-post-item a:hover i {
    background-color: var(--tg-primary-color);
    color: var(--tg-white);
    border-color: var(--tg-primary-color);
    transition: all 0.3s ease-in-out 0s;
}
.pn-post-item.next-post {
    text-align: right;
}
.pn-post-item.next-post a {
    flex-direction: row-reverse;
}
.pn-post-item.next-post a i {
    transform: rotate(90deg);
    margin-right: 0;
    margin-left: 15px;
}
.blog-prev-next-posts {
    padding: 20px 0;
    border-bottom: 1px solid rgba(34 34 34 / 10%);
    border-top: 1px solid rgba(34 34 34 / 10%);
    margin-top: 80px;
}
.comments-wrap {
    margin-top: 80px;
    margin-bottom: 60px;
}
.comments-wrap-title {
    font-size: 20px;
    margin-bottom: 20px;
}
.comments-wrap-title span {
    color: var(--tg-gray-three);
    margin-left: 5px;
}
.latest-comments .comments-box {
    display: flex;
    align-items: flex-start;
    border-top: 1px solid var(--tg-gray);
    padding-top: 40px;
    margin-bottom: 55px;
}
.latest-comments > .list-wrap > li:last-child > .comments-box {
    margin-bottom: 0;
}
.latest-comments .children .comments-box {
    margin-left: 110px;
}
.comments-avatar {
    width: 80px;
    flex: 0 0 auto;
    margin-right: 30px;
}
.comments-avatar img {
    border-radius: 50%;
}
.comments-text .avatar-name {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.comments-text .avatar-name .name {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1;
}
.comments-text .avatar-name .date {
    display: block;
    font-size: 14px;
    line-height: 1;
}
.comments-text p {
    font-size: 14px;
    margin-bottom: 20px;
}
.comment-reply a {
    font-size: 14px;
    display: inline-flex;
    align-items: center;
}
.comment-reply a i {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E4E4E4;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    line-height: 0;
    color: var(--tg-primary-color);
    margin-right: 10px;
    transition: all 0.3s ease-out 0s;
}
.comment-reply a:hover i {
    background: var(--tg-primary-color);
    color: var(--tg-white);
    border-color: var(--tg-primary-color);
}
.comment-reply-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid var(--tg-gray);
    padding-bottom: 20px;
    margin-bottom: 40px;
}
.comment-reply-title {
    font-size: 20px;
    margin-bottom: 0;
}
.comment-reply-top .rating {
    display: flex;
    align-items: center;
    line-height: 0;
    color: #CECECE;
    gap: 5px;
}
.comment-form .row {
    --bs-gutter-x: 20px;
}
.comment-form .form-grp {
    margin-bottom: 20px;
}
.comment-form .form-grp textarea,
.comment-form .form-grp input {
    width: 100%;
    background: transparent;
    border: 1px solid rgba(34 34 34 / 20%);
    font-size: 14px;
    color: var(--tg-primary-color);
    font-weight: 400;
    padding: 15px 25px;
    height: 54px;
    display: block;
    transition: .3s;
}
.comment-form .form-grp textarea::placeholder,
.comment-form .form-grp input::placeholder {
    font-size: 14px;
    color: #A8A8A8;
    font-weight: 400;
}
.comment-form .form-grp textarea:focus,
.comment-form .form-grp input:focus {
    border-color: var(--tg-primary-color);
}
.comment-form .form-grp textarea {
    min-height: 180px;
    max-height: 180px;
}
.comment-form .btn::before,
.comment-form .btn::after {
    display: none;
}
.comment-form .btn {
    background: var(--tg-primary-color);
    color: var(--tg-white);
}
.comment-form .btn:hover {
    background: transparent;
    color: var(--tg-primary-color);
}

/*=============================
	23. Pagination
===============================*/
.pagination-wrap .pagination.list-wrap {
    gap: 10px 14px;
}
.pagination-wrap .pagination .page-link {
    margin-left: 0;
    padding: 0 0;
    color: var(--tg-primary-color);
    border: none;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    border: 1px solid #E4E4E4;
    background: transparent;
}
.pagination-wrap .pagination .page-item .page-link:hover,
.pagination-wrap .pagination .page-item.active .page-link {
    border-color: var(--tg-primary-color);
    background: var(--tg-primary-color);
    color: var(--tg-white);
}
.pagination-wrap .pagination .page-item.disabled .page-link {
    color: #9aa8a3;
    border-color: #e8edeb;
    cursor: not-allowed;
    pointer-events: none;
}
.pagination-wrap .pagination .page-item.perv-page .page-link i {
    transform: rotate(-90deg);
    line-height: 0;
    font-weight: 700;
}
.pagination-wrap .pagination .page-item.next-page .page-link i {
    transform: rotate(90deg);
    line-height: 0;
}
.pagination-wrap .pagination .page-link:focus {
    color: var(--tg-white);
    background-color: var(--tg-primary-color);
    border-color: var(--tg-primary-color);
    outline: 0;
    box-shadow: none;
}

/*=============================
	24. Contact
===============================*/
.contact-map {
    width: 100%;
    height: 700px;
}
.contact-map iframe {
    width: 100%;
    height: 100%;
}
.contact-info-item {
    box-shadow: 0px 16px 32px rgba(0, 0, 0, 0.06);
    background: var(--tg-white);
    padding: 50px 50px;
    margin-bottom: 30px;
    min-height: 400px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.contact-info-icon {
    font-size: 80px;
    line-height: 0;
    color: var(--tg-primary-color);
    margin-bottom: 90px;
}
.contact-info-content .title {
    display: block;
    font-size: 14px;
    border-bottom: 1px solid #D3D3D3;
    line-height: 1;
    padding-bottom: 10px;
    margin-bottom: 25px;
}
.contact-info-content p {
    font-size: 26px;
    margin-bottom: 0;
    font-weight: 700;
    line-height: 1.38;
    color: var(--tg-primary-color);
}
.contact-info-arrow {
    position: absolute;
    font-size: 40px;
    top: 30px;
    right: 30px;
    line-height: 0;
    color: var(--tg-primary-color);
    transition: .3s;
    transform: rotate(45deg);
    opacity: .2;
}
.contact-info-item:hover .contact-info-arrow {
    opacity: 1;
}
.contact-info-wrap {
    margin-top: -95px;
    margin-bottom: 90px;
}
.contact-info-wrap .row {
    --bs-gutter-x: 45px;
}
.contact-form .form-grp {
    position: relative;
    margin-bottom: 20px;
}
.contact-form .form-grp textarea,
.contact-form .form-grp input {
    width: 100%;
    background: #F3F3F3;
    border: 1px solid transparent;
    font-weight: 400;
    font-size: 14px;
    color: var(--tg-primary-color);
    padding: 18px 55px 18px 25px;
    display: block;
    height: 60px;
    transition: .3s;
}
.contact-form .form-grp textarea:focus,
.contact-form .form-grp input:focus {
    background: var(--tg-white);
    border-color: var(--tg-primary-color);
}
.contact-form .form-grp textarea::placeholder,
.contact-form .form-grp input::placeholder {
    font-weight: 400;
    font-size: 14px;
    color: var(--tg-gray-three);
}
.contact-form .form-grp textarea {
    min-height: 140px;
    max-height: 140px;
}
.contact-form .form-grp label {
    position: absolute;
    top: 20px;
    right: 25px;
    line-height: 0;
    color: var(--tg-primary-color);
    font-size: 16px;
}
.contact-form .submit-btn {
    border: none;
    background: var(--tg-primary-color);
    color: var(--tg-white);
    padding: 19px 36px;
    font-weight: 700;
    font-size: 14px;
    display: inline-block;
}

/* ===============================================================
   联系我们：双栏页头 + 独立咨询面板
   页面级作用域，避免改变其他内页与通用表单。
   =============================================================== */
.contact-page .contact-hero {
    position: relative;
    min-height: 520px;
    padding: 166px 0 82px;
    overflow: hidden;
    isolation: isolate;
}
.contact-page .contact-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(7, 29, 26, .91) 0%, rgba(13, 47, 41, .72) 56%, rgba(8, 32, 28, .42) 100%),
        linear-gradient(0deg, rgba(6, 27, 24, .32), transparent 55%);
}
.contact-page .contact-hero .breadcrumb-content {
    text-align: left;
}
.contact-page .contact-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    color: rgba(255, 255, 255, .68);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .22em;
}
.contact-page .contact-hero-kicker::before {
    content: "";
    width: 42px;
    height: 1px;
    background: currentColor;
}
.contact-page .contact-hero .title {
    margin: 0;
    font-size: clamp(42px, 4.25vw, 62px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.contact-page .contact-hero .title span {
    color: rgba(255, 255, 255, .62);
    font-weight: 400;
}

.contact-page .about-area {
    padding: 96px 0 132px;
    background: var(--tg-white);
}
.contact-page .about-area .section-title {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
}
.contact-page .about-area .section-title .title {
    line-height: 1.6;
    text-wrap: balance;
}
.contact-page .contact-intro-label {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding-top: 9px;
    color: #608078;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
}
.contact-page .contact-intro-label::before {
    content: "";
    width: 34px;
    height: 1px;
    background: #7a968f;
}
.contact-page .contact-intro-copy {
    max-width: 850px;
}
.contact-page .contact-intro-copy h2 {
    margin-bottom: 24px;
    font-size: clamp(34px, 3.4vw, 50px);
    line-height: 1.18;
    letter-spacing: -.03em;
}
.contact-page .contact-intro-copy > p {
    max-width: 760px;
    margin-bottom: 32px;
    font-size: 17px;
    line-height: 1.85;
}
.contact-page .contact-topic-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.contact-page .contact-topic-list li {
    padding: 9px 16px;
    border: 1px solid rgba(18, 58, 51, .15);
    border-radius: 999px;
    background: #f3f6f4;
    color: #496760;
    font-size: 13px;
    font-weight: 500;
}
.contact-page .contact-area {
    position: relative;
    padding: 0 0 120px;
    background: var(--tg-section-background);
}
.contact-page .contact-info-wrap {
    position: relative;
    z-index: 2;
    margin-top: -72px;
    margin-bottom: 88px;
}
.contact-page .contact-info-item {
    min-height: 270px;
    padding: 36px 34px;
    border-top: 2px solid var(--tg-primary-color);
    box-shadow: 0 18px 45px rgba(15, 46, 41, .08);
}
.contact-page .contact-info-icon {
    margin-bottom: 36px;
    font-size: 50px;
}
.contact-page .contact-info-content p {
    font-size: 18px;
    line-height: 1.65;
}
.contact-page .contact-consult-panel {
    position: relative;
    padding: 64px;
    background: var(--tg-white);
    box-shadow: 0 22px 60px rgba(15, 46, 41, .08);
}
.contact-page .contact-consult-panel::before {
    content: "预约合作";
    position: absolute;
    top: 0;
    right: 0;
    padding: 12px 20px;
    background: var(--tg-primary-color);
    color: rgba(255, 255, 255, .82);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
}
.contact-page .contact-consult-panel > .row {
    --bs-gutter-x: 72px;
}
.contact-page .contact-img {
    height: 680px;
    overflow: hidden;
}
.contact-page .contact-img picture,
.contact-page .contact-img img {
    display: block;
    width: 100%;
    height: 100%;
}
.contact-page .contact-img img {
    object-fit: cover;
}
.contact-page .contact-form .form-grp textarea,
.contact-page .contact-form .form-grp input {
    background: var(--tg-section-background);
}
.contact-page .contact-form-note {
    max-width: 430px;
    margin: -34px 0 42px;
    color: var(--tg-paragraph-color);
    font-size: 15px;
    line-height: 1.75;
}
.contact-page .contact-form .submit-btn {
    min-width: 148px;
    transition: background-color .3s ease, transform .3s ease;
}
.contact-page .contact-form .submit-btn:hover {
    background: #2f6b60;
    transform: translateY(-2px);
}

@media (max-width: 1199px) {
    .contact-page .contact-consult-panel {
        padding: 50px;
    }
    .contact-page .contact-consult-panel > .row {
        --bs-gutter-x: 48px;
    }
    .contact-page .contact-img {
        height: 650px;
    }
}
@media (max-width: 991px) {
    .contact-page .contact-hero {
        min-height: 520px;
        padding: 142px 0 64px;
    }
    .contact-page .about-area {
        padding: 82px 0 112px;
    }
    .contact-page .contact-intro-label {
        margin-bottom: 28px;
    }
    .contact-page .contact-info-wrap {
        margin-top: -58px;
        margin-bottom: 62px;
    }
    .contact-page .contact-consult-panel {
        padding: 52px 44px;
    }
    .contact-page .contact-img {
        height: 480px;
        margin-bottom: 52px;
    }
}
@media (max-width: 767px) {
    .contact-page .contact-hero {
        min-height: 540px;
        padding: 126px 0 52px;
    }
    .contact-page .contact-hero .title {
        font-size: clamp(34px, 9vw, 42px);
    }
    .contact-page .about-area {
        padding: 72px 0 92px;
    }
    .contact-page .contact-intro-copy h2 {
        font-size: 34px;
    }
    .contact-page .contact-intro-copy > p {
        font-size: 16px;
        line-height: 1.75;
    }
    .contact-page .contact-area {
        padding-bottom: 80px;
    }
    .contact-page .contact-info-wrap {
        margin-top: -42px;
        margin-bottom: 50px;
    }
    .contact-page .contact-info-item {
        min-height: 240px;
        padding: 34px 28px;
    }
    .contact-page .contact-info-icon {
        margin-bottom: 28px;
        font-size: 46px;
    }
    .contact-page .contact-consult-panel {
        padding: 54px 24px 30px;
    }
    .contact-page .contact-consult-panel::before {
        left: 0;
        right: auto;
    }
    .contact-page .contact-img {
        height: 360px;
        margin-bottom: 42px;
    }
}


/*=============================
	25. Footer
===============================*/
.footer-area {
    background: var(--tg-primary-color);
}
.footer-top {
    padding: 120px 0 80px;
}
.footer-widget {
    margin-bottom: 40px;
}
.footer-widget .fw-logo {
    margin-bottom: 60px;
}
.footer-widget .fw-logo img {
    max-width: 92px;
}
.footer-content p {
    font-size: 30px;
    margin-bottom: 70px;
    line-height: 1.2;
    color: var(--tg-gray-two);
}
.footer-content .list-wrap li {
    margin-bottom: 10px;
}
.footer-content .list-wrap li:last-child {
    margin-bottom: 0;
}
.footer-content .list-wrap li a {
    font-size: 20px;
    color: var(--tg-white);
    line-height: 1;
}
.fw-title {
    margin-bottom: 50px;
    color: var(--tg-white);
    font-size: 26px;
}
.footer-link-list .list-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px 0;
}
.footer-link-list .list-wrap li {
    width: 50%;
}
.footer-link-list .list-wrap li a {
    font-size: 16px;
    color: var(--tg-gray-two);
}
.footer-link-list .list-wrap li a:hover {
    color: var(--tg-white);
    margin-left: 5px;
}
.footer-newsletter p {
    margin-bottom: 40px;
    font-size: 14px;
    color: var(--tg-gray-two);
}
.footer-newsletter .form-grp {
    position: relative;
    margin-bottom: 20px;
}
.footer-newsletter .form-grp input {
    width: 100%;
    background: transparent;
    border: none;
    padding: 0 25px 20px 0;
    border-bottom: 1px solid #D9D9D9;
    font-size: 14px;
    color: var(--tg-gray-two);
    display: block;
}
.footer-newsletter .form-grp input::placeholder {
    color: #656565;
    font-size: 14px;
}
.footer-newsletter .form-grp label {
    position: absolute;
    right: 0;
    top: 3px;
    font-size: 14px;
    color: var(--tg-white);
    line-height: 0;
}
.footer-newsletter .submit-btn {
    border: none;
    background: transparent;
    color: var(--tg-white);
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    font-weight: 700;
    padding: 0;
    gap: 10px;
    position: relative;
}
.footer-newsletter .submit-btn i {
    transform: rotate(90deg);
}
.footer-newsletter .submit-btn::before {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.footer-newsletter .submit-btn:hover::before {
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
.footer-bottom {
    border-top: 1px solid #3E3E3E;
    padding: 24px 0;
}
.copyright-text p {
    margin-bottom: 0;
    font-size: 16px;
    color: var(--tg-gray-two);
}
.copyright-text p a {
    color: var(--tg-white);
    font-weight: 700;
}
.footer-social .list-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}
.footer-social .list-wrap li a {
    font-weight: 700;
    font-size: 16px;
    color: var(--tg-gray-two);
}
.footer-social .list-wrap li a:hover {
    color: var(--tg-white);
}

/* ---------------------------------------------------------------
   批次 8：页脚布局与排版重构
   诊断依据（真实浏览器实测，1440 视口）：
     · 5/4/3 三栏与内容密度不匹配 → 品牌栏 550px 只用到约 280px
     · 「核心策动力」原用主题正文色 #60706C，对深绿底仅 2.4:1（AA 需 4.5:1）
     · 竖向节奏失控：logo 下 60 / 标语下 70 / 栏标题下 50，末栏内容底到
       footer-top 下边缘还留 120px 纯空白
     · 底栏分隔线 #3E3E3E 对 #163a34 仅 1.17:1，几乎不可见
     · 导航 hover 用 margin-left:5px，位移 5px 造成文字跳动
   全部规则带 .footer-area 前缀提权，用于压过 responsive.css 里的同名规则
   （responsive.css 在合并顺序上晚于 style.css）。因此移动端表现须在本文件
   内自行用 @media 覆盖，不能依赖 responsive.css。
   --------------------------------------------------------------- */
.footer-area .footer-top {
    padding: 96px 0 64px;
}
/* 栅格改用 flex row-gap 控制行距：单行时不生效，换行后自动拉开 */
.footer-area .footer-top .row {
    row-gap: 52px;
}
.footer-area .footer-widget {
    margin-bottom: 0;
}
.footer-area .fw-logo {
    margin-bottom: 22px;
}
.footer-area .text-logo .cn_w {
    font-size: 18px;
    letter-spacing: .06em;
}
.footer-area .fw-title {
    position: relative;
    margin-bottom: 24px;
    padding-bottom: 12px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .06em;
    color: var(--tg-white);
}
.footer-area .fw-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background: rgba(255, 255, 255, .48);
}

/* 品牌栏：标语 + 联系方式 + 转化入口 */
.footer-area .footer-content p.footer-note {
    margin-bottom: 22px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .02em;
    color: rgba(255, 255, 255, .92);
}
.footer-area .footer-content .list-wrap li {
    margin-bottom: 8px;
}
.footer-area .footer-content .list-wrap li:last-child {
    margin-bottom: 0;
}
.footer-area .footer-content .list-wrap li a {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .72);
}
.footer-area .footer-content .list-wrap li a:hover {
    color: var(--tg-white);
}
.footer-area .footer-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding: 9px 18px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 100px;
    font-size: 14px;
    font-weight: 600;
    color: var(--tg-white);
    transition: color .3s ease, background-color .3s ease, border-color .3s ease;
}
.footer-area .footer-cta:hover {
    background: var(--tg-white);
    border-color: var(--tg-white);
    color: var(--tg-primary-color);
}
.footer-area .footer-cta i {
    font-size: 12px;
    transition: transform .3s ease;
}
.footer-area .footer-cta:hover i {
    transform: translateX(4px);
}

/* 网站导航 */
.footer-area .footer-link-list .list-wrap {
    gap: 8px 0;
}
.footer-area .footer-link-list .list-wrap li a {
    display: inline-block;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .72);
    transition: color .3s ease, transform .3s ease;
}
/* hover 位移改用 transform，避免 margin-left 推动排版 */
.footer-area .footer-link-list .list-wrap li a:hover {
    margin-left: 0;
    transform: translateX(4px);
    color: var(--tg-white);
}

/* 解决方案：三条服务线（文案取自站内原文） */
.footer-area .footer-service-list .list-wrap li {
    margin-bottom: 12px;
}
.footer-area .footer-service-list .list-wrap li:last-child {
    margin-bottom: 0;
}
.footer-area .footer-service-list .s-name {
    display: block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.6;
    color: rgba(255, 255, 255, .92);
    transition: color .3s ease;
}
.footer-area .footer-service-list .s-desc {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .55);
}
.footer-area .footer-service-list li a:hover .s-name {
    color: var(--tg-white);
}

/* 核心策动力 */
.footer-area .footer-tag-list .list-wrap li {
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .72);
}
.footer-area .footer-tag-list .list-wrap li:last-child {
    margin-bottom: 0;
}

/* 底栏：可见分隔线 + 细分隔符 */
.footer-area .footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .28);
    padding: 20px 0;
}
.footer-area .copyright-text p {
    font-size: 14px;
    color: rgba(255, 255, 255, .6);
}
.footer-area .footer-social .list-wrap {
    gap: 0;
}
.footer-area .footer-social .list-wrap li {
    display: flex;
    align-items: center;
}
.footer-area .footer-social .list-wrap li + li::before {
    content: '';
    flex: none;
    width: 1px;
    height: 11px;
    margin: 0 12px;
    background: rgba(255, 255, 255, .24);
}
.footer-area .footer-social .list-wrap li a {
    font-weight: 400;
    font-size: 14px;
    color: rgba(255, 255, 255, .6);
}
.footer-area .footer-social .list-wrap li a:hover {
    color: var(--tg-white);
}

@media (max-width: 1199.98px) {
    .footer-area .footer-top {
        padding: 80px 0 56px;
    }
}
@media (max-width: 767.98px) {
    .footer-area .footer-top {
        padding: 64px 0 40px;
    }
    .footer-area .footer-top .row {
        row-gap: 44px;
    }
    .footer-area .fw-title {
        margin-bottom: 20px;
    }
    .footer-area .footer-content p.footer-note {
        margin-bottom: 18px;
        font-size: 18px;
    }
    .footer-area .footer-bottom {
        padding: 18px 0;
    }
    /* 底栏改为上下堆叠并居中（原 responsive.css 的居中规则权重更低，需在此重申） */
    .footer-area .copyright-text p {
        margin-bottom: 12px;
        text-align: center;
    }
    .footer-area .footer-social .list-wrap {
        justify-content: center;
    }
}

/* footer-two */
.footer-top-two {
    padding: 120px 0 80px;
}
.footer-top-two .fw-logo {
    margin-bottom: 30px;
}
.footer-content-two p {
    margin-bottom: 100px;
    font-size: 16px;
}
.footer-social-two .list-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
}
.footer-social-two .list-wrap li a {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E9E9E9;
    border-radius: 50%;
    font-size: 16px;
}
.footer-social-two .list-wrap li a:hover {
    background: var(--tg-primary-color);
    color: var(--tg-white);
    border-color: var(--tg-primary-color);
}
.footer-top-two .fw-title {
    color: var(--tg-primary-color);
}
.footer-top-two .footer-link-list .list-wrap li a {
    color: var(--tg-paragraph-color);
}
.footer-top-two .footer-link-list .list-wrap li a:hover {
    color: var(--tg-primary-color);
    margin-left: 0;
}
.footer-contact .list-wrap li {
    display: flex;
    align-items: center;
    font-size: 16px;
    margin-bottom: 20px;
}
.footer-contact .list-wrap li:last-child {
    margin-bottom: 0;
}
.footer-contact .list-wrap li i {
    color: var(--tg-primary-color);
    margin-right: 20px;
    line-height: 0;
    font-size: 18px;
}
.footer-contact .list-wrap li a {
    color: var(--tg-paragraph-color);
}
.footer-contact .list-wrap li a:hover {
    color: var(--tg-primary-color);
}
.footer-twitter-feeds .list-wrap li {
    display: flex;
    align-items: baseline;
    margin-bottom: 30px;
}
.footer-twitter-feeds .list-wrap li:last-child {
    margin-bottom: 0;
}
.footer-twitter-feeds .list-wrap li i {
    color: var(--tg-primary-color);
    font-size: 16px;
    margin-right: 20px;
}
.footer-twitter-feeds .list-wrap li p {
    margin-bottom: 0;
    font-size: 16px;
}
.footer-twitter-feeds .list-wrap li p a {
    font-weight: 700;
}
.footer-bottom-two {
    border-top: 1px solid #E0E0E0;
    padding: 24px 0;
}
.footer-bottom-two .copyright-text p {
    color: var(--tg-paragraph-color);
}
.footer-bottom-two .copyright-text p a {
    color: var(--tg-primary-color);
}
.footer-bottom-two .footer-social .list-wrap li a {
    color: var(--tg-paragraph-color);
}
.footer-bottom-two .footer-social .list-wrap li a:hover {
    color: var(--tg-primary-color);
}

/* footer-three */
.footer-area-three {
    background: var(--tg-section-background);
}
.footer-top-three .footer-content p {
    color: var(--tg-paragraph-color);
}
.footer-top-three .footer-content .list-wrap li a {
    color: var(--tg-primary-color);
}
.footer-top-three .fw-title {
    color: var(--tg-primary-color);
}
.footer-top-three .footer-link-list .list-wrap li a {
    color: var(--tg-paragraph-color);
}
.footer-top-three .footer-link-list .list-wrap li a:hover {
    color: var(--tg-primary-color);
}
.footer-top-three .footer-newsletter p {
    color: var(--tg-paragraph-color);
}
.footer-top-three .footer-newsletter .form-grp input {
    color: var(--tg-primary-color);
}
.footer-top-three .footer-newsletter .form-grp label {
    color: var(--tg-primary-color);
}
.footer-top-three .footer-newsletter .submit-btn {
    color: var(--tg-primary-color);
}
.footer-bottom-three {
    border-top: 1px solid #D8D8D8;
}
.footer-bottom-three .copyright-text p {
    color: var(--tg-paragraph-color);
}
.footer-bottom-three .copyright-text p a {
    color: var(--tg-primary-color);
}
.footer-bottom-three .footer-social .list-wrap li a {
    color: var(--tg-paragraph-color);
}
.footer-bottom-three .footer-social .list-wrap li a:hover {
    color: var(--tg-primary-color);
}

/*=============================
	26. Preloader
===============================*/
#preloader {
    background: var(--tg-white);
    height: 100%;
    width: 100%;
    position: fixed;
    margin-top: 0px;
    top: 0px;
    z-index: 999;
}
.ta-preloader-block {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    text-align: center;
}
.ta-spinner-eff {
    position: relative;
    width: 50px;
    height: 50px;
    -webkit-animation: taRotation 12.8s steps(1) 0s infinite;
    animation: taRotation 12.8s steps(1) 0s infinite;
}
.ta-spinner-eff .ta-bar {
    position: absolute;
    background-color: var(--tg-primary-color);
}
.ta-spinner-eff .ta-bar-top {
    width: 100%;
    height: 7px;
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: left top;
    transform: scale(0, 1);
    -webkit-animation: bar-top 3.2s linear 0s infinite;
    animation: bar-top 3.2s linear 0s infinite;
}
.ta-spinner-eff .ta-bar-right {
    width: 7px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    transform-origin: left top;
    transform: scale(1, 0);
    -webkit-animation: bar-right 3.2s linear 0s infinite;
    animation: bar-right 3.2s linear 0s infinite;
}
.ta-spinner-eff .ta-bar-bottom {
    width: 100%;
    height: 7px;
    position: absolute;
    right: 0;
    bottom: 0;
    transform-origin: right top;
    transform: scale(0, 1);
    -webkit-animation: bar-bottom 3.2s linear 0s infinite;
    animation: bar-bottom 3.2s linear 0s infinite;
}
.ta-spinner-eff .ta-bar-left {
    width: 7px;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    transform-origin: left bottom;
    transform: scale(1, 0);
    -webkit-animation: bar-left 3.2s linear 0s infinite;
    animation: bar-left 3.2s linear 0s infinite;
}
@keyframes taRotation {
    0% {
      transform: rotate(0deg);
    }
    25% {
      transform: rotate(90deg);
    }
    50% {
      transform: rotate(180deg);
    }
    75% {
      transform: rotate(270deg);
    }
    100% {
      transform: rotate(360deg);
    }
}
@keyframes bar-top {
    0% {
        transform: scale(0,1);
    }
    12.5% {
        transform: scale(1,1);
    }
    87.5% {
        transform: scale(1,1);
    }
    100% {
        transform: scale(0,1);
    }
}
@keyframes bar-right {
    0% {
        transform: scale(1,0);
    }
    12.5% {
        transform: scale(1,0);
    }
    25% {
        transform: scale(1,1);
    }
    75% {
        transform: scale(1,1);
    }
    87.5% {
        transform: scale(1,0);
    }
    100% {
        transform: scale(1,0);
    }
}
@keyframes bar-bottom {
    0% {
        transform: scale(0,1);
    }
    25% {
        transform: scale(0,1);
    }
    37.5% {
        transform: scale(1,1);
    }
    62.5% {
        transform: scale(1,1);
    }
    75% {
        transform: scale(0,1);
    }
    100% {
        transform: scale(0,1);
    }
}
@keyframes bar-left {
    0% {
        transform: scale(1,0);
    }
    37.5% {
        transform: scale(1,0);
    }
    50% {
        transform: scale(1,1);
    }
    62.5% {
        transform: scale(1,0);
    }
    100% {
        transform: scale(1,0);
    }
}

/* AethraVolt live hero update 20260625 */
.hero-statement-slide{min-height:100vh;background-position:center center}.hero-statement-slide::before{background:linear-gradient(90deg,rgba(4,24,34,.72) 0%,rgba(4,24,34,.42) 45%,rgba(4,24,34,.56) 100%);opacity:1}.hero-statement-slide .container{max-width:1440px}.hero-statement-slide .slider-content{text-align:center}.hero-statement-slide .slider-content .title{font-size:clamp(32px,2.8vw,44px);line-height:1.16;margin:0 auto;max-width:1320px;white-space:nowrap;letter-spacing:0}.hero-statement-slide .slider-avatar,.hero-statement-slide .btn{display:none}.solution-slide,.cases-slide{background-position:center center}.solution-slide::before,.cases-slide::before{background:linear-gradient(90deg,rgba(3,20,28,.78) 0%,rgba(3,20,28,.58) 48%,rgba(3,20,28,.30) 100%);opacity:1}.solution-slide .slider-content .title,.cases-slide .slider-content .title{font-size:clamp(32px,2.8vw,44px);max-width:1320px;margin-bottom:44px}.solution-slide .slider-content .title span,.cases-slide .slider-content .title span{display:block;transform:none;margin:22px 0 0;max-width:760px;font-size:20px;line-height:1.7;opacity:.9}

/* AethraVolt hero dynamic effects 20260922 */
.slider-area .single-slider.slider-bg { min-height: 100vh; overflow: hidden; }
.slide-bg-media { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -2; background-size: cover; background-position: center center; backface-visibility: hidden; will-change: transform; }
.slider-area .slick-current .slide-bg-media { animation: heroZoomIn 11s ease-out both; }
.slider-area .single-slider[data-slick-index="1"].slick-current .slide-bg-media { animation-name: heroZoomOut; }
@keyframes heroZoomIn { from { transform: scale(1.01); } to { transform: scale(1.12); } }
@keyframes heroZoomOut { from { transform: scale(1.12); } to { transform: scale(1.01); } }
@media (prefers-reduced-motion: reduce) { .slider-area .slick-current .slide-bg-media { animation: none; } }

/* AethraVolt hero remove haze overlay + blur transition 20260922 */
.slider-area .single-slider.slider-bg::before { display: none; }
.slider-area .slide-bg-media { transition: filter 1.2s ease-in-out; }
.slider-area .single-slider:not(.slick-current) .slide-bg-media { filter: blur(12px); transform: scale(1.06); transition: filter 1.2s ease-in-out, transform 1.6s ease-out; }
.slider-area .single-slider.hero-blur-out .slide-bg-media { filter: blur(12px); }
.slider-area .single-slider.hero-blur-in .slide-bg-media { filter: none; transform: scale(1.02); }
@media (prefers-reduced-motion: reduce) { .slider-area .single-slider.hero-blur-out .slide-bg-media { filter: none; } .slider-area .single-slider.hero-blur-in .slide-bg-media { transform: none; } }
@media (prefers-reduced-motion: reduce) { .slider-area .single-slider:not(.slick-current) .slide-bg-media { filter: none; transform: none; transition: opacity 0.6s; } }

/* AethraVolt hero text readability (shadow scheme) + scroll cue 20260923 */
.slider-area .single-slider.slider-bg .slider-content .title {
    text-shadow: 0 2px 22px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .35);
}
.slider-area .single-slider.slider-bg .slider-content .slider-avatar .name,
.slider-area .single-slider.slider-bg .slider-content .slider-avatar span,
.slider-area .single-slider.slider-bg .slider-content .slider-btn .btn {
    text-shadow: 0 1px 8px rgba(0, 0, 0, .45);
}
.hero-scroll-cue {
    position: absolute;
    left: 50%;
    bottom: 34px;
    transform: translateX(-50%);
    z-index: 6;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    opacity: .92;
    transition: opacity .4s ease;
}
.hero-scroll-cue .cue-label {
    font-size: 12px;
    letter-spacing: .22em;
    color: rgba(255, 255, 255, .85);
}
.hero-scroll-cue .cue-mouse {
    width: 26px;
    height: 42px;
    box-sizing: border-box;
    border: 2px solid rgba(255, 255, 255, .75);
    border-radius: 14px;
    display: flex;
    justify-content: center;
    padding-top: 7px;
}
.hero-scroll-cue .cue-wheel {
    width: 3px;
    height: 8px;
    border-radius: 2px;
    background: #fff;
    animation: cueWheel 1.8s ease-in-out infinite;
}
@keyframes cueWheel {
    0% { transform: translateY(0); opacity: 1; }
    70% { transform: translateY(12px); opacity: 0; }
    100% { transform: translateY(0); opacity: 0; }
}
.hero-scroll-cue.is-hidden { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .hero-scroll-cue .cue-wheel { animation: none; } }
@media (max-width: 767.98px) {
    .hero-scroll-cue { bottom: 84px; }
    .hero-scroll-cue .cue-label { display: none; }
}

/* AethraVolt project scene synced switching 20260923 */
@media (min-width: 992px) {
    .project-area .sub-bg { position: relative; min-height: 300vh; }
    .project-area .project-content-wrap { position: sticky; top: 0; height: 100vh; padding: 0; }
    .project-area .project-content {
        position: absolute;
        inset: 0;
        margin: 0;
        padding: 0 clamp(32px, 6vw, 130px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transform: translateY(26px);
        transition: opacity .55s ease, transform .55s ease, visibility .55s;
        pointer-events: none;
    }
    .project-area .project-content-wrap .project-content:first-child { opacity: 0; visibility: hidden; }
    .project-area .project-content-wrap .project-content.current { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
    .project-area .project-content.current .title,
    .project-area .project-content.current p { animation: sceneEnter .65s ease both; }
    .project-area .project-content.current p { animation-delay: .08s; }
    @keyframes sceneEnter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
    @media (prefers-reduced-motion: reduce) {
        .project-area .project-content { transform: none; transition: opacity .35s ease, visibility .35s; }
        .project-area .project-content.current .title,
        .project-area .project-content.current p { animation: none; }
    }
}


/* AethraVolt hero batch10 —— banner 顶部遮罩改为连续渐变过渡 (20260923)
   ── 现象（真实浏览器 getComputedStyle 实测，视口 1440×900）──
     .single-slider.slider-bg::before  computed：
       top:0px  bottom:0px  width:1425px  height:342px(=38%)
     遮罩只覆盖「顶部 0–342px」，到 y=342 直接硬切消失 →
     观感为「上半部蒙一整块灰纱 + 中间一条水平硬边」，即用户反馈的
     「上方遮罩过滤太明显，应该是一个渐变过渡」。
   ── 根因 ──
     模板原始规则 assets/css/_src/style.css:1446
       .slider-bg::before { position:absolute; left:0; top:0; width:100%; height:100%; ... }
     提供了 top:0；batch9 的规则未声明 top，于是在 top:0 与 height:38% 组合下，
     本该落在「底部」的渐隐暗角被钉到了「顶部」。
   ── 处理 ──
     1) 四边显式归零 + height:100%：切断对模板 top:0 的依赖，几何不再有歧义；
     2) 遮罩改为纯「顶部渐隐」：峰值 alpha .30 落在最顶端（承托 header 导航），
        经 5 档色标连续衰减、到 58% 高度处归零 —— 全程连续无硬边，是渐变而非色块；
     3) 不再叠加底部暗角：底部收口由本文件靠后的 .slider-area::after
        （240px 品牌深绿过渡带，z-index:2）单独承担；两层叠加会让底部过重。
     ≤767 断点把渐变带收紧到 44%，避免小屏 100vh 下顶部压暗占比过大。
   （本节以下【2｜底部过渡带】【3｜单行约束】【4｜内容区柔性衔接】为 batch9 既有内容，
     本批未改动。） */
.slider-area .single-slider.slider-bg::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        to bottom,
        rgba(6, 28, 30, .30) 0%,
        rgba(6, 28, 30, .21) 14%,
        rgba(6, 28, 30, .11) 30%,
        rgba(6, 28, 30, .035) 45%,
        rgba(6, 28, 30, 0) 58%
    );
    opacity: 1;
    pointer-events: none;
    z-index: -1;
}
@media (max-width: 767.98px) {
    .slider-area .single-slider.slider-bg::before {
        background: linear-gradient(
            to bottom,
            rgba(6, 28, 30, .30) 0%,
            rgba(6, 28, 30, .18) 12%,
            rgba(6, 28, 30, .07) 27%,
            rgba(6, 28, 30, 0) 44%
        );
    }
}

/* 【2｜底部过渡带】banner 为 100vh 深色图，下方 .about-area 为白底，二者为硬切。
   在底部补一条品牌深绿过渡带收口，同时让白色 .hero-scroll-cue / .slick-counter
   落在稳定深底上（原图底部为浅色光伏板，白字几乎不可见）。
   层级实测：.slider-area::after(z-index:2) 确实绘制于图片之上 —— 真正的层叠上下文由
   .slick-list（transform + overflow:hidden）建立，slide 自带的 z-index:999 被关在其内
   按 auto(=0) 参与排序，故 ::after(2) > slide(0)，且低于 .slick-counter(3) 与
   .hero-scroll-cue(6)，不会压住这两个控件。.slider-area::after 此前无任何规则占用。 */
.slider-area::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 240px;
    background: linear-gradient(
        to bottom,
        rgba(22, 58, 52, 0) 0%,
        rgba(22, 58, 52, .30) 38%,
        rgba(22, 58, 52, .74) 72%,
        rgba(22, 58, 52, .96) 100%
    );
    pointer-events: none;
    z-index: 2;
}
@media (max-width: 767.98px) {
    .slider-area::after { height: 170px; }
}

/* 【3｜单行约束】solution / cases 两张 slide 的标题在桌面端必须单行。
   实测：放大字号后 66.24px × 14 字 = 927px，而 .col-xl-8 只有 850px（Bootstrap 栅格，
   无 overflow 裁切），标题被折成「1 行满 + 第 2 行剩 2 字」。slide 0 靠 .hero-statement-slide
   自带的 white-space:nowrap 已突破列宽，此处给另两张补同款约束。
   span 是 display:block 的副标题，必须显式还原 normal，否则会继承 nowrap 而不换行。
   ⚠ 必须限定 min-width:992px：本条首版漏了断点，导致移动端 390 下标题被 nowrap 拉到 476px，
     超出 .col-12 的 345px 后被 .slick-list{overflow:hidden} 裁掉右侧；而 documentElement 无
     横向滚动，overflow-x 自检发现不了，只有逐行量 Range 行盒宽度才会暴露。
   安全性（桌面）：各断点标题实测 992→672 / 1440→927 / 1920→1008（px），
   均小于 .hero-statement-slide .container 的 max-width:1440px。 */
@media (min-width: 992px) {
    .solution-slide .slider-content .title,
    .cases-slide .slider-content .title {
        white-space: nowrap;
    }
    .solution-slide .slider-content .title span,
    .cases-slide .slider-content .title span {
        white-space: normal;
    }
}

/* 【4｜内容区柔性衔接】在内容区一侧补一层极淡的品牌色渐隐，
   把「深色图 → 白底」的单条硬边拆成 图 → 深绿 → 淡绿 → 白 的三级过渡。
   .about-area 自带 padding-top:120px，111px 高的覆盖层不会压到任何正文
   （实测首个标题 top=1082 > 覆盖下沿 1011）。 */
.slider-area + section {
    position: relative;
}
.slider-area + section::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 111px;
    background: linear-gradient(to bottom, rgba(22, 58, 52, .13) 0%, rgba(22, 58, 52, 0) 100%);
    pointer-events: none;
    z-index: 0;
}


/* ============================================================
   AethraVolt header typography enlargement (20260923)
   品牌名与主导航字号偏小，整体提大一档；主导航字重加强、
   间距放宽，桌面端更清晰。下拉子菜单同步到 16px。
   ============================================================ */
.text-logo .cn_w {
    font-size: 30px;
    letter-spacing: .05em;
}
.navbar-wrap.main-menu > ul > li > a {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 38px clamp(14px, 1.5vw, 22px);
}
.navbar-wrap ul li .sub-menu li a {
    font-size: 16px;
}
/* 移动端抽屉导航同步提大 */
.side-menu-inner .navigation li > a {
    font-size: 18px;
}
.side-menu-inner .navigation li .sub-menu li a {
    font-size: 16px;
}

/* responsive.css */
/* Extra large devices (large desktops, 1800px and up) */
@media (max-width: 1800px) {
.project-content-wrap {
    padding: 150px 160px 250px 120px;
}
.faq-content-two {
    padding: 120px 120px 120px 160px;
}
.counter-circle-inner {
    padding: 85px 40px;
}

}


/* Extra large devices (large desktops, 1800px and up) */
@media (max-width: 1500px) {
.custom-container {
    max-width: 1200px;
}
.slider-content .title {
    font-size: 80px;
}
.slider-bg {
    min-height: 660px;
}
.about-content .right-side-content {
    margin-left: 70px;
}
.about-content {
    margin-left: 50px;
}
.services-item-wrap .row {
    --bs-gutter-x: 30px;
}
.services-item {
    padding: 50px 25px;
    min-height: 427px;
}
.project-content-wrap {
    padding: 150px 80px 250px 80px;
}
.counter-progress-wrap {
    margin-left: 0;
}
.marquee-box a {
    font-size: 100px;
}
.testimonial-content {
    padding: 120px 80px;
}
.testimonial-item-wrap {
    padding: 120px 80px;
}
.testimonial-item {
    padding: 40px 40px;
}
.faq-content {
    padding: 120px 70px;
}
.banner-avatar {
    margin-bottom: 30px;
}
.banner-content .title {
    font-size: 55px;
    margin-bottom: 40px;
}
.services-content-two p {
    width: 100%;
}
.project-thumb-two {
    margin-right: 50px;
}
.team-item-wrap .row {
    --bs-gutter-x: 40px;
}
.faq-content-two {
    padding: 120px 80px 120px 120px;
}
.counter-circle-wrap {
    padding: 120px 60px;
}
.counter-circle-inner .count {
    font-size: 80px;
}
.testimonial-item.testimonial-item-two {
    padding: 40px;
}
.blog-post-item-three .blog-post-content {
    padding: 23px 20px;
}
.blog-post-item-four .blog-post-content {
    padding: 26px;
}
.banner-content {
    margin-left: 50px;
}
.project-active-two {
    margin-right: -360px;
}
.banner-content-two .main-title {
    font-size: 120px;
    margin-bottom: 70px;
}
.banner-content-inner .title {
    font-size: 58px;
}
.banner-content-inner .left-side-content {
    width: 50%;
}
.about-list-wrap .about-list-item {
    padding: 25px;
}
.banner-bg-two {
    padding: 150px 0 120px;
}
.pricing-box {
    padding: 60px 30px;
}
.breadcrumb-bg {
    min-height: 480px;
    padding: 160px 0 82px;
}
.breadcrumb-content .title {
    font-size: 46px;
}
.skill-content {
    margin-left: 0;
}
.blog-sidebar {
    margin-left: 0;
}
.blog-content .title {
    font-size: 36px;
}
.inner-project-wrap-four .row {
    --bs-gutter-x: 80px;
}
.project-sidebar {
    margin-left: 30px;
}
.testimonial-item-four {
    padding: 0 25px;
}
.services-sidebar {
    margin-left: 0;
}
.contact-info-item {
    padding: 40px 30px;
    min-height: 370px;
}
.contact-info-content p {
    font-size: 24px;
}
.contact-info-icon {
    font-size: 70px;
    margin-bottom: 70px;
}
.contact-map {
    height: 500px;
}

}


/* Extra large devices (large desktops, 1200px and up) */
@media (max-width: 1199.98px) {
.container,
.custom-container {
    max-width: 960px;
}
.header-action > ul li.header-btn {
	display: none;
}
.slider-content .title {
    font-size: 72px;
}
.section-title .title {
    margin-bottom: 0;
    font-size: 28px;
}
.about-content {
    margin-left: 0;
}
.about-content .right-side-content {
    margin-left: 15px;
}
.about-content .left-side-content {
    width: 57%;
}
.services-item {
    padding: 35px 25px;
    min-height: 422px;
}
.project-content-wrap {
    padding: 100px 40px 200px 40px;
}
.project-content .list-wrap {
    gap: 30px 25px;
}
.project-content .list-wrap li {
    font-size: 20px;
}
.project-content {
    margin-bottom: 150px;
}
.project-content .title {
    margin-bottom: 26px;
    font-size: 22px;
}
.counter-content {
    margin-right: 0;
}
.marquee-box a {
    font-size: 85px;
}
.testimonial-content {
    padding: 120px 30px;
}
.testimonial-item-wrap {
    padding: 120px 30px;
}
.testimonial-item {
    padding: 40px 30px;
}
.testimonial-item p {
    font-size: 28px;
}
.faq-content {
    padding: 120px 30px;
}
.blog-post-wrap .row {
    --bs-gutter-x: 30px;
}
.footer-content p {
    font-size: 25px;
}
.banner-content {
    margin-left: 130px;
}
.banner-content .title {
    font-size: 50px;
}
.about-img-two {
    margin-right: 0;
}
.about-content-two p {
    margin-bottom: 40px;
    width: 100%;
}
.about-content-two .section-title .title br {
    display: none;
}
.parallax-video {
    height: 500px;
}
.project-item-wrap .row {
    width: 110%;
}
.project-thumb-two {
    margin-right: 30px;
}
.project-content-two .list-wrap li {
    font-size: 25px;
}
.project-content-two .title {
    font-size: 28px;
    margin-bottom: 20px;
}
.project-content-two p {
    margin-bottom: 35px;
}
.team-item-wrap .row {
    --bs-gutter-x: 30px;
}
.faq-content-two {
    padding: 120px 40px 120px 40px;
}
.counter-circle-wrap {
    padding: 120px 40px;
}
.counter-circle-inner {
    padding: 80px 30px;
}
.counter-circle-inner p {
    width: 100%;
}
.counter-circle-inner .count {
    font-size: 70px;
}
.testimonial-overlay-text .title {
    font-size: 160px;
}
.testimonial-active-two [class*="col-"] {
    padding: 0 15px;
}
.testimonial-active-two {
    --bs-gutter-x: 30px;
}
.blog-post-item-four .blog-post-content {
    padding: 20px;
}
.blog-post-wrap-two .row .col-25 {
    width: 30%;
}
.blog-post-wrap-two .row .col-48 {
    width: 42.7%;
}
.project-active-two {
    margin-right: -390px;
}
.banner-content-two .main-title {
    font-size: 100px;
}
.banner-content-inner .title {
    font-size: 50px;
}
.banner-video-wrap {
    --clip-path: circle(160px at center);
}
.banner-video-wrap .video-info {
    width: 320px;
    height: 320px;
}
.banner-video-wrap #video_check {
    width: 320px;
    height: 320px;
}
.about-content-three {
    margin-right: 0;
}
.about-list-wrap .list-wrap li {
    padding: 0 10px;
}
.about-list-wrap .list-wrap {
    margin: 0 -10px;
}
.about-list-wrap .about-list-item {
    padding: 20px;
}
.about-list-item .date {
    font-size: 45px;
    margin-bottom: 25px;
}
.project-nav .list-wrap {
    gap: 10px 25px;
    margin-bottom: 80px;
}
.project-item-wrap-two .row {
    --bs-gutter-x: 30px;
}
.services-item-wrap-two {
    margin-left: 0;
}
.testimonial-item-three {
    padding: 70px 0px 0 100px;
}
.testimonial-quote {
    width: 140px;
    height: 140px;
    font-size: 40px;
}
.testimonial-item-three p {
    font-size: 35px;
}
.counter-item-wrap .row {
    --bs-gutter-x: 30px;
}
.counter-item .count {
    font-size: 50px;
}
.counter-item > p {
    margin-bottom: 25px;
}
.pricing-item-wrap .row {
    --bs-gutter-x: 30px;
}
.pricing-price .price {
    font-size: 50px;
}
.pricing-box {
    padding: 40px 22px;
}
.brand-item-wrap-two {
    padding: 55px 30px;
}
.skill-item-wrap {
    gap: 30px 30px;
}
.skill-img {
    margin-right: 0;
}
.blog-content .title {
    font-size: 32px;
    margin-bottom: 30px;
}
.blog-thumb {
    margin-bottom: 30px;
}
.bd-inner-content {
    margin-left: 0;
}
.bd-inner-content .title {
    font-size: 25px;
    margin-bottom: 15px;
}
.inner-project-wrap-two .row {
    --bs-gutter-x: 30px;
}
.project-content-six .title {
    font-size: 22px;
}
.inner-project-wrap-four .row {
    --bs-gutter-x: 50px;
}
.project-sidebar {
    margin-left: 0;
}
.project-widget {
    padding: 30px 25px 30px;
}
.testimonial-item-four {
    padding: 0;
}
.testimonial-item-four p {
    font-size: 30px;
}
.related-project-wrap .row {
    --bs-gutter-x: 30px;
}
.related-project-wrap .row [class*="col-"] {
    padding: 0 15px;
}
.project-details-content > .title {
    font-size: 35px;
    margin-bottom: 25px;
}
.services-details-wrap {
    margin-right: 0;
}
.services-details-thumb {
    margin-bottom: 50px;
}
.services-docs-list .list-wrap li a,
.services-cat-list .list-wrap li a {
    padding: 16px 15px;
}
.contact-info-wrap .row {
    --bs-gutter-x: 30px;
}
.contact-info-content p {
    font-size: 20px;
}
.inner-project-wrap-three .row {
    --bs-gutter-x: 30px;
}
.inner-project-wrap-three .project-item-five {
    margin-bottom: 30px;
}

}



/* Large devices (desktops, 992px and up) */
@media (max-width: 991.98px) {
.container,
.custom-container {
    max-width: 720px;
}
.menu-area {
	padding: 25px 0;
}
.menu-nav {
	justify-content: space-between;
}
.header-action {
	margin-right: 40px;
}
.menu-outer .navbar-wrap {
	display: block !important;
}
.menu-area .mobile-nav-toggler {
	display: block;
}
.header-action .offcanvas-menu {
    display: none;
}
.menu-area .mobile-nav-toggler svg path {
    color: var(--tg-white);
}
.menu-area.sticky-menu .mobile-nav-toggler svg path {
    color: var(--tg-primary-color);
}
.slick-counter {
    right: 70px;
    bottom: 60px;
}
.section-title .title br {
    display: none;
}
.about-img {
    margin-bottom: 50px;
}
.about-content .left-side-content p {
    margin-bottom: 30px;
}
.services-item {
    min-height: 396px;
}
.sticky-wrap {
    display: none;
}
.project-content-wrap {
    padding: 0 60px 120px;
}
.project-content {
    margin-bottom: 80px;
    opacity: 1;
}
.project-content .hidden-img {
    display: block;
    margin-bottom: 30px;
}
.project-content .hidden-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}
.counter-content {
    margin-bottom: 70px;
}
.section-title.mb-200 {
    margin-bottom: 50px;
}
.video-img {
    height: 500px;
}
.testimonial-nav {
    display: none;
}
.testimonial-content .section-title {
    margin-bottom: 0;
}
.testimonial-item {
    padding: 40px;
    min-height: 400px;
}
.testimonial-item-wrap {
    padding: 120px 60px;
}
.testimonial-content {
    padding: 120px 60px;
}
.marquee-box a {
    font-size: 70px;
}
.faq-content {
    padding: 120px 60px;
}
.fw-title {
    margin-bottom: 25px;
}
.sidebar-menu {
    display: none;
}
.menu-style-two .logo.d-none {
    display: block !important;
}
.menu-area.menu-style-two .mobile-nav-toggler svg path {
    color: var(--tg-primary-color);
}
.banner-content {
    margin-left: 0;
    text-align: center;
}
.banner-avatar {
    justify-content: center;
}
.banner-avatar .content span {
    text-align: left;
}
.banner-bg {
    width: 100%;
}
.about-img-two {
    margin-bottom: 50px;
}
.project-item-wrap .row {
    width: 100%;
}
.project-item-two {
    display: block;
}
.project-active-two {
    margin-right: -200px;
}
.project-thumb-two {
    width: 100%;
    margin-bottom: 50px;
}
.brand-item-wrap .list-wrap li {
    width: 25%;
    flex: 0 0 auto;
}
.team-item-wrap .row [class*="col-"]:nth-child(even) .team-item {
    margin-top: 0;
}
.faq-inner-wrap .row .col-54 {
    width: 100%;
}
.faq-inner-wrap .row .col-46 {
    width: 100%;
}
.faq-content-two {
    padding: 120px 60px 120px 60px;
}
.counter-circle-wrap {
    padding: 120px 60px;
}
.testimonial-item.testimonial-item-two {
    padding: 25px;
}
.testimonial-item.testimonial-item-two p {
    font-size: 26px;
}
.testimonial-overlay-text .title {
    font-size: 130px;
}
.blog-post-wrap-two .row .col-48 {
    width: 100%;
}
.blog-post-wrap-two .row .col-27 {
    width: 50%;
}
.blog-post-wrap-two .row .col-25 {
    width: 50%;
}
.footer-content-two p {
    margin-bottom: 70px;
}
.banner-content-two .main-title {
    font-size: 80px;
    margin-bottom: 50px;
}
.banner-content-inner .title {
    font-size: 42px;
}
.banner-video-wrap {
    display: none;
}
.about-list-wrap .list-wrap li:nth-child(even) .about-list-item {
    transform: translateY(0);
}
.about-list-wrap .about-list-item {
    padding: 30px;
}
.about-list-wrap .list-wrap {
    margin: 0 -15px;
}
.about-list-wrap .list-wrap li {
    padding: 0 15px;
}
.about-list-wrap {
    margin-bottom: 20px;
}
.marquee-wrap-two .marquee-box a {
    font-size: 36px;
    margin-right: 30px;
}
.marquee-wrap-two .marquee-box a::after {
    font-size: 88px;
    margin-left: 30px;
}
.project-area-three .section-title {
    text-align: center;
    margin-bottom: 50px;
}
.project-nav .list-wrap {
    margin-bottom: 50px;
    justify-content: center;
}
.services-item-wrap-two {
    margin-top: 50px;
}
.testimonial-item-three p {
    font-size: 30px;
}
.menu-area.menu-style-three .mobile-nav-toggler svg path {
    color: var(--tg-primary-color);
}
.banner-content-inner .left-side-content {
    width: 100%;
}
.banner-content-two {
    text-align: center;
}
.breadcrumb-bg {
    min-height: 420px;
    padding: 136px 0 70px;
}
.breadcrumb-content .title {
    font-size: 40px;
}
.brand-item-wrap-two {
    padding: 35px 30px;
}
.skill-img {
    margin-bottom: 50px;
}
.blog-sidebar {
    margin-top: 120px;
}
.blog-add-banner {
    text-align: center;
}
.inner-project-wrap .row {
    --bs-gutter-x: 30px;
}
.project-content-four {
    left: 25px;
    bottom: 25px;
}
.project-content-six .title {
    font-size: 24px;
}
.inner-project-wrap-four .row {
    --bs-gutter-x: 40px;
}
.inner-project-wrap-four .project-item-five {
    margin-bottom: 40px;
}
.project-details-img {
    margin-bottom: 40px;
}
.project-details-content .title-two {
    margin-bottom: 25px;
    margin-top: 35px;
}
.project-details-list .list-wrap {
    margin-bottom: 50px;
}
.testimonial-wrap {
    padding: 40px 0;
    margin-top: 40px;
}
.testimonial-item-four {
    padding: 0 30px;
}
.project-widget {
    padding: 40px;
}
.project-sidebar {
    margin-top: 120px;
}
.services-add-banner {
    text-align: center;
}
.services-sidebar {
    margin-top: 120px;
}
.more-facilities-img-wrap {
    margin-top: 50px;
    margin-bottom: 50px;
}
.services-details-content .title {
    font-size: 35px;
    margin-bottom: 25px;
}
.inner-faq-img {
    text-align: center;
    margin-bottom: 50px;
}
.contact-img {
    text-align: center !important;
    margin-bottom: 50px;
}


}



/* Medium devices (tablets, 768px and up) */
@media (max-width: 767.98px) {
.container,
.custom-container {
    max-width: 100%;
}
.transparent-header {
	top: 0;
}
.slider-content .title span {
    display: none;
}
.slider-content .title {
    font-size: 60px;
    text-align: center;
    margin-bottom: 50px;
}
.slider-avatar {
    justify-content: center;
}
.slick-counter {
    right: 35px;
    bottom: 40px;
}
.section-title .title {
    margin-bottom: 0;
    font-size: 24px;
}
.about-content {
    flex-direction: column-reverse;
}
.about-content .right-side-content {
    margin-left: 0;
    margin-bottom: 30px;
}
.about-content .left-side-content {
    width: 100%;
}
.section-title.mb-80 {
    margin-bottom: 50px;
}
.project-content-wrap {
    padding: 0 15px 100px;
}
.project-area {
    padding: 100px 0 0;
}
.project-content .title {
    margin-bottom: 20px;
    font-size: 20px;
}
.project-content p {
    margin-bottom: 35px;
}
.project-content .list-wrap li {
    font-size: 18px;
}
.project-content .list-wrap {
    gap: 20px 25px;
}
.project-content {
    margin-bottom: 60px;
}
.counter-wrap .list-wrap {
    gap: 20px;
}
.counter-wrap .list-wrap li .count {
    font-size: 30px;
}
.progress-wrap {
    gap: 20px;
}
.marquee-box a {
    font-size: 60px;
    margin-right: 60px;
}
.marquee-box a::after {
    font-size: 60px;
    margin-left: 30px;
}
.marquee-area {
    padding: 100px 0;
}
.testimonial-content {
    padding: 100px 15px;
}
.testimonial-item-wrap {
    padding: 100px 15px;
}
.testimonial-item {
    padding: 35px 25px;
    min-height: 400px;
}
.testimonial-item p {
    font-size: 24px;
}
.testimonial-item .rating {
    margin-bottom: 20px;
}
.faq-content {
    padding: 100px 15px;
    min-height: auto;
}
.accordion-wrap .accordion-button {
    padding: 20px 50px 20px 20px;
    font-size: 22px;
}
.accordion-wrap .accordion-body {
    padding: 0 35px 30px 20px;
}
.accordion-wrap .accordion-button::after {
    right: 18px;
    font-size: 22px;
    top: 35px;
}
.video-img {
    height: 400px;
}
.blog-post-thumb img {
    min-height: 220px;
    object-fit: cover;
}
.blog-post-thumb {
    margin-bottom: 25px;
}
.blog-post-area {
    padding: 100px 0 70px;
}
.counter-area {
    padding: 100px 0;
}
.services-area {
    padding: 100px 0 70px;
}
.brand-area {
    padding-bottom: 100px;
}
.about-area {
    padding: 100px 0;
}
.footer-widget .fw-logo {
    margin-bottom: 45px;
}
.footer-top {
    padding: 90px 0 50px;
}
.footer-content p {
    margin-bottom: 35px;
}
.copyright-text p {
    text-align: center;
    margin-bottom: 10px;
}
.footer-social .list-wrap {
    justify-content: center;
}
.scroll-top {
    right: 15px;
}
.banner-content .title {
    font-size: 42px;
}
.services-area-two {
    padding: 100px 0;
}
.about-area-two.about-bg {
    padding: 100px 0;
}
.parallax-video {
    height: 420px;
}
.project-area-two {
    padding: 100px 0;
}
.project-active-two {
    margin-right: 0;
}
.project-content-two .list-wrap {
    gap: 30px 25px;
}
.project-content-two .title {
    font-size: 26px;
}
.swiper-scrollbar {
    margin-top: 50px;
}
.brand-item-wrap .list-wrap li {
    width: 50%;
    padding: 0 10px;
}
.brand-item-wrap .list-wrap {
    gap: 40px 0;
}
.brand-area-two {
    padding: 100px 0;
}
.team-bg {
    padding: 100px 0;
}
.faq-content-two {
    padding: 100px 15px;
}
.counter-circle-wrap {
    padding: 100px 15px;
}
.counter-circle-inner {
    padding: 80px 25px;
}
.counter-circle-inner p br {
    display: none;
}
.testimonial-area-two {
    padding: 100px 0;
}
.testimonial-overlay-text .title {
    font-size: 60px;
}
.blog-post-area-two {
    padding: 100px 0 70px;
}
.blog-post-wrap-two .row .col-25 {
    width: 100%;
}
.blog-post-wrap-two .row .col-27 {
    width: 100%;
}
.blog-post-item-three .blog-post-content {
    padding: 30px;
}
.blog-post-item-four .blog-post-content {
    padding: 30px;
}
.footer-content-two p {
    margin-bottom: 30px;
}
.footer-top-two {
    padding: 90px 0 50px;
}
.banner-content-two .main-title {
    font-size: 50px;
    line-height: 1.1;
}
.banner-content-inner .left-side-content {
    width: 100%;
}
.banner-content-inner .title {
    font-size: 40px;
}
.brand-area-three {
    padding: 100px 0 0;
}
.banner-bg-two {
    padding: 150px 0 100px;
}
.about-list-wrap .list-wrap li {
    width: 100%;
}
.about-area-three {
    padding: 100px 0;
}
.marquee-wrap-two .marquee-box a {
    font-size: 30px;
}
.project-area-three {
    padding: 100px 0;
}
.services-area-three {
    padding: 100px 0;
}
.services-item-three a {
    padding: 25px 20px;
    font-size: 22px;
}
.marquee-area-three {
    padding: 100px 0 0;
}
.testimonial-item-three {
    padding: 40px 0px 0 20px;
}
.testimonial-quote {
    width: 70px;
    height: 70px;
    font-size: 30px;
}
.testimonial-bottom {
    gap: 20px;
    padding-top: 30px;
    margin-top: 40px;
    flex-wrap: wrap;
}
.testimonial-item-three p {
    font-size: 28px;
}
.testimonial-area-three {
    padding: 100px 0;
}
.counter-item .count {
    font-size: 45px;
}
.counter-area-two {
    padding: 100px 0 60px;
}
.pricing-area {
    padding: 100px 0 70px;
}
.breadcrumb-content .title {
    font-size: 32px;
}
.breadcrumb-bg {
    min-height: 350px;
    padding: 112px 0 54px;
}
.about-img-four img {
    min-height: 250px;
    object-fit: cover;
}
.about-area-four {
    padding: 100px 0;
}
.about-area-five {
    padding: 0 0 100px;
}
.brand-item-wrap-two {
    padding: 20px;
}
.services-area-four {
    padding: 200px 0 70px;
}
.services-area-five {
    padding: 100px 0 70px;
}
.skill-area {
    padding: 100px 0;
}
.pagination-wrap .pagination.list-wrap {
    flex-wrap: wrap;
    justify-content: center;
}
.blog-thumb img {
    min-height: 250px;
    object-fit: cover;
}
.blog-content .title {
    font-size: 32px;
}
.blog-sidebar {
    margin-top: 100px;
}
.blog-area {
    padding: 100px 0;
}
.latest-comments .children .comments-box {
    margin-left: 0;
}
.blog-details-content > .title {
    margin-top: 35px;
}
.bd-inner-thumb {
    margin-bottom: 30px;
}
.bd-inner-thumb img {
    width: 100%;
}
.latest-comments .comments-box {
    margin-bottom: 40px;
    display: block;
}
.comments-avatar {
    margin-right: 0;
    margin-bottom: 20px;
}
.comment-reply-top {
    flex-wrap: wrap;
}
.inner-project-area {
    padding: 100px 0;
}
.inner-project-wrap-four .row {
    --bs-gutter-x: 30px;
}
.project-details-img img {
    min-height: 250px;
    width: 100%;
    object-fit: cover;
}
.project-details-content > .title {
    font-size: 30px;
}
.project-details-inner-img img {
    min-height: 200px;
    object-fit: cover;
    width: 100%;
}
.testimonial-item-four {
    padding: 0;
}
.testimonial-item-four p {
    font-size: 26px;
}
.project-widget {
    padding: 30px 25px;
}
.project-sidebar {
    margin-top: 100px;
}
.project-details-area {
    padding: 100px 0;
}
.related-project-area {
    padding: 100px 0 55px;
}
.services-details-thumb img {
    min-height: 250px;
    object-fit: cover;
}
.services-details-thumb {
    margin-bottom: 40px;
}
.services-details-content .title {
    font-size: 32px;
    margin-bottom: 25px;
}
.services-progress-wrap .list-wrap li {
    width: 100%;
    padding: 0 15px;
}
.services-progress-wrap .list-wrap {
    margin: 0 -15px;
}
.services-details-content .title-two {
    margin-bottom: 20px;
}
.services-progress-wrap {
    margin-top: 40px;
    margin-bottom: 60px;
}
.more-facilities-img-wrap {
    margin-bottom: 30px;
}
.services-sidebar {
    margin-top: 100px;
}
.services-docs-list .list-wrap li a,
.services-cat-list .list-wrap li a {
    padding: 16px 25px;
}
.services-details-area {
    padding: 100px 0;
}
.pricing-area-two {
    padding: 100px 0 70px;
}
.team-area-two {
    padding: 100px 0;
}
.inner-faq-area {
    padding: 100px 0;
}
.contact-map {
    height: 450px;
}
.contact-info-icon {
    font-size: 60px;
    margin-bottom: 55px;
}
.contact-info-item {
    padding: 40px 30px;
    min-height: 325px;
}
.contact-info-wrap {
    margin-top: -95px;
    margin-bottom: 70px;
}
.contact-area {
    padding: 0 0 100px;
}
.inner-project-wrap-three .row .col-62 {
    width: 100%;
    flex: 0 0 auto;
}
.inner-project-wrap-three .row .col-38 {
    width: 100%;
    flex: 0 0 auto;
}

}


/* Small devices (landscape phones, 576px and up) */
@media only screen and (min-width: 576px) and (max-width: 767px) {
.container,
.custom-container {
    max-width: 540px;
}
.slider-content .title {
    font-size: 70px;
    text-align: center;
    margin-bottom: 50px;
}
.services-item {
    padding: 40px;
}
.project-content-wrap {
    padding: 0 45px 100px;
}
.counter-wrap .list-wrap li .count {
    font-size: 28px;
}
.testimonial-item-wrap {
    padding: 100px 30px;
}
.testimonial-item {
    padding: 40px;
}
.faq-content {
    padding: 100px 30px;
}
.testimonial-item.testimonial-item-two {
    min-height: 380px;
}
.testimonial-overlay-text .title {
    font-size: 100px;
}
.banner-content-two .main-title {
    font-size: 60px;
}
.banner-content-inner .title {
    font-size: 45px;
}
.pricing-box {
    padding: 60px 30px;
}
.project-content-four {
    left: 40px;
    bottom: 40px;
}
.project-widget {
    padding: 40px;
}

}



/* AethraVolt live hero mobile update 20260625 */
@media (max-width:991.98px){.hero-statement-slide .slider-content .title{white-space:normal;font-size:clamp(26px,6vw,40px);line-height:1.18}.solution-slide .slider-content .title,.cases-slide .slider-content .title{font-size:clamp(26px,6vw,40px)}}@media (max-width:767.98px){.hero-statement-slide{background-position:58% center}.hero-statement-slide .slider-content,.hero-statement-slide .slider-content .title{text-align:center}.hero-statement-slide .slider-content .title{max-width:360px;margin:0 auto}.solution-slide .slider-content .title span,.cases-slide .slider-content .title span{display:block;margin-top:14px;font-size:16px;line-height:1.6}}
