body.tuoxun-services-hub {
	background: var(--tx-white);
	color: var(--tx-ink);
	font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", Arial, sans-serif;
}

body.tuoxun-services-hub #masthead,
body.tuoxun-services-hub #colophon,
body.tuoxun-services-hub .site-header,
body.tuoxun-services-hub .site-footer:not(.tx-footer) {
	display: none !important;
}

body.tuoxun-services-hub #wrapper,
body.tuoxun-services-hub .site,
body.tuoxun-services-hub .site-content {
	max-width: none;
	padding: 0;
	margin: 0;
	background: transparent;
}

.tuoxun-services-hub *,
.tuoxun-services-hub *::before,
.tuoxun-services-hub *::after {
	box-sizing: border-box;
}

.tuoxun-services-hub a { text-decoration: none; }
.tuoxun-services-hub h1,
.tuoxun-services-hub h2,
.tuoxun-services-hub h3,
.tuoxun-services-hub p,
.tuoxun-services-hub ul { margin-top: 0; }
.tuoxun-services-hub .tx-nav a:nth-child(2) { color: var(--tx-blue); }
.tuoxun-services-hub .tx-nav a:nth-child(2)::after { left: 0; width: 100%; }

.tuoxun-services-hub .txw-icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 11px;
	background: var(--tx-blue-pale);
	color: var(--tx-blue);
}
.tuoxun-services-hub .txw-icon .dashicons { width: 25px; height: 25px; font-size: 25px; }
.tuoxun-services-hub .txw-icon .tx-brand-logo,
.tuoxun-services-hub .txw-icon > svg { width: 27px; height: 27px; }
.tuoxun-services-hub .txw-icon--purple { background: #f2efff; color: #8a5cf6; }
.tuoxun-services-hub .txw-icon--wp { background: #edf6fa; color: #21759b; }
.tuoxun-services-hub .txw-icon--orange { background: #fff5e8; color: #e37400; }
.tuoxun-services-hub .txw-icon--green { background: #edf8f0; color: var(--tx-green); }
.tuoxun-services-hub .txw-icon--teal { background: #ebf8f8; color: #168a8a; }
.tuoxun-services-hub .txw-icon--slate { background: #f0f3f7; color: #58697d; }

.txs-main { overflow: hidden; }
.txs-section { padding: 92px 0; }
.txs-section--soft { background: #f7f9fc; }
.txs-eyebrow {
	margin-bottom: 13px;
	color: var(--tx-blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
}
.txs-heading { max-width: 760px; margin: 0 auto 44px; text-align: center; }
.txs-heading h2,
.txs-process-layout h2,
.txs-contact__intro h2 {
	margin-bottom: 15px;
	color: var(--tx-ink);
	font-size: clamp(29px, 3vw, 41px);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.35;
}
.txs-heading > p:last-child,
.txs-process-layout > div > p,
.txs-contact__intro > p {
	margin-bottom: 0;
	color: var(--tx-text);
	font-size: 16px;
	line-height: 1.9;
}

/* Hero */
.txs-hero {
	position: relative;
	padding: 88px 0 78px;
	background:
		radial-gradient(circle at 82% 16%, rgba(26, 115, 232, .09), transparent 28%),
		linear-gradient(135deg, #fff 12%, #fbfdff 60%, #f2f7fd 100%);
}
.txs-hero::after {
	position: absolute;
	top: 54px;
	right: 7%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	content: "";
	background: var(--tx-yellow);
	box-shadow: 27px 22px 0 -2px rgba(251, 188, 4, .24);
}
.txs-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr);
	align-items: center;
	gap: clamp(45px, 6vw, 84px);
}
.txs-hero h1 {
	margin-bottom: 24px;
	color: var(--tx-ink);
	font-size: clamp(39px, 4.25vw, 58px);
	font-weight: 800;
	letter-spacing: -.045em;
	line-height: 1.25;
}
.txs-hero h1 em { color: var(--tx-blue); font-style: normal; }
.txs-lead { margin-bottom: 30px; color: var(--tx-text); font-size: 17px; line-height: 1.95; }

.txs-map {
	position: relative;
	min-height: 470px;
	border: 1px solid rgba(219, 226, 237, .9);
	border-radius: 24px;
	background: rgba(255, 255, 255, .84);
	box-shadow: 0 28px 70px rgba(55, 78, 108, .12);
	backdrop-filter: blur(8px);
}
.txs-map::before,
.txs-map::after {
	position: absolute;
	inset: 72px 104px;
	border: 1px dashed #cedcf0;
	border-radius: 50%;
	content: "";
}
.txs-map::after { inset: 116px 164px; border-style: solid; border-color: #e4ebf4; }
.txs-map__center,
.txs-map__node {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	box-shadow: 0 12px 30px rgba(53, 72, 98, .12);
}
.txs-map__center {
	top: 50%;
	left: 50%;
	flex-direction: column;
	gap: 9px;
	width: 142px;
	height: 142px;
	border: 1px solid #cfe0f8;
	border-radius: 50%;
	color: var(--tx-blue);
	transform: translate(-50%, -50%);
}
.txs-map__center .dashicons { width: 34px; height: 34px; font-size: 34px; }
.txs-map__center strong { color: var(--tx-ink); font-size: 16px; }
.txs-map__node {
	gap: 8px;
	min-width: 146px;
	padding: 12px 15px;
	border: 1px solid #e0e7f0;
	border-radius: 12px;
	color: #3d4b5d;
	font-size: 13px;
	font-weight: 700;
}
.txs-map__node .txw-icon { flex: 0 0 auto; width: 35px; height: 35px; }
.txs-map__node .txw-icon .dashicons { width: 21px; height: 21px; font-size: 21px; }
.txs-map__node--1 { top: 35px; left: 50%; transform: translateX(-50%); }
.txs-map__node--2 { top: 111px; right: 22px; }
.txs-map__node--3 { right: 37px; bottom: 72px; }
.txs-map__node--4 { bottom: 27px; left: 50%; transform: translateX(-50%); }
.txs-map__node--5 { bottom: 72px; left: 37px; }
.txs-map__node--6 { top: 111px; left: 22px; }

/* Proof */
.txs-proof { position: relative; z-index: 3; border-block: 1px solid #e7edf5; background: #fff; }
.txs-proof__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.txs-proof article { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 104px; border-right: 1px solid #e7edf5; }
.txs-proof article:first-child { border-left: 1px solid #e7edf5; }
.txs-proof article > div { display: grid; gap: 3px; }
.txs-proof strong { color: var(--tx-ink); font-size: 16px; }
.txs-proof small { color: var(--tx-muted); font-size: 12px; }

/* Service cards */
.txs-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.txs-service-card {
	position: relative;
	display: flex;
	min-height: 420px;
	padding: 28px;
	flex-direction: column;
	border: 1px solid var(--tx-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 34px rgba(42, 59, 84, .06);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.txs-service-card:hover { border-color: #b9d2f6; box-shadow: 0 18px 46px rgba(42, 59, 84, .11); transform: translateY(-5px); }
.txs-service-card--featured { border-top: 3px solid var(--tx-blue); }
.txs-service-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 23px; }
.txs-service-card__number { color: #a4afbd; font: 700 12px/1 Arial, sans-serif; letter-spacing: .12em; }
.txs-service-card h3 { margin-bottom: 13px; color: var(--tx-ink); font-size: 21px; line-height: 1.45; }
.txs-service-card > p { min-height: 75px; margin-bottom: 19px; color: var(--tx-text); font-size: 15px; line-height: 1.85; }
.txs-service-card ul { display: grid; gap: 10px; padding: 18px 0; margin-bottom: 24px; border-block: 1px solid #edf1f5; list-style: none; }
.txs-service-card li { display: flex; align-items: center; gap: 8px; color: #59677a; font-size: 14px; }
.txs-service-card li .dashicons { width: 16px; height: 16px; color: var(--tx-green); font-size: 16px; }
.txs-service-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; }
.txs-service-card__footer strong { color: var(--tx-blue); font-size: 20px; }
.txs-service-card__footer a { display: inline-flex; align-items: center; gap: 7px; color: var(--tx-blue); font-size: 14px; font-weight: 700; }

/* Stage cards */
.txs-stages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.txs-stage {
	position: relative;
	display: flex;
	min-height: 300px;
	padding: 25px;
	flex-direction: column;
	border: 1px solid var(--tx-border);
	border-radius: 15px;
	background: #fff;
	color: inherit;
	box-shadow: 0 9px 26px rgba(49, 66, 91, .055);
	transition: .22s ease;
}
.txs-stage:hover { border-color: #9ec1f3; box-shadow: 0 16px 36px rgba(49, 66, 91, .11); transform: translateY(-4px); }
.txs-stage > span { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 22px; border-radius: 50%; background: var(--tx-blue-soft); color: var(--tx-blue); font: 800 12px/1 Arial, sans-serif; }
.txs-stage h3 { margin-bottom: 12px; font-size: 18px; line-height: 1.5; }
.txs-stage p { margin-bottom: 18px; color: var(--tx-text); font-size: 14px; line-height: 1.8; }
.txs-stage strong { margin-top: auto; padding-top: 16px; border-top: 1px solid #e9eef4; color: var(--tx-blue); font-size: 13px; line-height: 1.6; }
.txs-stage i { position: absolute; right: 22px; bottom: 22px; color: #9eb5d2; font-style: normal; }

/* Bundles */
.txs-bundles { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 22px; }
.txs-bundle {
	position: relative;
	display: flex;
	padding: 32px;
	flex-direction: column;
	border: 1px solid var(--tx-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--tx-shadow);
}
.txs-bundle--featured { border: 2px solid var(--tx-blue); box-shadow: 0 20px 55px rgba(26, 115, 232, .14); }
.txs-bundle__label { min-height: 40px; margin-bottom: 18px; color: #758296; font-size: 12px; line-height: 1.7; }
.txs-bundle h3 { margin-bottom: 12px; font-size: 23px; }
.txs-bundle > p { min-height: 60px; color: var(--tx-text); font-size: 15px; line-height: 1.8; }
.txs-bundle ul { display: grid; gap: 12px; padding: 22px 0; margin-bottom: 20px; border-block: 1px solid #edf1f5; list-style: none; }
.txs-bundle li { display: flex; align-items: center; gap: 8px; color: #4e5d70; font-size: 14px; }
.txs-bundle li .dashicons { width: 17px; height: 17px; color: var(--tx-green); font-size: 17px; }
.txs-bundle__price { margin: auto 0 20px; color: var(--tx-blue); font-size: 19px; }
.txs-bundle .tx-button { justify-content: center; }

/* Data loop */
.txs-section--data { background: linear-gradient(135deg, #f5f8fc, #eef4fb); }
.txs-process-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr); align-items: center; gap: 65px; }
.txs-loop { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 8px; margin-top: 32px; }
.txs-loop span { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 10px 13px; border: 1px solid #dae4f0; border-radius: 10px; background: #fff; color: #405167; font-size: 13px; font-weight: 700; }
.txs-loop span:not(:last-child)::after { position: absolute; right: -10px; content: "›"; color: #9eabc0; }
.txs-loop b { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: var(--tx-blue); color: #fff; font: 700 10px/1 Arial, sans-serif; }
.txs-dashboard { padding: 25px; border: 1px solid #d9e4f1; border-radius: 17px; background: #fff; box-shadow: 0 20px 54px rgba(52, 72, 99, .11); }
.txs-dashboard__bar { display: flex; align-items: center; justify-content: space-between; padding-bottom: 19px; border-bottom: 1px solid #eaf0f6; }
.txs-dashboard__bar strong { color: #4a5870; font-size: 14px; }
.txs-dashboard__bar small { padding: 5px 8px; border-radius: 5px; background: #fff8e1; color: #a16c00; font-size: 10px; }
.txs-dashboard__metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 22px 0 5px; }
.txs-dashboard__metrics span { display: grid; gap: 5px; }
.txs-dashboard__metrics strong { color: var(--tx-blue); font: 800 22px/1.2 Arial, sans-serif; }
.txs-dashboard__metrics small { color: #8793a5; font-size: 11px; }
.txs-chart { position: relative; height: 170px; margin-top: 10px; overflow: hidden; border-radius: 9px; background: repeating-linear-gradient(to bottom, #fff, #fff 41px, #edf1f6 42px); }
.txs-chart svg { position: absolute; inset: 14px 7px 8px; width: calc(100% - 14px); height: calc(100% - 22px); filter: drop-shadow(0 4px 4px rgba(50, 80, 120, .08)); }

/* Matrix */
.txs-matrix-wrap { overflow-x: auto; border: 1px solid var(--tx-border); border-radius: 15px; box-shadow: 0 10px 32px rgba(45, 62, 87, .06); }
.txs-matrix { width: 100%; min-width: 820px; border-collapse: collapse; background: #fff; }
.txs-matrix th,
.txs-matrix td { padding: 17px 16px; border-right: 1px solid #e7ecf2; border-bottom: 1px solid #e7ecf2; text-align: center; }
.txs-matrix tr:last-child th,
.txs-matrix tr:last-child td { border-bottom: 0; }
.txs-matrix th:last-child,
.txs-matrix td:last-child { border-right: 0; }
.txs-matrix thead th { background: #f5f8fc; color: #657286; font-size: 13px; }
.txs-matrix thead th:first-child { width: 300px; text-align: left; }
.txs-matrix tbody th { display: flex; align-items: center; gap: 12px; color: var(--tx-ink); font-size: 14px; text-align: left; }
.txs-matrix tbody th .txw-icon { flex: 0 0 auto; width: 35px; height: 35px; }
.txs-matrix__value { display: inline-grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; font: 800 12px/1 Arial, sans-serif; font-style: normal; }
.txs-matrix__value--1 { background: var(--tx-blue-soft); color: var(--tx-blue); }
.txs-matrix__value--2 { background: #e6f4ea; color: var(--tx-green); }
.txs-matrix__value--0 { background: #f1f3f5; color: #9aa4b2; }
.txs-matrix__legend { display: flex; justify-content: flex-end; gap: 20px; margin-top: 17px; color: #718096; font-size: 12px; }
.txs-matrix__legend span { display: inline-flex; align-items: center; gap: 7px; }

/* FAQ and audit */
.txs-faq-layout { display: grid; grid-template-columns: 1.45fr .55fr; gap: 24px; }
.txs-faqs { display: grid; gap: 12px; }
.txs-faqs details { border: 1px solid var(--tx-border); border-radius: 13px; background: #fff; }
.txs-faqs summary { display: flex; align-items: center; gap: 13px; padding: 19px 22px; color: var(--tx-ink); font-size: 15px; font-weight: 700; cursor: pointer; list-style: none; }
.txs-faqs summary::-webkit-details-marker { display: none; }
.txs-faqs summary::after { margin-left: auto; color: var(--tx-blue); content: "+"; font-size: 21px; font-weight: 400; }
.txs-faqs details[open] summary::after { content: "−"; }
.txs-faqs summary span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--tx-blue-soft); color: var(--tx-blue); font: 800 10px/1 Arial, sans-serif; }
.txs-faqs details p { padding: 0 22px 20px 63px; margin-bottom: 0; color: var(--tx-text); font-size: 15px; line-height: 1.85; }
.txs-audit { display: flex; padding: 30px; flex-direction: column; align-items: flex-start; border: 1px solid #cfe0f8; border-radius: 16px; background: linear-gradient(145deg, #fff, #edf4fe); }
.txs-audit > .dashicons { width: 45px; height: 45px; margin-bottom: 25px; color: var(--tx-blue); font-size: 45px; }
.txs-audit h3 { margin-bottom: 18px; font-size: 21px; line-height: 1.55; }
.txs-audit > strong { margin: auto 0 20px; color: var(--tx-blue); font-size: 25px; }

/* Contact */
.txs-contact { background: #fff; }
.txs-contact__grid { display: grid; grid-template-columns: .75fr 1.25fr; overflow: hidden; border: 1px solid #dce5ef; border-radius: 18px; box-shadow: 0 20px 55px rgba(44, 62, 88, .09); }
.txs-contact__intro { padding: 48px; background: linear-gradient(145deg, #f4f8fe, #eaf2fc); }
.txs-contact__intro > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin-top: 32px; }
.txs-contact__intro > div > span { display: grid; gap: 10px; padding: 15px 10px; border-radius: 11px; background: rgba(255, 255, 255, .75); color: #4d5c70; font-size: 12px; line-height: 1.55; }
.txs-contact__intro .txw-icon { width: 35px; height: 35px; }
.txs-form { padding: 42px; background: #fff; }
.txs-form__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.txs-form label { display: grid; gap: 8px; color: #536174; font-size: 13px; font-weight: 700; }
.txs-form__wide { grid-column: 1 / -1; }
.txs-form input,
.txs-form select,
.txs-form textarea { width: 100%; min-height: 46px; padding: 12px 13px; border: 1px solid #dce3ec; border-radius: 6px; background: #fff; color: var(--tx-ink); font-family: inherit; font-size: 14px; line-height: 1.5; outline: none; }
.txs-form input:focus,
.txs-form select:focus,
.txs-form textarea:focus { border-color: #8bb5ee; box-shadow: 0 0 0 3px rgba(26, 115, 232, .1); }
.txs-form textarea { min-height: 118px; resize: vertical; }
.txs-form > .tx-button { width: 100%; margin-top: 20px; justify-content: center; }
.txs-form > small { display: block; margin-top: 12px; color: #8a95a5; font-size: 11px; text-align: center; }

@media (max-width: 1120px) {
	.txs-hero__grid { grid-template-columns: minmax(0, .9fr) minmax(450px, 1.1fr); gap: 38px; }
	.txs-services { grid-template-columns: repeat(2, 1fr); }
	.txs-stages { grid-template-columns: repeat(2, 1fr); }
	.txs-process-layout { grid-template-columns: 1fr 1.1fr; gap: 38px; }
	.txs-contact__grid { grid-template-columns: .9fr 1.1fr; }
	.txs-contact__intro > div { grid-template-columns: 1fr; }
}

@media (max-width: 920px) {
	.txs-section { padding: 74px 0; }
	.txs-hero { padding: 68px 0; }
	.txs-hero__grid { grid-template-columns: 1fr; }
	.txs-hero__copy { max-width: 720px; }
	.txs-map { min-height: 450px; }
	.txs-proof__grid { grid-template-columns: repeat(2, 1fr); }
	.txs-proof article:nth-child(2) { border-right: 0; }
	.txs-proof article:nth-child(-n+2) { border-bottom: 1px solid #e7edf5; }
	.txs-bundles { grid-template-columns: 1fr; }
	.txs-bundle > p,
	.txs-bundle__label { min-height: 0; }
	.txs-process-layout,
	.txs-faq-layout,
	.txs-contact__grid { grid-template-columns: 1fr; }
	.txs-contact__intro > div { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 680px) {
	.txs-section { padding: 58px 0; }
	.txs-heading { margin-bottom: 32px; text-align: left; }
	.txs-hero { padding: 55px 0 50px; }
	.txs-hero h1 { font-size: clamp(34px, 10vw, 45px); }
	.txs-lead { font-size: 16px; line-height: 1.85; }
	.txs-hero .tx-button-row { display: grid; grid-template-columns: 1fr; }
	.txs-hero .tx-button { justify-content: center; }
	.txs-map { min-height: 610px; }
	.txs-map::before,
	.txs-map::after { display: none; }
	.txs-map__center { top: 50%; width: 126px; height: 126px; }
	.txs-map__node { left: 50%; right: auto; min-width: 155px; transform: translateX(-50%); }
	.txs-map__node--1 { top: 22px; }
	.txs-map__node--2 { top: 94px; }
	.txs-map__node--3 { top: 166px; bottom: auto; }
	.txs-map__node--4 { top: auto; bottom: 166px; }
	.txs-map__node--5 { top: auto; bottom: 94px; }
	.txs-map__node--6 { top: auto; bottom: 22px; }
	.txs-proof__grid,
	.txs-services,
	.txs-stages { grid-template-columns: 1fr; }
	.txs-proof article { justify-content: flex-start; min-height: 86px; padding-inline: 25px; border-right: 0; border-bottom: 1px solid #e7edf5; }
	.txs-proof article:last-child { border-bottom: 0; }
	.txs-service-card { min-height: 0; padding: 24px; }
	.txs-service-card > p { min-height: 0; }
	.txs-stage { min-height: 260px; }
	.txs-bundle { padding: 25px; }
	.txs-process-layout { gap: 32px; }
	.txs-dashboard { padding: 18px; }
	.txs-dashboard__metrics { grid-template-columns: repeat(2, 1fr); gap: 18px; }
	.txs-dashboard__metrics strong { font-size: 20px; }
	.txs-matrix__legend { justify-content: flex-start; flex-wrap: wrap; gap: 10px 16px; }
	.txs-faqs summary { padding: 17px; }
	.txs-faqs details p { padding: 0 17px 18px; }
	.txs-audit { padding: 25px; }
	.txs-contact__intro,
	.txs-form { padding: 27px 22px; }
	.txs-contact__intro > div,
	.txs-form__grid { grid-template-columns: 1fr; }
	.txs-form__wide { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.txs-service-card,
	.txs-stage { transition: none; }
}
