.zhuji-fullwidth-page #content,
.zhuji-fullwidth-page #content>.ast-container {
	max-width: none;
	padding: 0;
}

.zhuji-contact-template .zhuji-contact-page {
	width: 100%;
	margin: 0;
	color: var(--zhuji-ink);
	overflow: hidden;
}

.zhuji-contact-shell {
	position: relative;
	z-index: 2;
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
}


.zhuji-page-header {
	position: relative;
	min-height: 480px;
	display: flex;
	align-items: flex-end;
	padding: 110px 0 82px;
	background:
		linear-gradient(90deg, rgba(7, 36, 71, .98) 0%, rgba(13, 54, 104, .88) 42%, rgba(13, 54, 104, .28) 78%),
		linear-gradient(155deg, #09294f 0%, #315f91 48%, #a7bdd7 100%);
	color: #fff;
}



.zhuji-page-header h1 {
	max-width: 700px;
	margin: 0 0 20px;
	color: #fff;
	font-family: "Noto Sans TC", sans-serif;
	font-size: clamp(58px, 7.3vw, 104px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: .04em;
}

.zhuji-page-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	margin-top: 26px;
	font-size: 13px;
	letter-spacing: .08em;
	opacity: .8;
}

.zhuji-page-breadcrumb a,
.zhuji-page-breadcrumb span {
	color: #fff;
}

.zhuji-page-breadcrumb a {
	text-decoration: none;
}

.zhuji-page-breadcrumb a:hover,
.zhuji-page-breadcrumb a:focus {
	text-decoration: underline;
}

.zhuji-contact-main {
	padding: 118px 0 0;
	background: #fff;
}

.zhuji-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr);
	gap: clamp(70px, 9vw, 140px);
	align-items: start;
	margin-bottom: 130px;
}

.zhuji-contact-map {
	width: 100%;
	background: #e8edf3;
}

.zhuji-contact-map iframe {
	display: block;
	width: 100%;
	height: 500px;
	border: 0;
}

.zhuji-contact-intro {
	padding-top: 24px;
}


.zhuji-contact-form-heading p {
	color: #557aa5;
}

.zhuji-contact-intro h2 {
	margin: 0;
	font-family: "Noto Sans TC", sans-serif;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: .06em;
}

.zhuji-contact-intro h2 {
	font-size: clamp(38px, 4vw, 58px);
}

.zhuji-contact-lead {
	margin: 30px 0 44px;
	color: var(--zhuji-muted);
	font-size: 16px;
	line-height: 2;
}

.zhuji-contact-points {
	margin: 0;
	padding: 0;
	list-style: none;
}

.zhuji-contact-points li {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 18px 0;
	border-top: 1px solid #dde2df;
}

.zhuji-contact-points li:last-child {
	border-bottom: 1px solid #dde2df;
}

.zhuji-contact-points strong,
.zhuji-contact-points small {
	display: block;
}

.zhuji-contact-points strong {
	margin-bottom: 3px;
	font-size: 16px;
	font-weight: 600;
}

.zhuji-contact-points small {
	color: var(--zhuji-muted);
	font-size: 13px;
}

.zhuji-contact-icon {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	display: grid;
	place-items: center;
	border: 1px solid var(--zhuji-sage);
	border-radius: 50%;
	color: #0d3668;
}

.zhuji-contact-icon svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.zhuji-contact-form-wrap {
	padding: clamp(34px, 5vw, 64px);
	background: var(--zhuji-cream);
}

.zhuji-contact-form-heading {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	margin-bottom: 38px;
}

.zhuji-contact-form-heading>span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid #aeb8b1;
	border-radius: 50%;
	font-size: 12px;
}

.zhuji-contact-form-heading p {
	margin: 0 0 5px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
}

.zhuji-contact-form-heading h2 {
	margin: 0;
	font-size: 28px;
	font-weight: 600;
}

.zhuji-contact-form label {
	display: block;
	margin-bottom: 22px;
	color: #445251;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .04em;
}

.zhuji-contact-form em {
	color: #a16e5d;
	font-style: normal;
}

.zhuji-contact-form input,
.zhuji-contact-form select,
.zhuji-contact-form textarea {
	width: 100%;
	margin-top: 9px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #b8c0bc;
	border-radius: 0;
	background: transparent;
	color: var(--zhuji-ink);
	font-size: 15px;
	box-shadow: none;
}

.zhuji-contact-form textarea {
	min-height: 112px;
	resize: vertical;
}

.zhuji-contact-form input:focus,
.zhuji-contact-form select:focus,
.zhuji-contact-form textarea:focus {
	border-bottom-color: var(--zhuji-ink);
	outline: 0;
}

.zhuji-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.zhuji-contact-form button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 34px;
	min-width: 190px;
	margin-top: 8px;
	padding: 16px 22px;
	border: 1px solid var(--zhuji-ink);
	border-radius: 0;
	background: var(--zhuji-ink);
	color: #fff;
	font-size: 14px;
	letter-spacing: .12em;
	transition: background-color .25s ease, color .25s ease;
}

.zhuji-contact-form button:hover,
.zhuji-contact-form button:focus {
	background: transparent;
	color: var(--zhuji-ink);
}

.zhuji-form-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.zhuji-form-notice {
	margin: 0 0 28px;
	padding: 14px 16px;
	border-left: 3px solid;
	font-size: 14px;
}

.zhuji-form-notice--success {
	border-color: #6d8b78;
	background: #e7eee9;
}

.zhuji-form-notice--error {
	border-color: #a16e5d;
	background: #f4e7e1;
}

.zhuji-services-page {
	width: 100%;
	margin: 0;
	overflow: hidden;
	color: var(--zhuji-ink);
}

.zhuji-services-section {
	padding: 112px 0 132px;
	background: #fff;
}

.zhuji-services-shell {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
}

.zhuji-services-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 52px;
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(13, 54, 104, .2);
}

.zhuji-services-heading p,
.zhuji-services-heading h2 {
	margin: 0;
}

.zhuji-services-heading p {
	color: #557aa5;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .24em;
}

.zhuji-services-heading h2 {
	font-family: "Noto Sans TC", sans-serif;
	font-size: clamp(36px, 4vw, 54px);
	font-weight: 500;
	letter-spacing: .06em;
}

.zhuji-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.zhuji-service-card {
	min-width: 0;
	margin: 0;
}

.zhuji-service-card>a {
	position: relative;
	min-height: 430px;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 30px 30px 28px;
	border: 1px solid rgba(13, 54, 104, .18);
	background: var(--zhuji-cream);
	color: var(--zhuji-ink);
	text-decoration: none;
	transition: transform .28s ease, background-color .28s ease, color .28s ease, box-shadow .28s ease;
}

.zhuji-service-card>a:hover,
.zhuji-service-card>a:focus {
	transform: translateY(-6px);
	background: var(--zhuji-ink);
	color: #fff;
	box-shadow: 0 22px 45px rgba(13, 54, 104, .2);
}

.zhuji-service-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 24px;
	margin-bottom: 38px;
}

.zhuji-service-card__icon {
	width: 72px;
	height: 72px;
	object-fit: contain;
	transition: filter .28s ease;
}

.zhuji-service-card>a:hover .zhuji-service-card__icon,
.zhuji-service-card>a:focus .zhuji-service-card__icon {
	filter: brightness(0) invert(1);
}

.zhuji-service-card h3 {
	margin: 0 0 22px;
	color: inherit;
	font-family: "Noto Sans TC", sans-serif;
	font-size: 27px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: .04em;
}

.zhuji-service-card__content {
	color: var(--zhuji-muted);
	font-size: 15px;
	line-height: 1.85;
	transition: color .28s ease;
}

.zhuji-service-card__content p {
	margin: 0;
}

.zhuji-service-card>a:hover .zhuji-service-card__content,
.zhuji-service-card>a:focus .zhuji-service-card__content {
	color: rgba(255, 255, 255, .78);
}

.zhuji-service-card__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: auto;
	padding-top: 24px;
	border-top: 1px solid currentColor;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
}

.zhuji-site-footer {
	position: relative;
	min-height: 720px;
	overflow: hidden;
	background:
		linear-gradient(rgba(7, 43, 77, .9), rgba(13, 54, 104, .94)),
		linear-gradient(145deg, #174f70, #0d3668 55%, #456b8c);
	color: #fff;
}

.zhuji-site-footer.has-background-image {
	background-image:
		linear-gradient(rgba(7, 43, 77, .82), rgba(13, 54, 104, .9)),
		var(--zhuji-footer-image);
	background-position: center;
	background-size: cover;
}




.zhuji-site-footer__inner {
	position: relative;
	z-index: 1;
	width: min(980px, calc(100% - 48px));
	min-height: 720px;
	margin: 0 auto;
	padding: 86px 0 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.zhuji-site-footer__brand img {
	display: block;
	width: min(290px, 44vw);
	height: auto;
	margin: 0 auto 34px;
	filter: brightness(0) invert(1);
}

.zhuji-site-footer h2 {
	margin: 0 0 28px;
	color: #fff;
	font-family: "Noto Sans TC", sans-serif;
	font-size: clamp(44px, 6vw, 82px);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: .08em;
}

.zhuji-site-footer__contact p,
.zhuji-site-footer__contact a,
.zhuji-site-footer__bottom p {
	color: #fff;
	margin: 0;
	text-decoration: none;
}

.zhuji-site-footer__contact {
	display: grid;
	gap: 8px;
}

.zhuji-site-footer__contact p,
.zhuji-site-footer__contact a {
	font-family: "Noto Sans TC", sans-serif;
	font-size: clamp(16px, 2vw, 22px);
	font-weight: 600;
	letter-spacing: .035em;
}

.zhuji-site-footer__contact p:last-child a {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.zhuji-site-footer__contact a:hover,
.zhuji-site-footer__contact a:focus {
	opacity: .78;
}

.zhuji-site-footer__bottom {
	width: 100%;
	margin-top: auto;
	padding: 24px 12px 0;
	border-top: 1px solid rgba(255, 255, 255, .2);
}

.zhuji-site-footer__bottom p {
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .06em;
	opacity: .8;
}

.zhuji-page-header.has-background-image {
	background-image:
		linear-gradient(90deg, rgba(7, 36, 71, .98) 0%, rgba(13, 54, 104, .78) 48%, rgba(13, 54, 104, .28) 82%),
		var(--zhuji-page-header-image);
	background-position: center;
	background-size: cover;
}

@media (max-width: 921px) {
	.zhuji-page-header {
		min-height: 420px;
	}

	.zhuji-contact-grid {
		grid-template-columns: 1fr;
		gap: 68px;
	}

	.zhuji-contact-intro {
		max-width: 650px;
	}

	.zhuji-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 600px) {
	.zhuji-contact-shell {
		width: min(100% - 34px, 1180px);
	}

	.zhuji-page-header {
		min-height: 390px;
		padding: 90px 0 62px;
	}


	.zhuji-page-header h1 {
		font-size: 52px;
	}

	.zhuji-contact-main {
		padding: 78px 0 0;
	}

	.zhuji-contact-grid {
		gap: 54px;
		margin-bottom: 82px;
	}

	.zhuji-contact-form-wrap {
		margin-inline: -17px;
		padding: 34px 22px 40px;
	}

	.zhuji-form-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.zhuji-services-section {
		padding: 78px 0 88px;
	}

	.zhuji-services-shell {
		width: min(100% - 34px, 1180px);
	}

	.zhuji-services-heading {
		align-items: flex-start;
		flex-direction: column;
		margin-bottom: 34px;
	}

	.zhuji-service-grid {
		grid-template-columns: 1fr;
	}

	.zhuji-service-card>a {
		min-height: 390px;
		padding: 26px 24px;
	}

	.zhuji-site-footer__inner {
		width: min(100% - 34px, 1180px);
		min-height: 620px;
		padding: 70px 0 24px;
	}

	.zhuji-site-footer {
		min-height: 620px;
	}

	.zhuji-site-footer h2 {
		font-size: 40px;
	}

	.zhuji-site-footer__contact p,
	.zhuji-site-footer__contact a {
		font-size: 16px;
	}

}