/**
 * services.css
 * Generated from the former monolithic theme stylesheet.
 */

/* Services / engagement methods page ----------------------------------- */
.page-template-page-services .site-content,
.page-template-page-services .ast-container {
	width: 100%;
	max-width: none;
	padding: 0;
}

.sy-services-page {
	width: 100%;
	color: #231815;
	font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
}

.sy-services-page__hero {
	position: relative;
	height: 732px;
	overflow: hidden;
	background: #fff;
}

.sy-services-page__breadcrumb {
	position: absolute;
	top: 20px;
	left: max(24px, calc((100% - 1278px) / 2));
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.2;
	writing-mode: vertical-rl;
}

.sy-services-page__breadcrumb a,
.sy-services-page__breadcrumb span,
.sy-services-page__breadcrumb strong {
	color: #3e3937;
	font-weight: 400;
	text-decoration: none;
}

.sy-services-page__breadcrumb img {
	display: block;
	width: 17px;
	height: 11px;
}

.sy-services-page__photo {
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: 1;
	width: 1092px;
	height: 675px;
	background: var(--sy-services-photo, none) center / cover no-repeat;
	clip-path: path("M 1092 0 H 84.7557 C -63.3214 131.436 -81.4317 675 570.534 675 H 571.599 H 1092 V 0 Z");
}

.sy-services-page__banner {
	display: block;
	width: auto;
	height: 840px;
	pointer-events: none;
	margin: -92px 0 0 auto;
}

.sy-services-page__decoration {
	position: absolute;
	top: 240px;
	left: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
}

.sy-services-page__tabs {
	display: flex;
	justify-content: center;
	gap: 54px;
	height: 128px;
	padding-top: 45px;
	background: #fff;
}

.sy-services-page__tabs a {
	position: relative;
	display: flex;
	width: 224px;
	height: 56px;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: #fff;
	box-shadow: 7px 8px 9px rgba(0, 0, 0, 0.18);
	color: #73cce9;
	font-size: 18px;
	letter-spacing: 0.03em;
	text-decoration: none;
}

.sy-services-page__tabs a::after {
	position: absolute;
	bottom: -5px;
	left: 50%;
	width: 100%;
	height: 8px;
	background: #85cfe5;
	content: "";
	-webkit-mask: url("../../../assets/images/services-tab-underline.svg") center / 100% 100% no-repeat;
	mask: url("../../../assets/images/services-tab-underline.svg") center / 100% 100% no-repeat;
	transform: translateX(-50%);
	transition: background-color 0.25s ease;
}

.sy-services-page__tabs a.is-active,
.sy-services-page__tabs a:hover,
.sy-services-page__tabs a:focus-visible {
	background: #99d9ec;
	box-shadow: none;
	color: #fff;
}

.sy-services-page__tabs a.is-active::after,
.sy-services-page__tabs a:hover::after,
.sy-services-page__tabs a:focus-visible::after {
	background: #00b9ef;
}

.sy-services-page__content-background {
	background: #fff var(--sy-services-content-background, none) right 70px / 470px 1010px no-repeat;
}

.sy-services-page__inner {
	width: min(1134px, calc(100% - 80px));
	margin: 0 auto;
}

.sy-services-page__design-only {
	padding-top: 52px;
	scroll-margin-top: 90px;
}

.sy-services-page__eyebrow {
	margin: 0 0 42px;
	font-style: normal;
	font-weight: 200;
	font-size: 20px;
	line-height: 32px;
	letter-spacing: 0.4em;
	color: #231815;
}

.sy-services-page__title {
	margin: 0;
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	line-height: 32px;
	letter-spacing: 0.2em;
	color: #231815;
}

.sy-services-page__subheading {
	display: flex;
	margin: 80px 0 0;
	align-items: center;
	gap: 34px;
	font-style: normal;
	font-weight: 400;
	font-size: 24px;
	line-height: 32px;
	letter-spacing: 0.2em;
	color: #231815;
}

.sy-services-page__subheading img {
	width: 52px;
	height: 52px;
}

.sy-services-flow {
	position: relative;
	width: 1054px;
	height: 600px;
	margin: 68px auto 0;
}

.sy-services-flow__connectors {
	position: absolute;
	top: 174px;
	left: 391px;
	z-index: 0;
	width: 544px;
	height: 281px;
	background: var(--sy-services-flow-connectors, none) center / contain no-repeat;
}

.sy-services-flow__connectors::before {
	display: none;
}

.sy-services-flow__card {
	position: absolute;
	z-index: 2;
	display: grid;
	width: 238px;
	height: 209px;
	grid-template-columns: 70px 1fr;
	grid-template-rows: 119px 1px 61px;
	align-items: center;
	padding: 14px;
	border-radius: 18px;
	background: #a5e1f2;
}

.sy-services-flow__number {
	display: flex;
	height: 42px;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: #fff;
	color: #68cbe9;
	font-size: 18px;
	letter-spacing: 0.12em;
}

.sy-services-flow__card>img {
	width: 78px;
	height: 78px;
	justify-self: end;
}

.sy-services-flow__card h3 {
	grid-column: 1 / -1;
	grid-row: 3;
	margin: 0;
	align-self: center;
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.35;
	text-align: center;
}

.sy-services-flow__card::after {
	grid-column: 1 / -1;
	grid-row: 2;
	width: 100%;
	height: 1px;
	background: #4d5558;
	content: "";
}

.sy-services-flow__card--1 {
	top: 209px;
	left: 0;
}

.sy-services-flow__card--2 {
	top: 209px;
	left: 272px;
}

.sy-services-flow__card--4 {
	top: 209px;
	right: 0;
}

.sy-services-flow__card--1::before {
	position: absolute;
	top: 50%;
	left: 100%;
	z-index: -1;
	width: 34px;
	height: 1px;
	background: #00b9ef;
	content: "";
}

.sy-services-flow__middle {
	position: absolute;
	top: 63px;
	left: 544px;
	z-index: 2;
	width: 238px;
}

.sy-services-flow__middle .sy-services-flow__card {
	position: relative;
	top: auto;
	left: auto;
}

.sy-services-flow__arrows {
	display: flex;
	height: 68px;
	align-items: center;
	justify-content: center;
	gap: 44px;
}

.sy-services-flow__arrows img {
	width: 8px;
	height: 58px;
}

.sy-services-page__subheading--pricing {
	margin-top: 4px;
}

.sy-services-pricing {
	display: grid;
	margin-top: 92px;
	grid-template-columns: repeat(2, 1fr);
	gap: 110px;
	padding: 0 95px;
}

.sy-services-pricing__item img {
	display: block;
	width: 70px;
	height: 70px;
	margin-bottom: 24px;
}

.sy-services-pricing__item p {
	margin: 0;
	font-size: 18px;
	letter-spacing: 0.1em;
}

.sy-services-page__design-build {
	margin-top: 180px;
	margin-bottom: 113px;
	scroll-margin-top: 90px;
}

.sy-services-page__description {
	margin: 45px 0 0;
	font-style: normal;
	font-weight: 100;
	font-size: 20px;
	line-height: 32px;
	letter-spacing: 0.2em;
	color: #231815;

}

@media (max-width: 767px) {
	.sy-services-page__hero {
		height: 430px;
	}

	.sy-services-page__breadcrumb {
		top: 18px;
		left: 20px;
		font-size: 11px;
		/* writing-mode: horizontal-tb; */
	}

	.sy-services-page__breadcrumb img {
		width: 15px;
		height: auto;
	}

	.sy-services-page__photo {
		top: 0px;
		right: auto;
		left: 54px;
		width: calc(100% + 120px);
		height: 330px;
		clip-path: ellipse(70% 72% at 71% 43%);
	}

	.sy-services-page__banner {
		position: absolute;
		top: -40px;
		right: auto;
		left: 34px;
		width: auto;
		height: 400px;
		margin: 0;
	}

	.sy-services-page__decoration {
		top: 272px;
		left: 0;
		width: 100%;
		height: auto;
	}

	.sy-services-page__tabs {
		height: auto;
		gap: 12px;
		padding: 30px 20px 36px;
	}

	.sy-services-page__tabs a {
		width: 50%;
		height: 50px;
		font-size: 14px;
		text-align: center;
	}

	.sy-services-page__content-background {
		background-position: right 100px;
		background-size: 235px 505px;
	}

	.sy-services-page__inner {
		width: 100%;
		padding: 0 20px;
	}

	.sy-services-page__design-only,
	.sy-services-page__design-build {
		min-height: 0;
		margin-top: 52px;
		padding-top: 0;
		margin-top: 0;
	}

	.sy-services-page__eyebrow {
		margin-bottom: 24px;
		font-size: 13px;
		letter-spacing: 0.26em;
	}

	.sy-services-page__title {
		font-size: 27px;
	}

	.sy-services-page__subheading {
		margin-top: 54px;
		gap: 18px;
		font-size: 20px;
	}

	.sy-services-page__subheading img {
		width: 44px;
		height: 44px;
	}

	.sy-services-flow {
		display: flex;
		width: 100%;
		height: auto;
		margin-top: 42px;
		flex-direction: column;
		align-items: center;
		gap: 24px;
	}

	.sy-services-flow__connectors {
		top: 90px;
		left: 50%;
		width: 1px;
		height: calc(100% - 180px);
		background: #00adee;
	}

	.sy-services-flow__connectors::before {
		display: none;
	}

	.sy-services-flow__card,
	.sy-services-flow__card--1,
	.sy-services-flow__card--2,
	.sy-services-flow__card--4 {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		width: 210px;
	}

	.sy-services-flow__card--1::before {
		display: none;
	}

	.sy-services-flow__middle {
		position: relative;
		top: auto;
		left: auto;
		display: flex;
		width: auto;
		flex-direction: column;
		align-items: center;
		gap: 24px;
	}

	.sy-services-flow__arrows {
		height: 54px;
	}

	.sy-services-flow__arrows img {
		height: 48px;
	}

	.sy-services-page__subheading--pricing {
		margin-top: 70px;
	}

	.sy-services-pricing {
		margin-top: 48px;
		grid-template-columns: 1fr;
		gap: 42px;
		padding: 0 18px 76px;
	}

	.sy-services-page__design-build {
		margin-bottom: 80px;
	}

	.sy-services-page__description {
		margin-top: 36px;
		font-size: 15px;
		line-height: 1.9;
	}

	.sy-services-page__description br {
		display: none;
	}

	.sy-services-pricing__item {
		display: flex;
		gap: 8px;
		align-items: center;
	}

	.sy-services-pricing__item p {
		font-size: 16px;
	}

	.sy-services-pricing__item img {
		height: 50px;
		width: 50px;
		margin-bottom: 0;
	}
}