/*!
 * TirelessCrew Site — tcs-site.css
 * The only stylesheet for the 2026-10 redesign. Generated from build/*.css.
 * Tokens first. No hex value appears below the token block.
 */

/* ---------- fonts ---------- */
@font-face { font-family: "Satoshi"; src: url("/wp-content/uploads/2026/07/Satoshi-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Satoshi"; src: url("/wp-content/uploads/2026/07/Satoshi-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Satoshi"; src: url("/wp-content/uploads/2026/07/Satoshi-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

/* ---------- tokens ---------- */
:root {
	--tcs-blue: #2563EB;
	--tcs-blue-dark: #1D4ED8;
	--tcs-blue-bright: #1E90FF;
	--tcs-navy: #0F2E8A;
	--tcs-navy-deep: #081A4D;
	--tcs-black: #000000;
	--tcs-white: #FFFFFF;
	--tcs-tint: #EFF6FF;
	--tcs-tint-2: #DBEAFE;
	--tcs-surface: #F8FAFC;
	--tcs-line: #E2E8F0;
	--tcs-line-strong: #CBD5E1;
	--tcs-micro: #3F3F46;
	--tcs-on-dark-soft: rgba(255, 255, 255, .86);
	--tcs-on-dark-line: rgba(255, 255, 255, .16);
	--tcs-on-dark-fill: rgba(255, 255, 255, .07);
	--tcs-skel: #E2E8F0;
	--tcs-skel-blue: #BFDBFE;
	--tcs-shadow-sm: 0 1px 2px rgba(8, 26, 77, .06), 0 1px 1px rgba(8, 26, 77, .04);
	--tcs-shadow: 0 12px 32px -12px rgba(8, 26, 77, .22), 0 2px 6px rgba(8, 26, 77, .06);
	--tcs-shadow-lg: 0 32px 64px -24px rgba(8, 26, 77, .45), 0 4px 12px rgba(8, 26, 77, .12);

	--tcs-font: "Satoshi", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--tcs-radius: 16px;
	--tcs-radius-sm: 10px;
	--tcs-radius-xs: 6px;
	--tcs-wrap: 1200px;
	--tcs-gutter: clamp(16px, 4vw, 32px);
	--tcs-sec-y: clamp(64px, 9vw, 120px);
	--tcs-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Elementor containers used as sections ---------- */
.e-con.tcs-sec {
	--padding-top: var(--tcs-sec-y);
	--padding-bottom: var(--tcs-sec-y);
	--padding-left: 0px;
	--padding-right: 0px;
	--gap: clamp(32px, 4.5vw, 56px);
	--row-gap: clamp(32px, 4.5vw, 56px);
	--flex-direction: column;
	--width: 100%;
	--margin-top: 0px;
	--margin-bottom: 0px;
	position: relative;
	overflow: clip;
	font-family: var(--tcs-font);
	color: var(--tcs-black);
	background: var(--tcs-white);
}
.e-con.tcs-sec > .elementor-widget,
.e-con.tcs-sec > .e-con-inner > .elementor-widget { width: 100%; margin: 0; }
.e-con.tcs-chrome { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; --width: 100%; }
/* The header template wrapper is the element that sticks, so the bar follows the whole page. */
.elementor-location-header:has(.tcs-header) { position: sticky; top: 0; z-index: 100; }
.admin-bar .elementor-location-header:has(.tcs-header) { top: 32px; }
.e-con.tcs-chrome > .elementor-widget { width: 100%; margin: 0; }
.e-con.tcs-sec--tint { background: var(--tcs-surface); border-top: 1px solid var(--tcs-line); border-bottom: 1px solid var(--tcs-line); }
.e-con.tcs-sec--blue { background: var(--tcs-tint); }
.e-con.tcs-sec--tight { --padding-top: clamp(40px, 5vw, 64px); --padding-bottom: clamp(40px, 5vw, 64px); }
.e-con.tcs-sec--flush-top { --padding-top: clamp(40px, 5vw, 64px); }
.e-con.tcs-sec--dark,
.e-con.tcs-sec--hero {
	color: var(--tcs-white);
	background:
		radial-gradient(60% 70% at 85% 10%, rgba(30, 144, 255, .28) 0%, rgba(30, 144, 255, 0) 70%),
		radial-gradient(50% 60% at 0% 100%, rgba(37, 99, 235, .30) 0%, rgba(37, 99, 235, 0) 70%),
		linear-gradient(160deg, var(--tcs-navy-deep) 0%, var(--tcs-navy) 100%);
}
.e-con.tcs-sec--hero { --padding-top: clamp(56px, 8vw, 104px); --padding-bottom: clamp(64px, 9vw, 120px); }
.e-con.tcs-sec--hero::before,
.e-con.tcs-sec--dark::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(var(--tcs-on-dark-fill) 1px, transparent 1px),
		linear-gradient(90deg, var(--tcs-on-dark-fill) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(80% 80% at 70% 30%, #000 0%, transparent 75%);
	mask-image: radial-gradient(80% 80% at 70% 30%, #000 0%, transparent 75%);
}

/* ---------- layout ---------- */
.tcs-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--tcs-wrap) + 2 * var(--tcs-gutter));
	margin-inline: auto;
	padding-inline: var(--tcs-gutter);
	position: relative;
	font-family: var(--tcs-font);
}
.tcs-wrap *,
.tcs-wrap *::before,
.tcs-wrap *::after { box-sizing: border-box; }
.tcs-grid { display: grid; gap: clamp(16px, 2vw, 24px); list-style: none; margin: 0; padding: 0; }
.tcs-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tcs-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tcs-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tcs-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- type ---------- */
.tcs-wrap .tcs-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	font: 700 13px/1.2 var(--tcs-font);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--tcs-blue-dark);
}
.tcs-wrap .tcs-eyebrow::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: var(--tcs-blue-bright); }
.tcs-wrap .tcs-title {
	margin: 0;
	font: 700 clamp(30px, 3.6vw, 46px)/1.1 var(--tcs-font);
	letter-spacing: -.02em;
	color: var(--tcs-black);
	text-wrap: balance;
}
.tcs-wrap .tcs-title--xl { font-size: clamp(38px, 5.6vw, 68px); line-height: 1.04; letter-spacing: -.03em; }
.tcs-wrap .tcs-title--cta { font-size: clamp(28px, 3.2vw, 40px); }
.tcs-wrap .tcs-accent { display: block; color: var(--tcs-blue); }
.tcs-wrap .tcs-lead {
	margin: 20px 0 0;
	max-width: 62ch;
	font: 400 clamp(17px, 1.4vw, 20px)/1.6 var(--tcs-font);
	color: var(--tcs-black);
	text-wrap: pretty;
}
.tcs-wrap .tcs-lead--hero { font-size: clamp(18px, 1.5vw, 21px); }
.tcs-wrap .tcs-lead a,
.tcs-wrap .tcs-rich a,
.tcs-wrap .tcs-card__text a { color: var(--tcs-blue-dark); text-decoration: underline; text-underline-offset: 3px; }
.tcs-wrap .tcs-rich { margin-top: 20px; max-width: 60ch; }
.tcs-wrap .tcs-rich p { margin: 0 0 14px; font: 400 18px/1.65 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-rich p:last-child { margin-bottom: 0; }
.tcs-wrap .tcs-fine { margin: 16px 0 0; font: 500 14px/1.5 var(--tcs-font); color: var(--tcs-micro); }
.tcs-wrap .tcs-tag {
	display: inline-block;
	margin: 0 0 10px;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--tcs-tint);
	font: 700 12px/1.3 var(--tcs-font);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--tcs-blue-dark);
}

/* dark sections flip text to white */
.tcs-sec--dark .tcs-wrap .tcs-title,
.tcs-sec--hero .tcs-wrap .tcs-title,
.tcs-sec--dark .tcs-wrap .tcs-lead,
.tcs-sec--hero .tcs-wrap .tcs-lead,
.tcs-sec--dark .tcs-wrap .tcs-rich p,
.tcs-sec--dark .tcs-wrap .tcs-card__title,
.tcs-sec--dark .tcs-wrap .tcs-step__title { color: var(--tcs-white); }
.tcs-sec--dark .tcs-wrap .tcs-card__text,
.tcs-sec--dark .tcs-wrap .tcs-step__text,
.tcs-sec--hero .tcs-wrap .tcs-fine,
.tcs-sec--dark .tcs-wrap .tcs-fine { color: var(--tcs-on-dark-soft); }
.tcs-sec--dark .tcs-wrap .tcs-eyebrow,
.tcs-sec--hero .tcs-wrap .tcs-eyebrow { color: var(--tcs-white); }
.tcs-sec--dark .tcs-wrap .tcs-accent,
.tcs-sec--hero .tcs-wrap .tcs-accent {
	color: var(--tcs-blue-bright);
	background: linear-gradient(90deg, var(--tcs-white) 0%, var(--tcs-blue-bright) 75%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.tcs-sec--dark .tcs-wrap .tcs-lead a { color: var(--tcs-white); }

/* ---------- buttons and links ---------- */
.tcs-wrap .tcs-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 32px; }
.tcs-wrap .tcs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 24px;
	border: 1.5px solid transparent;
	border-radius: var(--tcs-radius-sm);
	font: 700 16px/1.2 var(--tcs-font);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s var(--tcs-ease), box-shadow .18s ease;
}
.tcs-wrap .tcs-btn__icon { width: 18px; height: 18px; transition: transform .18s var(--tcs-ease); }
.tcs-wrap .tcs-btn:hover .tcs-btn__icon { transform: translateX(3px); }
.tcs-wrap .tcs-btn:active { transform: translateY(1px); }
.tcs-wrap .tcs-btn--primary { background: var(--tcs-blue); color: var(--tcs-white); box-shadow: 0 8px 20px -8px rgba(37, 99, 235, .7); }
.tcs-wrap .tcs-btn--primary:hover { background: var(--tcs-blue-dark); color: var(--tcs-white); }
.tcs-wrap .tcs-btn--light { background: var(--tcs-white); color: var(--tcs-navy); }
.tcs-wrap .tcs-btn--light:hover { background: var(--tcs-tint); color: var(--tcs-navy); }
.tcs-wrap .tcs-btn--ghost { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .42); color: var(--tcs-white); }
.tcs-wrap .tcs-btn--ghost:hover { background: rgba(255, 255, 255, .16); border-color: var(--tcs-white); color: var(--tcs-white); }
.tcs-wrap .tcs-btn--outline { background: var(--tcs-white); border-color: var(--tcs-blue); color: var(--tcs-blue-dark); }
.tcs-wrap .tcs-btn--outline:hover { background: var(--tcs-tint); color: var(--tcs-blue-dark); }
.tcs-sec--light .tcs-wrap .tcs-btn--ghost,
.tcs-sec--tint .tcs-wrap .tcs-btn--ghost,
.tcs-sec--blue .tcs-wrap .tcs-btn--ghost { background: var(--tcs-white); border-color: var(--tcs-blue); color: var(--tcs-blue-dark); }
.tcs-sec .tcs-wrap .tcs-cta .tcs-btn--ghost { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .5); color: var(--tcs-white); }
.tcs-sec .tcs-wrap .tcs-cta .tcs-btn--ghost:hover { background: rgba(255, 255, 255, .18); border-color: var(--tcs-white); }
.tcs-wrap .tcs-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font: 700 16px/1.3 var(--tcs-font);
	color: var(--tcs-blue-dark);
	text-decoration: none;
}
.tcs-wrap .tcs-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.tcs-wrap .tcs-link__icon { width: 16px; height: 16px; flex: none; transition: transform .18s var(--tcs-ease); }
.tcs-wrap .tcs-link:hover .tcs-link__icon { transform: translateX(3px); }
.tcs-sec--dark .tcs-wrap .tcs-link,
.tcs-sec--hero .tcs-wrap .tcs-link { color: var(--tcs-white); }
.tcs-wrap a:focus-visible,
.tcs-wrap button:focus-visible,
.tcs-wrap summary:focus-visible,
.tcs-header a:focus-visible,
.tcs-header button:focus-visible,
.tcs-footer a:focus-visible {
	outline: 3px solid var(--tcs-blue-bright);
	outline-offset: 3px;
	border-radius: var(--tcs-radius-xs);
}

/* ---------- checklist ---------- */
.tcs-wrap .tcs-checks { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.tcs-wrap .tcs-checks li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; font: 500 17px/1.5 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-checks__icon { width: 24px; height: 24px; padding: 4px; border-radius: 50%; background: var(--tcs-tint); color: var(--tcs-blue-dark); }
.tcs-sec--dark .tcs-wrap .tcs-checks li { color: var(--tcs-white); }
.tcs-sec--dark .tcs-wrap .tcs-checks__icon { background: rgba(30, 144, 255, .22); color: var(--tcs-white); }
.tcs-wrap .tcs-checks--plan li { font-size: 16px; }

/* ---------- reveal on scroll (only when script is running) ---------- */
.tcs-js .tcs-reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s var(--tcs-ease), transform .6s var(--tcs-ease); }
.tcs-js .tcs-reveal.is-in { opacity: 1; transform: none; }
.tcs-js .tcs-grid > .tcs-reveal:nth-child(2),
.tcs-js .tcs-steps > .tcs-reveal:nth-child(2) { transition-delay: .08s; }
.tcs-js .tcs-grid > .tcs-reveal:nth-child(3),
.tcs-js .tcs-steps > .tcs-reveal:nth-child(3) { transition-delay: .16s; }
.tcs-js .tcs-grid > .tcs-reveal:nth-child(4),
.tcs-js .tcs-steps > .tcs-reveal:nth-child(4) { transition-delay: .24s; }
.tcs-js .tcs-grid > .tcs-reveal:nth-child(5) { transition-delay: .12s; }
.tcs-js .tcs-grid > .tcs-reveal:nth-child(6) { transition-delay: .2s; }


/* ---------- hero ---------- */
.tcs-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: clamp(40px, 5vw, 72px); align-items: center; }
.tcs-hero--center { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; }
.tcs-hero--center .tcs-lead { margin-inline: auto; }
.tcs-hero--center .tcs-actions { justify-content: center; }
.tcs-hero--center .tcs-hero__visual { width: 100%; max-width: 880px; }
.tcs-hero__copy { position: relative; z-index: 1; }
.tcs-hero__visual { position: relative; z-index: 1; }

/* ---------- section heading ---------- */
.tcs-head { max-width: 760px; }
.tcs-head--center { margin-inline: auto; text-align: center; }
.tcs-head--center .tcs-lead { margin-inline: auto; }

/* ---------- cards ---------- */
.tcs-wrap .tcs-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(22px, 2.4vw, 30px);
	border: 1px solid var(--tcs-line);
	border-radius: var(--tcs-radius);
	background: var(--tcs-white);
	box-shadow: var(--tcs-shadow-sm);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s var(--tcs-ease);
}
.tcs-wrap .tcs-cards--card .tcs-card:hover { border-color: var(--tcs-tint-2); box-shadow: var(--tcs-shadow); transform: translateY(-2px); }
.tcs-wrap .tcs-cards--plain .tcs-card { padding: 0; border: 0; background: none; box-shadow: none; }
.tcs-wrap .tcs-card__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin-bottom: 20px;
	border-radius: 12px;
	background: var(--tcs-tint);
	color: var(--tcs-blue-dark);
}
.tcs-wrap .tcs-card__icon .tcs-icon { width: 24px; height: 24px; }
.tcs-wrap .tcs-card__num { margin-bottom: 18px; font: 700 15px/1 var(--tcs-font); letter-spacing: .06em; color: var(--tcs-blue-dark); }
.tcs-wrap .tcs-card__title { margin: 0 0 10px; font: 700 clamp(19px, 1.6vw, 21px)/1.3 var(--tcs-font); letter-spacing: -.01em; color: var(--tcs-black); }
.tcs-wrap .tcs-card__text { margin: 0; font: 400 16.5px/1.6 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-card .tcs-link { margin-top: auto; padding-top: 12px; }
.tcs-sec--dark .tcs-wrap .tcs-card { background: rgba(255, 255, 255, .06); border-color: var(--tcs-on-dark-line); box-shadow: none; }
.tcs-sec--dark .tcs-wrap .tcs-card__icon { background: rgba(30, 144, 255, .2); color: var(--tcs-white); }
.tcs-sec--dark .tcs-wrap .tcs-card__num { color: var(--tcs-blue-bright); }
.tcs-sec--dark .tcs-wrap .tcs-cards--card .tcs-card:hover { border-color: rgba(255, 255, 255, .32); }
.tcs-sec--dark .tcs-wrap .tcs-tag { background: rgba(255, 255, 255, .12); color: var(--tcs-white); }

/* ---------- steps ---------- */
.tcs-wrap .tcs-steps { --tcs-steps-gap: clamp(20px, 2.4vw, 32px); list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--tcs-steps-gap); counter-reset: none; position: relative; }
.tcs-wrap .tcs-steps--row::before { content: ""; position: absolute; top: 23px; left: 24px; right: calc((100% - 3 * var(--tcs-steps-gap)) / 4 - 24px); height: 2px; background: linear-gradient(90deg, var(--tcs-blue) 0%, var(--tcs-tint-2) 100%); }
.tcs-wrap .tcs-step { position: relative; }
.tcs-wrap .tcs-step__num {
	position: relative;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin-bottom: 20px;
	border-radius: 50%;
	border: 2px solid var(--tcs-blue);
	background: var(--tcs-white);
	font: 700 18px/1 var(--tcs-font);
	color: var(--tcs-blue-dark);
}
.tcs-wrap .tcs-step:first-child .tcs-step__num { background: var(--tcs-blue); color: var(--tcs-white); }
.tcs-wrap .tcs-step__title { margin: 0 0 8px; font: 700 20px/1.3 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-step__text { margin: 0; font: 400 16.5px/1.6 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-steps--stack { grid-template-columns: minmax(0, 1fr); max-width: 820px; gap: 0; }
.tcs-wrap .tcs-steps--stack .tcs-step { display: grid; grid-template-columns: 48px 1fr; gap: 24px; padding-bottom: 40px; }
.tcs-wrap .tcs-steps--stack .tcs-step:not(:last-child)::before { content: ""; position: absolute; left: 23px; top: 52px; bottom: 4px; width: 2px; background: var(--tcs-tint-2); }
.tcs-wrap .tcs-steps--stack .tcs-step__num { margin: 0; }
.tcs-wrap .tcs-steps--stack .tcs-step__title { margin-top: 10px; font-size: 22px; }
.tcs-wrap .tcs-steps--stack .tcs-step__text { font-size: 17.5px; max-width: 62ch; }
.tcs-sec--dark .tcs-wrap .tcs-step__num { background: var(--tcs-navy); border-color: var(--tcs-blue-bright); color: var(--tcs-white); }

/* ---------- split ---------- */
.tcs-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(40px, 6vw, 88px); align-items: center; }
.tcs-split--rev .tcs-split__copy { order: 2; }
.tcs-split--rev .tcs-split__visual { order: 1; }

/* ---------- plans ---------- */
.tcs-wrap .tcs-plans { align-items: stretch; }
.tcs-wrap .tcs-plan {
	display: flex;
	flex-direction: column;
	padding: clamp(24px, 2.6vw, 34px);
	border: 1px solid var(--tcs-line);
	border-radius: var(--tcs-radius);
	background: var(--tcs-white);
	box-shadow: var(--tcs-shadow-sm);
}
.tcs-wrap .tcs-plan--featured { border: 2px solid var(--tcs-blue); box-shadow: var(--tcs-shadow); }
.tcs-wrap .tcs-plan__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.tcs-wrap .tcs-plan__name { margin: 0; font: 700 20px/1.3 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-badge { padding: 5px 10px; border-radius: 999px; background: var(--tcs-blue); font: 700 12px/1.2 var(--tcs-font); letter-spacing: .03em; color: var(--tcs-white); }
.tcs-wrap .tcs-plan__price { display: flex; align-items: baseline; gap: 6px; margin: 20px 0 0; }
.tcs-wrap .tcs-plan__amount { font: 700 clamp(40px, 4vw, 52px)/1 var(--tcs-font); letter-spacing: -.03em; color: var(--tcs-black); }
.tcs-wrap .tcs-plan__unit { font: 500 17px/1 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-plan__sub { margin: 10px 0 0; font: 500 15px/1.5 var(--tcs-font); color: var(--tcs-micro); }
.tcs-wrap .tcs-plan__desc { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid var(--tcs-line); font: 400 16px/1.6 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-plan__cta { margin-top: auto; padding-top: 28px; }
.tcs-wrap .tcs-plan__cta .tcs-btn { width: 100%; }

/* ---------- table ---------- */
.tcs-wrap .tcs-table { overflow-x: auto; border: 1px solid var(--tcs-line); border-radius: var(--tcs-radius); background: var(--tcs-white); box-shadow: var(--tcs-shadow-sm); }
.tcs-wrap .tcs-table table { width: 100%; min-width: 560px; margin: 0; border: 0; border-collapse: collapse; font: 400 16px/1.5 var(--tcs-font); }
.tcs-wrap .tcs-table th,
.tcs-wrap .tcs-table td { padding: 16px 20px; border: 0; border-bottom: 1px solid var(--tcs-line); background: transparent; text-align: left; vertical-align: top; color: var(--tcs-black); }
.tcs-wrap .tcs-table tbody tr:nth-child(2n+1) > td,
.tcs-wrap .tcs-table tbody tr:nth-child(2n+1) > th { background: transparent; }
.tcs-wrap .tcs-table tbody tr:last-child > * { border-bottom: 0; }
.tcs-wrap .tcs-table thead th { font: 700 14px/1.3 var(--tcs-font); letter-spacing: .04em; text-transform: uppercase; background: var(--tcs-surface); }
.tcs-wrap .tcs-table tbody th { font-weight: 700; width: 32%; }
.tcs-wrap .tcs-table .tcs-table__hl,
.tcs-wrap .tcs-table tbody tr:nth-child(2n+1) > td.tcs-table__hl { background: var(--tcs-tint); }
.tcs-wrap .tcs-table thead .tcs-table__hl { background: var(--tcs-blue); color: var(--tcs-white); }

/* ---------- questions ---------- */
.tcs-faq { max-width: 860px; margin-inline: auto; border-top: 1px solid var(--tcs-line); }
.tcs-wrap .tcs-faq__item { border-bottom: 1px solid var(--tcs-line); }
.tcs-wrap .tcs-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 64px;
	padding: 18px 4px;
	cursor: pointer;
	list-style: none;
}
.tcs-wrap .tcs-faq__q::-webkit-details-marker { display: none; }
.tcs-wrap .tcs-faq__qtext { margin: 0; font: 700 clamp(17px, 1.5vw, 19px)/1.4 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-faq__icon { flex: none; width: 28px; height: 28px; padding: 5px; border-radius: 50%; background: var(--tcs-tint); color: var(--tcs-blue-dark); transition: transform .25s var(--tcs-ease); }
.tcs-wrap .tcs-faq__item[open] .tcs-faq__icon { transform: rotate(45deg); }
.tcs-wrap .tcs-faq__a p { margin: 0; padding: 0 56px 22px 4px; font: 400 17px/1.65 var(--tcs-font); color: var(--tcs-black); max-width: 72ch; }
.tcs-wrap .tcs-faq__q:hover .tcs-faq__qtext { color: var(--tcs-blue-dark); }

/* ---------- call to action band ---------- */
.tcs-wrap .tcs-cta {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 32px 48px;
	align-items: center;
	padding: clamp(32px, 5vw, 64px);
	border-radius: calc(var(--tcs-radius) + 8px);
	overflow: hidden;
	background:
		radial-gradient(70% 120% at 100% 0%, rgba(30, 144, 255, .45) 0%, rgba(30, 144, 255, 0) 60%),
		linear-gradient(135deg, var(--tcs-navy) 0%, var(--tcs-blue) 100%);
	box-shadow: var(--tcs-shadow-lg);
}
.tcs-wrap .tcs-cta::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -120px;
	width: 340px;
	height: 340px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .18);
	box-shadow: 0 0 0 40px rgba(255, 255, 255, .04), 0 0 0 80px rgba(255, 255, 255, .03);
	pointer-events: none;
}
.tcs-wrap .tcs-cta .tcs-title,
.tcs-wrap .tcs-cta .tcs-lead { color: var(--tcs-white); }
.tcs-wrap .tcs-cta .tcs-fine { color: var(--tcs-on-dark-soft); }
.tcs-wrap .tcs-cta__side { position: relative; z-index: 1; }
.tcs-wrap .tcs-cta .tcs-actions { margin-top: 0; }

/* ---------- pills row ---------- */
.tcs-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.tcs-wrap .tcs-chips__label { margin: 0; font: 700 14px/1.3 var(--tcs-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tcs-black); }
.tcs-wrap .tcs-chips__list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; flex: 1 1 480px; }
.tcs-wrap .tcs-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--tcs-line); border-radius: 999px; background: var(--tcs-white); font: 500 15px/1.2 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-chip__icon { width: 18px; height: 18px; color: var(--tcs-blue-dark); }
.tcs-sec--dark .tcs-wrap .tcs-chips__label { color: var(--tcs-white); }
.tcs-sec--dark .tcs-wrap .tcs-chip { background: rgba(255, 255, 255, .06); border-color: var(--tcs-on-dark-line); color: var(--tcs-white); }
.tcs-sec--dark .tcs-wrap .tcs-chip__icon { color: var(--tcs-white); }

/* ---------- note ---------- */
.tcs-wrap .tcs-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; }
.tcs-wrap .tcs-note p { margin: 0; max-width: 72ch; font: 500 17px/1.6 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-note--box { padding: 24px 28px; border: 1px dashed var(--tcs-line-strong); border-radius: var(--tcs-radius); background: var(--tcs-surface); }
.tcs-sec--blue .tcs-wrap .tcs-note--box { background: var(--tcs-white); }
.tcs-sec--dark .tcs-wrap .tcs-note p { color: var(--tcs-white); }
.tcs-sec--dark .tcs-wrap .tcs-note--box { background: rgba(255, 255, 255, .05); border-color: var(--tcs-on-dark-line); }

/* ---------- contact ---------- */
.tcs-contact { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.tcs-wrap .tcs-contact__form { padding: clamp(24px, 3vw, 40px); border: 1px solid var(--tcs-line); border-radius: var(--tcs-radius); background: var(--tcs-white); box-shadow: var(--tcs-shadow-sm); }
.tcs-wrap .tcs-contact__side { padding: clamp(24px, 3vw, 32px); border-radius: var(--tcs-radius); background: var(--tcs-tint); }
.tcs-wrap .tcs-contact__title { margin: 0 0 16px; font: 700 20px/1.3 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-contact__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.tcs-wrap .tcs-contact__list li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; font: 500 16px/1.5 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-contact__list a { color: var(--tcs-blue-dark); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.tcs-wrap .tcs-contact__icon { width: 22px; height: 22px; color: var(--tcs-blue-dark); }
/* WPForms inside the contact card */
.tcs-wrap .tcs-contact__form .wpforms-container { margin: 0; }
.tcs-wrap .tcs-contact__form .wpforms-field { padding: 0 0 18px; }
.tcs-wrap .tcs-contact__form .wpforms-field-label { margin: 0 0 8px; font: 700 15px/1.3 var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-contact__form input[type="text"],
.tcs-wrap .tcs-contact__form input[type="email"],
.tcs-wrap .tcs-contact__form input[type="tel"],
.tcs-wrap .tcs-contact__form select,
.tcs-wrap .tcs-contact__form textarea {
	width: 100%;
	max-width: none;
	min-height: 48px;
	padding: 12px 14px;
	border: 1.5px solid var(--tcs-line-strong);
	border-radius: var(--tcs-radius-sm);
	background: var(--tcs-white);
	font: 400 16px/1.4 var(--tcs-font);
	color: var(--tcs-black);
	box-shadow: none;
}
.tcs-wrap .tcs-contact__form textarea { min-height: 150px; }
.tcs-wrap .tcs-contact__form input:focus,
.tcs-wrap .tcs-contact__form textarea:focus,
.tcs-wrap .tcs-contact__form select:focus { border-color: var(--tcs-blue); outline: 3px solid rgba(30, 144, 255, .35); outline-offset: 0; }
.tcs-wrap .tcs-contact__form button[type="submit"],
.tcs-wrap .tcs-contact__form .wpforms-submit {
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--tcs-radius-sm);
	background: var(--tcs-blue);
	font: 700 16px/1 var(--tcs-font);
	color: var(--tcs-white);
	cursor: pointer;
}
.tcs-wrap .tcs-contact__form button[type="submit"]:hover { background: var(--tcs-blue-dark); }

/* ---------- header ---------- */
.tcs-header {
	position: relative;
	z-index: 100;
	font-family: var(--tcs-font);
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	backdrop-filter: saturate(160%) blur(12px);
	border-bottom: 1px solid var(--tcs-line);
}
.tcs-header .tcs-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; }
.tcs-header .tcs-header__brand { display: inline-flex; align-items: center; min-height: 44px; flex: none; }
.tcs-header .tcs-header__logo { display: block; width: auto; height: 28px; }
.tcs-header .tcs-nav { display: flex; align-items: center; gap: 28px; }
.tcs-header .tcs-nav__list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.tcs-header .tcs-nav__list a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 12px;
	border-radius: var(--tcs-radius-xs);
	font: 500 15.5px/1.2 var(--tcs-font);
	color: var(--tcs-black);
	text-decoration: none;
}
.tcs-header .tcs-nav__list a:hover { background: var(--tcs-tint); color: var(--tcs-blue-dark); }
.tcs-header .tcs-nav__list .current-menu-item > a,
.tcs-header .tcs-nav__list a[aria-current="page"] { color: var(--tcs-blue-dark); box-shadow: inset 0 -2px 0 var(--tcs-blue); border-radius: 0; }
.tcs-header .tcs-nav__actions { display: flex; align-items: center; gap: 16px; }
.tcs-header .tcs-btn { min-height: 44px; padding: 0 18px; font-size: 15px; }
.tcs-header .tcs-link { font-size: 15.5px; }
.tcs-header .tcs-header__toggle {
	display: none;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var(--tcs-line);
	border-radius: var(--tcs-radius-sm);
	background: var(--tcs-white);
	color: var(--tcs-black);
	cursor: pointer;
}
.tcs-header .tcs-header__toggle svg { width: 24px; height: 24px; }
.tcs-header .tcs-header__close { display: none; }

/* ---------- footer ---------- */
.tcs-footer { font-family: var(--tcs-font); color: var(--tcs-white); background: var(--tcs-navy-deep); padding: clamp(56px, 7vw, 88px) 0 32px; }
.tcs-footer .tcs-footer__top { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.tcs-footer .tcs-footer__logo { display: block; width: auto; height: 28px; }
.tcs-footer .tcs-footer__blurb { margin: 20px 0 0; max-width: 38ch; font: 400 16px/1.6 var(--tcs-font); color: var(--tcs-on-dark-soft); }
.tcs-footer .tcs-footer__email { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 12px; font: 500 16px/1.3 var(--tcs-font); color: var(--tcs-white); text-decoration: none; }
.tcs-footer .tcs-footer__email:hover { text-decoration: underline; }
.tcs-footer .tcs-footer__icon { width: 20px; height: 20px; }
.tcs-footer .tcs-footer__title { margin: 0 0 14px; font: 700 13px/1.3 var(--tcs-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tcs-white); }
.tcs-footer ul { list-style: none; margin: 0; padding: 0; }
.tcs-footer li a { display: inline-flex; align-items: center; min-height: 40px; font: 400 16px/1.3 var(--tcs-font); color: var(--tcs-on-dark-soft); text-decoration: none; }
.tcs-footer li a:hover { color: var(--tcs-white); text-decoration: underline; text-underline-offset: 3px; }
.tcs-footer .tcs-footer__bottom { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--tcs-on-dark-line); }
.tcs-footer .tcs-footer__bottom p { margin: 0; font: 400 14px/1.5 var(--tcs-font); color: var(--tcs-on-dark-soft); }
/* WPForms ships its own high-specificity rules; these match them. */
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form .wpforms-field-sublabel,
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form .wpforms-field-description { font: 400 14px/1.45 var(--tcs-font); color: var(--tcs-micro); }
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form .wpforms-field-label,
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form .wpforms-field-label-inline { font-family: var(--tcs-font); color: var(--tcs-black); }
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form .wpforms-field-medium,
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium { max-width: 100%; }
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form input.wpforms-field-medium,
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium { max-width: 100%; }
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form button[type="submit"],
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form button[type="submit"]:not(:hover):not(:active) {
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--tcs-radius-sm);
	background-color: var(--tcs-blue);
	font: 700 16px/1 var(--tcs-font);
	color: var(--tcs-white);
}
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form button[type="submit"]:hover { background-color: var(--tcs-blue-dark); color: var(--tcs-white); }
.tcs-wrap .tcs-contact__form div.wpforms-container-full .wpforms-form .wpforms-required-label { color: var(--tcs-blue-dark); }


/* =========================================================
   Product vignettes. Base styles show the FINAL frame, so
   reduced motion and no-script visitors see a complete scene.
   Keyframes (generated, see motion.css) only add the build-up.
   ========================================================= */
.tcs-vis { position: relative; font-family: var(--tcs-font); color: var(--tcs-black); line-height: 1.4; -webkit-user-select: none; user-select: none; }
.tcs-vis * { box-sizing: border-box; }
.tcs-vis :where(ul, ol) { list-style: none; margin: 0; padding: 0; }
.tcs-vis :where(p, dl, dd) { margin: 0; }
.tcs-vis .tcs-ico { width: 16px; height: 16px; flex: none; }

/* window frame */
.tcs-win {
	position: relative;
	border: 1px solid var(--tcs-line);
	border-radius: var(--tcs-radius);
	background: var(--tcs-white);
	box-shadow: var(--tcs-shadow-lg);
	overflow: hidden;
}
.tcs-sec--light .tcs-win,
.tcs-sec--tint .tcs-win,
.tcs-sec--blue .tcs-win { box-shadow: var(--tcs-shadow); }
.tcs-win__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px 16px; border-bottom: 1px solid var(--tcs-line); background: var(--tcs-surface); }
.tcs-win__title { font: 700 14px/1.3 var(--tcs-font); color: var(--tcs-black); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tcs-pill { display: inline-flex; align-items: center; gap: 6px; flex: none; padding: 4px 10px; border-radius: 999px; background: var(--tcs-tint); font: 700 12px/1.2 var(--tcs-font); color: var(--tcs-blue-dark); white-space: nowrap; }
.tcs-pill .tcs-ico { width: 14px; height: 14px; }
.tcs-pill--ask { background: var(--tcs-navy); color: var(--tcs-white); }
.tcs-pill--done { background: var(--tcs-blue); color: var(--tcs-white); }
.tcs-pill--tag { background: var(--tcs-white); border: 1px solid var(--tcs-tint-2); }
.tcs-livedot { display: inline-flex; align-items: center; gap: 8px; font: 700 12px/1 var(--tcs-font); color: var(--tcs-blue-dark); }
.tcs-livedot__dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--tcs-blue-bright); }
.tcs-livedot__dot::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid var(--tcs-blue-bright); opacity: 0; }
.tcs-skel { display: block; height: 8px; border-radius: 4px; background: var(--tcs-skel); transform-origin: left center; }
.tcs-skel + .tcs-skel { margin-top: 8px; }
.tcs-skel--1 { width: 92%; }
.tcs-skel--2 { width: 78%; }
.tcs-skel--3 { width: 56%; }
.tcs-skel--4 { width: 84%; }
.tcs-skel--5 { width: 40%; }
.tcs-mbtn { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border: 1px solid var(--tcs-line-strong); border-radius: var(--tcs-radius-xs); background: var(--tcs-white); font: 700 12px/1 var(--tcs-font); color: var(--tcs-black); white-space: nowrap; }
.tcs-mbtn--primary { border-color: var(--tcs-blue); background: var(--tcs-blue); color: var(--tcs-white); }

/* ---- live ---- */
.tcs-live { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); }
.tcs-mini { padding: 16px; border-right: 1px solid var(--tcs-line); display: grid; gap: 14px; align-content: start; }
.tcs-mini__dname { display: flex; align-items: center; gap: 8px; font: 700 13px/1.2 var(--tcs-font); color: var(--tcs-black); }
.tcs-mini__dname .tcs-ico { color: var(--tcs-blue-dark); }
.tcs-mini__dept ul { margin: 8px 0 0 7px; padding-left: 15px; border-left: 1.5px solid var(--tcs-line); display: grid; gap: 6px; }
.tcs-mini__seat { display: flex; align-items: center; gap: 8px; font: 500 12.5px/1.3 var(--tcs-font); color: var(--tcs-black); }
.tcs-mini__pip { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--tcs-skel-blue); }
.tcs-feed { padding: 16px; display: grid; gap: 10px; align-content: start; }
.tcs-feed__item { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--tcs-line); border-radius: var(--tcs-radius-sm); background: var(--tcs-white); }
.tcs-feed__item--ask { border-color: var(--tcs-blue); box-shadow: 0 0 0 3px var(--tcs-tint); }
.tcs-feed__icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--tcs-tint); color: var(--tcs-blue-dark); }
.tcs-feed__body { display: grid; gap: 2px; min-width: 0; }
.tcs-feed__who { font: 700 12.5px/1.2 var(--tcs-font); color: var(--tcs-black); }
.tcs-feed__what { font: 400 12.5px/1.35 var(--tcs-font); color: var(--tcs-black); }
.tcs-feed__ok { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--tcs-tint); color: var(--tcs-blue-dark); }
.tcs-feed__ok .tcs-ico { width: 13px; height: 13px; }
.tcs-live__inbox { position: absolute; right: 16px; bottom: 16px; display: none; }
.tcs-live__inbox { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px 8px 12px; border-radius: 999px; background: var(--tcs-navy); color: var(--tcs-white); box-shadow: var(--tcs-shadow); font: 700 12.5px/1 var(--tcs-font); }
.tcs-live__inbox-icon .tcs-ico { width: 16px; height: 16px; }
.tcs-live__count { position: relative; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--tcs-blue); }
.tcs-live__count-a,
.tcs-live__count-b { grid-area: 1 / 1; }
.tcs-live__count-a { opacity: 0; }
.tcs-win--live { padding-bottom: 56px; }

/* ---- org chart ---- */
.tcs-org { position: relative; padding: 8px 0 0; }
.tcs-org__owner { position: relative; z-index: 2; display: flex; align-items: center; gap: 12px; width: max-content; margin: 0 auto; padding: 10px 18px 10px 10px; border-radius: 999px; background: var(--tcs-navy); color: var(--tcs-white); box-shadow: var(--tcs-shadow); }
.tcs-org__owner strong { display: block; font: 700 14px/1.2 var(--tcs-font); }
.tcs-org__owner small { display: block; font: 500 12px/1.2 var(--tcs-font); color: var(--tcs-on-dark-soft); }
.tcs-org__avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--tcs-blue); }
.tcs-org__avatar .tcs-ico { width: 20px; height: 20px; }
.tcs-org__depts { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding-top: 56px; }
.tcs-org__depts::before { content: ""; position: absolute; top: 28px; left: calc(100% / 6); right: calc(100% / 6); height: 2px; background: var(--tcs-line-strong); }
.tcs-org__depts::after { content: ""; position: absolute; top: 0; left: 50%; width: 2px; height: 28px; background: var(--tcs-line-strong); }
.tcs-org__dept { position: relative; }
.tcs-org__line { position: absolute; top: -28px; left: 50%; width: 2px; height: 28px; background: var(--tcs-line-strong); }
.tcs-org__packet { position: absolute; left: -3px; bottom: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--tcs-blue-bright); box-shadow: 0 0 0 4px rgba(30, 144, 255, .2); opacity: 0; }
.tcs-org__card { padding: 14px; border: 1px solid var(--tcs-line); border-radius: var(--tcs-radius-sm); background: var(--tcs-white); box-shadow: var(--tcs-shadow); }
.tcs-org__dname { margin: 0 0 10px; font: 700 14px/1.2 var(--tcs-font); color: var(--tcs-black); }
.tcs-org__seats { display: grid; gap: 6px; }
.tcs-org__seat { position: relative; padding: 8px 10px 8px 24px; border-radius: 8px; background: var(--tcs-surface); font: 500 12.5px/1.3 var(--tcs-font); color: var(--tcs-black); }
.tcs-org__seat::before { content: ""; position: absolute; left: 10px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: var(--tcs-blue); }
.tcs-sec--hero .tcs-org__depts::before,
.tcs-sec--hero .tcs-org__depts::after,
.tcs-sec--hero .tcs-org__line,
.tcs-sec--dark .tcs-org__depts::before,
.tcs-sec--dark .tcs-org__depts::after,
.tcs-sec--dark .tcs-org__line { background: rgba(255, 255, 255, .3); }

/* ---- inbox ---- */
.tcs-tabs { display: flex; gap: 4px; padding: 10px 14px 0; border-bottom: 1px solid var(--tcs-line); overflow: hidden; }
.tcs-tabs li { padding: 8px 10px; font: 500 12.5px/1 var(--tcs-font); color: var(--tcs-black); white-space: nowrap; }
.tcs-tabs li.is-on { font-weight: 700; color: var(--tcs-blue-dark); box-shadow: inset 0 -2px 0 var(--tcs-blue); }
.tcs-icards { display: grid; gap: 10px; padding: 14px; background: var(--tcs-surface); }
.tcs-icard { position: relative; padding: 14px; border: 1px solid var(--tcs-line); border-radius: var(--tcs-radius-sm); background: var(--tcs-white); box-shadow: var(--tcs-shadow-sm); }
.tcs-icard__tag { font: 700 11.5px/1.2 var(--tcs-font); letter-spacing: .03em; text-transform: uppercase; color: var(--tcs-blue-dark); }
.tcs-icard__title { margin-top: 6px; font: 700 14.5px/1.35 var(--tcs-font); color: var(--tcs-black); }
.tcs-icard__meta { margin-top: 2px; font: 400 12.5px/1.35 var(--tcs-font); color: var(--tcs-black); }
.tcs-icard__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.tcs-icard__stamp { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: var(--tcs-blue); font: 700 12px/1 var(--tcs-font); color: var(--tcs-white); opacity: 0; }
.tcs-icard__stamp .tcs-ico { width: 13px; height: 13px; }
.tcs-icard--1 .tcs-icard__stamp { opacity: 1; }
.tcs-icard--1 .tcs-icard__actions { opacity: .45; }

/* ---- handoff ---- */
.tcs-hand { display: grid; grid-template-columns: auto minmax(40px, 1fr) auto; align-items: center; gap: 12px; padding: 22px 18px 18px; }
.tcs-hand__seat { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--tcs-line); border-radius: var(--tcs-radius-sm); background: var(--tcs-white); box-shadow: var(--tcs-shadow-sm); }
.tcs-hand__seat strong { display: block; font: 700 13px/1.2 var(--tcs-font); color: var(--tcs-black); }
.tcs-hand__seat small { display: block; font: 500 11.5px/1.2 var(--tcs-font); color: var(--tcs-micro); }
.tcs-hand__icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--tcs-tint); color: var(--tcs-blue-dark); }
.tcs-hand__path { position: relative; height: 32px; }
.tcs-hand__path::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 2px dashed var(--tcs-line-strong); }
.tcs-hand__ticket { position: absolute; top: 0; left: calc(100% - 32px); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--tcs-blue); color: var(--tcs-white); box-shadow: 0 6px 14px -4px rgba(37, 99, 235, .6); }
.tcs-terms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0 18px 18px; }
.tcs-terms > div { padding: 10px 12px; border-radius: var(--tcs-radius-sm); background: var(--tcs-surface); }
.tcs-terms dt { display: flex; align-items: center; gap: 6px; font: 700 11.5px/1.2 var(--tcs-font); letter-spacing: .03em; text-transform: uppercase; color: var(--tcs-blue-dark); }
.tcs-terms dt .tcs-ico { width: 14px; height: 14px; }
.tcs-terms dd { margin: 6px 0 0; font: 500 13px/1.35 var(--tcs-font); color: var(--tcs-black); }
.tcs-track { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 16px 18px 22px; border-top: 1px solid var(--tcs-line); background: var(--tcs-surface); }
.tcs-track::before { content: ""; position: absolute; top: 25px; left: calc(18px + 12.5% - 9px); right: calc(18px + 12.5% - 9px); height: 2px; background: var(--tcs-blue); }
.tcs-track__step { position: relative; display: grid; justify-items: center; gap: 8px; font: 600 12px/1.25 var(--tcs-font); text-align: center; color: var(--tcs-black); }
.tcs-track__dot { position: relative; z-index: 1; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--tcs-blue); background: var(--tcs-blue); }
.tcs-track__step--4 .tcs-track__dot { box-shadow: 0 0 0 4px var(--tcs-tint-2); }

/* ---- budget ---- */
.tcs-meter { padding: 20px 18px 16px; }
.tcs-meter__head { display: flex; justify-content: space-between; align-items: center; font: 700 13px/1.2 var(--tcs-font); color: var(--tcs-black); }
.tcs-meter__limit { display: inline-flex; align-items: center; gap: 6px; color: var(--tcs-blue-dark); }
.tcs-meter__limit .tcs-ico { width: 14px; height: 14px; }
.tcs-meter__track { position: relative; height: 14px; margin-top: 12px; border-radius: 999px; background: var(--tcs-tint); overflow: visible; }
.tcs-meter__fill { position: absolute; inset: 0 38% 0 0; border-radius: 999px; background: linear-gradient(90deg, var(--tcs-blue) 0%, var(--tcs-blue-bright) 100%); transform-origin: left center; }
.tcs-meter__cap { position: absolute; top: -6px; bottom: -6px; right: 0; width: 3px; border-radius: 2px; background: var(--tcs-navy); }
.tcs-meter__rows { display: grid; gap: 12px; margin-top: 20px; }
.tcs-meter__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; gap: 12px; font: 500 13px/1.3 var(--tcs-font); color: var(--tcs-black); }
.tcs-meter__mini { position: relative; height: 8px; border-radius: 999px; background: var(--tcs-surface); border: 1px solid var(--tcs-line); overflow: hidden; }
.tcs-meter__minifill { position: absolute; inset: 0; border-radius: 999px; background: var(--tcs-blue); transform-origin: left center; }
.tcs-meter__minifill--1 { right: 30%; }
.tcs-meter__minifill--2 { right: 58%; }
.tcs-meter__minifill--3 { right: 74%; }
.tcs-wallet { display: flex; align-items: center; gap: 12px; margin: 4px 18px 18px; padding: 12px 14px; border-radius: var(--tcs-radius-sm); background: var(--tcs-navy); color: var(--tcs-white); }
.tcs-wallet__icon { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: 8px; background: rgba(255, 255, 255, .12); }
.tcs-wallet__icon .tcs-ico { width: 18px; height: 18px; }
.tcs-wallet__text strong { display: block; font: 700 13px/1.3 var(--tcs-font); }
.tcs-wallet__text small { display: block; margin-top: 2px; font: 400 12px/1.35 var(--tcs-font); color: var(--tcs-on-dark-soft); }

/* ---- goal ---- */
.tcs-goal { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; align-items: center; padding: 22px 20px; }
.tcs-goal__ring { position: relative; width: 120px; height: 120px; }
.tcs-goal__ring svg,
.tcs-support__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.tcs-goal__bg { fill: none; stroke: var(--tcs-tint); stroke-width: 12; }
.tcs-goal__fg { fill: none; stroke: var(--tcs-blue); stroke-width: 12; stroke-linecap: round; stroke-dasharray: 314.16; stroke-dashoffset: 69; }
.tcs-goal__icon { position: absolute; inset: 0; display: grid; place-items: center; color: var(--tcs-blue-dark); }
.tcs-goal__icon .tcs-ico { width: 30px; height: 30px; }
.tcs-goal__name { font: 700 16px/1.35 var(--tcs-font); color: var(--tcs-black); }
.tcs-goal__meta { margin-top: 4px; font: 400 13px/1.4 var(--tcs-font); color: var(--tcs-black); }
.tcs-goal__sub { display: grid; gap: 6px; margin-top: 14px; }
.tcs-goal__sub li { display: flex; align-items: center; gap: 8px; font: 500 13px/1.3 var(--tcs-font); color: var(--tcs-black); }
.tcs-goal__tick { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--tcs-tint); color: var(--tcs-blue-dark); }
.tcs-goal__tick .tcs-ico { width: 12px; height: 12px; }

/* ---- email thread ---- */
.tcs-mail { margin: 14px 16px; padding: 14px; border-radius: var(--tcs-radius-sm); }
.tcs-mail--in { margin-right: 22%; background: var(--tcs-surface); border: 1px solid var(--tcs-line); }
.tcs-mail--out { margin-left: 18%; background: var(--tcs-tint); border: 1px solid var(--tcs-tint-2); }
.tcs-mail__from { display: block; margin-bottom: 8px; font: 700 12px/1.2 var(--tcs-font); letter-spacing: .03em; text-transform: uppercase; color: var(--tcs-blue-dark); }
.tcs-mail p { font: 400 14px/1.5 var(--tcs-font); color: var(--tcs-black); }
.tcs-mail--out .tcs-skel { background: var(--tcs-skel-blue); }
.tcs-mail__state { position: relative; display: grid; margin-top: 14px; }
.tcs-mail__state > * { grid-area: 1 / 1; justify-self: start; }
.tcs-mail__wait { opacity: 0; }

/* ---- outreach ---- */
.tcs-out { display: grid; gap: 2px; padding: 8px 0; }
.tcs-out__row { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 9px 16px; }
.tcs-out__avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--tcs-tint-2); }
.tcs-out__lines .tcs-skel + .tcs-skel { margin-top: 6px; }
.tcs-out__state { display: grid; justify-items: end; }
.tcs-out__state > * { grid-area: 1 / 1; display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 999px; font: 700 11.5px/1 var(--tcs-font); }
.tcs-out__queued { background: var(--tcs-surface); border: 1px solid var(--tcs-line); color: var(--tcs-black); opacity: 0; }
.tcs-out__sent { background: var(--tcs-tint); color: var(--tcs-blue-dark); }
.tcs-out__sent .tcs-ico { width: 12px; height: 12px; }
.tcs-guards { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 16px 16px; border-top: 1px solid var(--tcs-line); background: var(--tcs-surface); }
.tcs-guards li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--tcs-line); border-radius: 999px; background: var(--tcs-white); font: 600 12px/1 var(--tcs-font); color: var(--tcs-black); }
.tcs-guards .tcs-ico { width: 14px; height: 14px; color: var(--tcs-blue-dark); }

/* ---- post ---- */
.tcs-post { padding: 18px; }
.tcs-post__cover { display: grid; place-items: center; height: 120px; margin-bottom: 16px; border-radius: var(--tcs-radius-sm); background: linear-gradient(135deg, var(--tcs-tint) 0%, var(--tcs-tint-2) 100%); color: var(--tcs-blue); }
.tcs-post__cover .tcs-ico { width: 40px; height: 40px; }
.tcs-post__title { display: block; width: 70%; height: 14px; margin-bottom: 14px; border-radius: 4px; background: var(--tcs-black); transform-origin: left center; }
.tcs-post__state { display: grid; padding: 0 18px 18px; }
.tcs-post__state > * { grid-area: 1 / 1; justify-self: start; }
.tcs-post__wait { opacity: 0; }

/* ---- report ---- */
.tcs-report { padding: 18px; }
.tcs-chart { display: flex; align-items: flex-end; gap: 8px; height: 120px; padding: 0 4px 0; border-bottom: 2px solid var(--tcs-line); }
.tcs-chart__bar { flex: 1 1 0; border-radius: 6px 6px 0 0; background: var(--tcs-tint-2); transform-origin: bottom center; }
.tcs-chart__bar--1 { height: 38%; }
.tcs-chart__bar--2 { height: 52%; }
.tcs-chart__bar--3 { height: 46%; }
.tcs-chart__bar--4 { height: 64%; }
.tcs-chart__bar--5 { height: 58%; }
.tcs-chart__bar--6 { height: 76%; }
.tcs-chart__bar--7 { height: 92%; background: var(--tcs-blue); }
.tcs-report__src { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.tcs-report__src li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: var(--tcs-surface); border: 1px solid var(--tcs-line); font: 600 12px/1 var(--tcs-font); color: var(--tcs-black); }
.tcs-report__src .tcs-ico { width: 14px; height: 14px; color: var(--tcs-blue-dark); }
.tcs-report__sum { margin-top: 14px; }
.tcs-report__sent { display: flex; align-items: center; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--tcs-line); background: var(--tcs-tint); font: 700 13px/1.2 var(--tcs-font); color: var(--tcs-blue-dark); }

/* ---- chat ---- */
.tcs-win--chat { max-width: 420px; margin-inline: auto; }
.tcs-chat { display: grid; gap: 10px; padding: 16px; min-height: 260px; align-content: start; background: var(--tcs-surface); }
.tcs-bubble { max-width: 85%; padding: 10px 14px; border-radius: 14px; font: 400 14px/1.45 var(--tcs-font); }
.tcs-bubble--me { justify-self: end; border-bottom-right-radius: 4px; background: var(--tcs-blue); color: var(--tcs-white); }
.tcs-bubble--them { justify-self: start; border-bottom-left-radius: 4px; background: var(--tcs-white); border: 1px solid var(--tcs-line); color: var(--tcs-black); }
.tcs-bubble--1 { grid-row: 1; grid-column: 1; }
.tcs-bubble--2,
.tcs-bubble--typing { grid-row: 2; grid-column: 1; align-self: start; }
.tcs-chat__src { grid-row: 3; grid-column: 1; }
.tcs-bubble--typing { justify-self: start; display: inline-flex; opacity: 0; gap: 4px; padding: 12px 14px; background: var(--tcs-white); border: 1px solid var(--tcs-line); }
.tcs-bubble--typing span { width: 6px; height: 6px; border-radius: 50%; background: var(--tcs-blue); }
.tcs-chat__src { display: inline-flex; align-items: center; gap: 6px; justify-self: start; font: 600 12px/1.2 var(--tcs-font); color: var(--tcs-blue-dark); }
.tcs-chat__src .tcs-ico { width: 14px; height: 14px; }
.tcs-chat__input { display: flex; align-items: center; justify-content: space-between; margin: 12px; padding: 10px 14px; border: 1px solid var(--tcs-line-strong); border-radius: 999px; font: 400 13px/1 var(--tcs-font); color: var(--tcs-micro); }
.tcs-chat__input .tcs-ico { color: var(--tcs-blue); }

/* ---- support access ---- */
.tcs-support { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 20px; align-items: center; padding: 20px 18px; }
.tcs-support__ring { position: relative; width: 110px; height: 110px; }
.tcs-support__fg { fill: none; stroke: var(--tcs-blue); stroke-width: 12; stroke-linecap: round; stroke-dasharray: 314.16; stroke-dashoffset: 0; }
.tcs-support__min { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.tcs-support__min strong { font: 700 26px/1 var(--tcs-font); color: var(--tcs-black); }
.tcs-support__min small { font: 500 12px/1.2 var(--tcs-font); color: var(--tcs-black); }
.tcs-support__label { font: 600 12.5px/1.3 var(--tcs-font); color: var(--tcs-black); }
.tcs-support__digits { margin: 6px 0 12px; font: 700 clamp(24px, 2.6vw, 30px)/1 var(--tcs-font); letter-spacing: .08em; font-variant-numeric: tabular-nums; color: var(--tcs-navy); }
.tcs-support__log { display: grid; gap: 8px; padding: 14px 18px; border-top: 1px solid var(--tcs-line); background: var(--tcs-surface); }
.tcs-support__log li { display: flex; align-items: center; gap: 8px; font: 500 12.5px/1.35 var(--tcs-font); color: var(--tcs-black); }
.tcs-support__log .tcs-ico { color: var(--tcs-blue-dark); }
.tcs-support__note { display: flex; align-items: center; gap: 8px; padding: 12px 18px; font: 700 12.5px/1.3 var(--tcs-font); color: var(--tcs-blue-dark); }

/* ---- connected accounts hub ---- */
.tcs-hub { position: relative; width: 100%; aspect-ratio: 100 / 80; }
.tcs-hub__wires { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.tcs-hub__line { stroke: var(--tcs-line-strong); stroke-width: 1.5; vector-effect: non-scaling-stroke; stroke-dasharray: 4 6; }
.tcs-sec--hero .tcs-hub__line,
.tcs-sec--dark .tcs-hub__line { stroke: rgba(255, 255, 255, .35); }
.tcs-hub__core { position: absolute; left: 50%; top: 50%; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 10px 18px 10px 10px; border-radius: 999px; background: var(--tcs-blue); color: var(--tcs-white); font: 700 clamp(12px, 1.3vw, 15px)/1 var(--tcs-font); white-space: nowrap; transform: translate(-50%, -50%); box-shadow: 0 16px 40px -12px rgba(37, 99, 235, .7); }
.tcs-hub__core::before { content: ""; position: absolute; inset: -10px; border-radius: 999px; border: 2px solid rgba(30, 144, 255, .5); opacity: 0; }
.tcs-hub__mark { display: grid; place-items: center; width: clamp(28px, 3vw, 38px); height: clamp(28px, 3vw, 38px); border-radius: 50%; background: var(--tcs-navy); }
.tcs-hub__mark .tcs-ico { width: 60%; height: 60%; }
.tcs-hub__nodes { position: absolute; inset: 0; }
.tcs-hub__node { position: absolute; z-index: 1; width: 22%; transform: translate(-50%, -50%); }
.tcs-hub__node--1 { left: 50%; top: 11.25%; }
.tcs-hub__node--2 { left: 78%; top: 22.5%; }
.tcs-hub__node--3 { left: 87%; top: 50%; }
.tcs-hub__node--4 { left: 78%; top: 77.5%; }
.tcs-hub__node--5 { left: 50%; top: 88.75%; }
.tcs-hub__node--6 { left: 22%; top: 77.5%; }
.tcs-hub__node--7 { left: 13%; top: 50%; }
.tcs-hub__node--8 { left: 22%; top: 22.5%; }
.tcs-hub__tile { display: grid; justify-items: center; gap: 6px; padding: 10px 6px; border: 1px solid var(--tcs-line); border-radius: var(--tcs-radius-sm); background: var(--tcs-white); box-shadow: var(--tcs-shadow); font: 600 clamp(10.5px, 1.05vw, 12.5px)/1.2 var(--tcs-font); text-align: center; color: var(--tcs-black); }
.tcs-hub__tile .tcs-ico { width: clamp(16px, 1.8vw, 22px); height: clamp(16px, 1.8vw, 22px); color: var(--tcs-blue-dark); }


/* ---------- generated motion (build/build.py) ---------- */
@keyframes tcs-feed-1{0%,4%{opacity:0;transform:translateY(8px)}12%,100%{opacity:1;transform:none}}
@keyframes tcs-feed-2{0%,24%{opacity:0;transform:translateY(8px)}32%,100%{opacity:1;transform:none}}
@keyframes tcs-feed-3{0%,44%{opacity:0;transform:translateY(8px)}52%,100%{opacity:1;transform:none}}
@keyframes tcs-feed-4{0%,66%{opacity:0;transform:translateY(8px)}74%,100%{opacity:1;transform:none}}
@keyframes tcs-pip-1{0%,2%{background:var(--tcs-skel-blue);box-shadow:none}6%,16%{background:var(--tcs-blue-bright);box-shadow:0 0 0 4px rgba(30,144,255,.22)}22%,100%{background:var(--tcs-skel-blue);box-shadow:none}}
@keyframes tcs-pip-2{0%,18%{background:var(--tcs-skel-blue);box-shadow:none}22%,32%{background:var(--tcs-blue-bright);box-shadow:0 0 0 4px rgba(30,144,255,.22)}38%,100%{background:var(--tcs-skel-blue);box-shadow:none}}
@keyframes tcs-pip-3{0%,34%{background:var(--tcs-skel-blue);box-shadow:none}38%,48%{background:var(--tcs-blue-bright);box-shadow:0 0 0 4px rgba(30,144,255,.22)}54%,100%{background:var(--tcs-skel-blue);box-shadow:none}}
@keyframes tcs-pip-4{0%,50%{background:var(--tcs-skel-blue);box-shadow:none}54%,64%{background:var(--tcs-blue-bright);box-shadow:0 0 0 4px rgba(30,144,255,.22)}70%,100%{background:var(--tcs-skel-blue);box-shadow:none}}
@keyframes tcs-pip-5{0%,62%{background:var(--tcs-skel-blue);box-shadow:none}66%,76%{background:var(--tcs-blue-bright);box-shadow:0 0 0 4px rgba(30,144,255,.22)}82%,100%{background:var(--tcs-skel-blue);box-shadow:none}}
@keyframes tcs-pip-6{0%,78%{background:var(--tcs-skel-blue);box-shadow:none}82%,92%{background:var(--tcs-blue-bright);box-shadow:0 0 0 4px rgba(30,144,255,.22)}98%,100%{background:var(--tcs-skel-blue);box-shadow:none}}
@keyframes tcs-count-a{0%,70%{opacity:1}74%,100%{opacity:0}}
@keyframes tcs-count-b{0%,70%{opacity:0}74%,100%{opacity:1}}
@keyframes tcs-bump{0%,70%{transform:none}76%{transform:scale(1.1)}84%,100%{transform:none}}
@keyframes tcs-packet-1{0%,6%{opacity:0;transform:translateY(0)}10%{opacity:1;transform:translateY(0)}30%{opacity:1;transform:translateY(-22px)}36%,100%{opacity:0;transform:translateY(-22px)}}
@keyframes tcs-packet-2{0%,36%{opacity:0;transform:translateY(0)}40%{opacity:1;transform:translateY(0)}60%{opacity:1;transform:translateY(-22px)}66%,100%{opacity:0;transform:translateY(-22px)}}
@keyframes tcs-packet-3{0%,66%{opacity:0;transform:translateY(0)}70%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(-22px)}96%,100%{opacity:0;transform:translateY(-22px)}}
@keyframes tcs-seat-1{0%,0%{background:var(--tcs-surface)}4%,14%{background:var(--tcs-tint-2)}22%,100%{background:var(--tcs-surface)}}
@keyframes tcs-seat-2{0%,8%{background:var(--tcs-surface)}12%,22%{background:var(--tcs-tint-2)}30%,100%{background:var(--tcs-surface)}}
@keyframes tcs-seat-3{0%,30%{background:var(--tcs-surface)}34%,44%{background:var(--tcs-tint-2)}52%,100%{background:var(--tcs-surface)}}
@keyframes tcs-seat-4{0%,38%{background:var(--tcs-surface)}42%,52%{background:var(--tcs-tint-2)}60%,100%{background:var(--tcs-surface)}}
@keyframes tcs-seat-5{0%,60%{background:var(--tcs-surface)}64%,74%{background:var(--tcs-tint-2)}82%,100%{background:var(--tcs-surface)}}
@keyframes tcs-seat-6{0%,68%{background:var(--tcs-surface)}72%,82%{background:var(--tcs-tint-2)}90%,100%{background:var(--tcs-surface)}}
@keyframes tcs-icard-1{0%,2%{opacity:0;transform:translateY(14px)}10%,100%{opacity:1;transform:none}}
@keyframes tcs-icard-2{0%,16%{opacity:0;transform:translateY(14px)}24%,100%{opacity:1;transform:none}}
@keyframes tcs-icard-3{0%,30%{opacity:0;transform:translateY(14px)}38%,100%{opacity:1;transform:none}}
@keyframes tcs-stamp{0%,68%{opacity:0;transform:scale(.8)}76%,100%{opacity:1;transform:none}}
@keyframes tcs-dim{0%,68%{opacity:1}76%,100%{opacity:.45}}
@keyframes tcs-press{0%,58%{transform:none;box-shadow:none}64%{transform:scale(.94);box-shadow:0 0 0 4px rgba(30,144,255,.35)}70%,100%{transform:none;box-shadow:none}}
@keyframes tcs-ticket{0%,6%{left:0;opacity:0}12%{left:0;opacity:1}46%,100%{left:calc(100% - 32px);opacity:1}}
@keyframes tcs-track-1{0%,12%{background:var(--tcs-white);transform:scale(.85)}18%,100%{background:var(--tcs-blue);transform:none}}
@keyframes tcs-track-2{0%,44%{background:var(--tcs-white);transform:scale(.85)}50%,100%{background:var(--tcs-blue);transform:none}}
@keyframes tcs-track-3{0%,64%{background:var(--tcs-white);transform:scale(.85)}70%,100%{background:var(--tcs-blue);transform:none}}
@keyframes tcs-track-4{0%,84%{background:var(--tcs-white);transform:scale(.85)}90%,100%{background:var(--tcs-blue);transform:none}}
@keyframes tcs-trackline{0%,12%{transform:scaleX(0)}90%,100%{transform:scaleX(1)}}
@keyframes tcs-fill{0%,4%{transform:scaleX(0)}62%,100%{transform:scaleX(1)}}
@keyframes tcs-minifill-1{0%,10%{transform:scaleX(0)}50%,100%{transform:scaleX(1)}}
@keyframes tcs-minifill-2{0%,20%{transform:scaleX(0)}60%,100%{transform:scaleX(1)}}
@keyframes tcs-minifill-3{0%,30%{transform:scaleX(0)}70%,100%{transform:scaleX(1)}}
@keyframes tcs-cap{0%,60%{box-shadow:none}66%{box-shadow:0 0 0 6px rgba(30,144,255,.35)}76%,100%{box-shadow:none}}
@keyframes tcs-wallet{0%,72%{opacity:0;transform:translateY(10px)}80%,100%{opacity:1;transform:none}}
@keyframes tcs-ring{0%,6%{stroke-dashoffset:314.16}70%,100%{stroke-dashoffset:69}}
@keyframes tcs-goalsub-1{0%,50%{opacity:0;transform:translateY(6px)}58%,100%{opacity:1;transform:none}}
@keyframes tcs-goalsub-2{0%,70%{opacity:0;transform:translateY(6px)}78%,100%{opacity:1;transform:none}}
@keyframes tcs-mail-in{0%,2%{opacity:0;transform:translateY(8px)}10%,100%{opacity:1;transform:none}}
@keyframes tcs-mail-tag{0%,14%{opacity:0;transform:translateY(0px)}22%,100%{opacity:1;transform:none}}
@keyframes tcs-mail-out{0%,24%{opacity:0;transform:translateY(8px)}32%,100%{opacity:1;transform:none}}
@keyframes tcs-type-1{0%,30%{transform:scaleX(0)}37%,100%{transform:scaleX(1)}}
@keyframes tcs-type-2{0%,36%{transform:scaleX(0)}43%,100%{transform:scaleX(1)}}
@keyframes tcs-type-3{0%,42%{transform:scaleX(0)}49%,100%{transform:scaleX(1)}}
@keyframes tcs-mail-wait{0%,52%{opacity:0}56%,74%{opacity:1}78%,100%{opacity:0}}
@keyframes tcs-pop{0%{opacity:0;transform:scale(.9)}100%{opacity:1;transform:none}}
@keyframes tcs-mail-sent{0%,78%{opacity:0;transform:scale(.9)}86%,100%{opacity:1;transform:none}}
@keyframes tcs-q-1{0%,16%{opacity:1}20%,100%{opacity:0}}
@keyframes tcs-s-1{0%,16%{opacity:0;transform:scale(.85)}20%,100%{opacity:1;transform:none}}
@keyframes tcs-q-2{0%,32%{opacity:1}36%,100%{opacity:0}}
@keyframes tcs-s-2{0%,32%{opacity:0;transform:scale(.85)}36%,100%{opacity:1;transform:none}}
@keyframes tcs-q-3{0%,48%{opacity:1}52%,100%{opacity:0}}
@keyframes tcs-s-3{0%,48%{opacity:0;transform:scale(.85)}52%,100%{opacity:1;transform:none}}
@keyframes tcs-q-4{0%,64%{opacity:1}68%,100%{opacity:0}}
@keyframes tcs-s-4{0%,64%{opacity:0;transform:scale(.85)}68%,100%{opacity:1;transform:none}}
@keyframes tcs-q-5{0%,80%{opacity:1}84%,100%{opacity:0}}
@keyframes tcs-s-5{0%,80%{opacity:0;transform:scale(.85)}84%,100%{opacity:1;transform:none}}
@keyframes tcs-ptitle{0%,4%{transform:scaleX(0)}16%,100%{transform:scaleX(1)}}
@keyframes tcs-pline-1{0%,16%{transform:scaleX(0)}23%,100%{transform:scaleX(1)}}
@keyframes tcs-pline-2{0%,23%{transform:scaleX(0)}30%,100%{transform:scaleX(1)}}
@keyframes tcs-pline-3{0%,30%{transform:scaleX(0)}37%,100%{transform:scaleX(1)}}
@keyframes tcs-pline-4{0%,37%{transform:scaleX(0)}44%,100%{transform:scaleX(1)}}
@keyframes tcs-pline-5{0%,44%{transform:scaleX(0)}51%,100%{transform:scaleX(1)}}
@keyframes tcs-post-wait{0%,52%{opacity:0}56%,74%{opacity:1}78%,100%{opacity:0}}
@keyframes tcs-post-saved{0%,78%{opacity:0;transform:scale(.9)}86%,100%{opacity:1;transform:none}}
@keyframes tcs-bar-1{0%,8%{transform:scaleY(0)}22%,100%{transform:scaleY(1)}}
@keyframes tcs-bar-2{0%,14%{transform:scaleY(0)}28%,100%{transform:scaleY(1)}}
@keyframes tcs-bar-3{0%,20%{transform:scaleY(0)}34%,100%{transform:scaleY(1)}}
@keyframes tcs-bar-4{0%,26%{transform:scaleY(0)}40%,100%{transform:scaleY(1)}}
@keyframes tcs-bar-5{0%,32%{transform:scaleY(0)}46%,100%{transform:scaleY(1)}}
@keyframes tcs-bar-6{0%,38%{transform:scaleY(0)}52%,100%{transform:scaleY(1)}}
@keyframes tcs-bar-7{0%,44%{transform:scaleY(0)}58%,100%{transform:scaleY(1)}}
@keyframes tcs-sum-1{0%,58%{transform:scaleX(0)}64%,100%{transform:scaleX(1)}}
@keyframes tcs-sum-2{0%,64%{transform:scaleX(0)}70%,100%{transform:scaleX(1)}}
@keyframes tcs-sum-3{0%,70%{transform:scaleX(0)}76%,100%{transform:scaleX(1)}}
@keyframes tcs-sent{0%,82%{opacity:0;transform:translateY(0px)}90%,100%{opacity:1;transform:none}}
@keyframes tcs-b1{0%,2%{opacity:0;transform:translateY(8px)}10%,100%{opacity:1;transform:none}}
@keyframes tcs-typing{0%,16%{opacity:0;transform:scale(.9)}20%,44%{opacity:1;transform:none}48%,100%{opacity:0;transform:none}}
@keyframes tcs-dot{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-3px);opacity:1}}
@keyframes tcs-b2{0%,48%{opacity:0;transform:translateY(8px)}56%,100%{opacity:1;transform:none}}
@keyframes tcs-src{0%,70%{opacity:0;transform:translateY(0px)}78%,100%{opacity:1;transform:none}}
@keyframes tcs-countdown{0%{stroke-dashoffset:314.16}100%{stroke-dashoffset:0}}
@keyframes tcs-log-1{0%,40%{opacity:0;transform:translateY(6px)}48%,100%{opacity:1;transform:none}}
@keyframes tcs-log-2{0%,64%{opacity:0;transform:translateY(6px)}72%,100%{opacity:1;transform:none}}
@keyframes tcs-flow{to{stroke-dashoffset:-20}}
@keyframes tcs-halo{0%{opacity:.8;transform:scale(.9)}100%{opacity:0;transform:scale(1.25)}}
@keyframes tcs-tile-1{0%,4%{border-color:var(--tcs-line);transform:none}9%,16%{border-color:var(--tcs-blue-bright);transform:translateY(-2px)}22%,100%{border-color:var(--tcs-line);transform:none}}
@keyframes tcs-tile-2{0%,14%{border-color:var(--tcs-line);transform:none}19%,26%{border-color:var(--tcs-blue-bright);transform:translateY(-2px)}32%,100%{border-color:var(--tcs-line);transform:none}}
@keyframes tcs-tile-3{0%,24%{border-color:var(--tcs-line);transform:none}29%,36%{border-color:var(--tcs-blue-bright);transform:translateY(-2px)}42%,100%{border-color:var(--tcs-line);transform:none}}
@keyframes tcs-tile-4{0%,34%{border-color:var(--tcs-line);transform:none}39%,46%{border-color:var(--tcs-blue-bright);transform:translateY(-2px)}52%,100%{border-color:var(--tcs-line);transform:none}}
@keyframes tcs-tile-5{0%,44%{border-color:var(--tcs-line);transform:none}49%,56%{border-color:var(--tcs-blue-bright);transform:translateY(-2px)}62%,100%{border-color:var(--tcs-line);transform:none}}
@keyframes tcs-tile-6{0%,54%{border-color:var(--tcs-line);transform:none}59%,66%{border-color:var(--tcs-blue-bright);transform:translateY(-2px)}72%,100%{border-color:var(--tcs-line);transform:none}}
@keyframes tcs-tile-7{0%,64%{border-color:var(--tcs-line);transform:none}69%,76%{border-color:var(--tcs-blue-bright);transform:translateY(-2px)}82%,100%{border-color:var(--tcs-line);transform:none}}
@keyframes tcs-tile-8{0%,74%{border-color:var(--tcs-line);transform:none}79%,86%{border-color:var(--tcs-blue-bright);transform:translateY(-2px)}92%,100%{border-color:var(--tcs-line);transform:none}}
@keyframes tcs-ping{0%{opacity:.8;transform:scale(.6)}80%,100%{opacity:0;transform:scale(1.8)}}
/* animations exist only while a vignette is on screen; out of view it rests on the final frame */
.tcs-vis.is-playing .tcs-feed__item--1{animation:tcs-feed-1 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-feed__item--2{animation:tcs-feed-2 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-feed__item--3{animation:tcs-feed-3 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-feed__item--4{animation:tcs-feed-4 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-mini__seat--1 .tcs-mini__pip{animation:tcs-pip-1 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-mini__seat--2 .tcs-mini__pip{animation:tcs-pip-2 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-mini__seat--3 .tcs-mini__pip{animation:tcs-pip-3 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-mini__seat--4 .tcs-mini__pip{animation:tcs-pip-4 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-mini__seat--5 .tcs-mini__pip{animation:tcs-pip-5 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-mini__seat--6 .tcs-mini__pip{animation:tcs-pip-6 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-live__count-a{animation:tcs-count-a 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-live__count-b{animation:tcs-count-b 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-live__inbox{animation:tcs-bump 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-org__dept--1 .tcs-org__packet{animation:tcs-packet-1 4.8s ease-in-out 1 both}
.tcs-vis.is-playing .tcs-org__dept--2 .tcs-org__packet{animation:tcs-packet-2 4.8s ease-in-out 1 both}
.tcs-vis.is-playing .tcs-org__dept--3 .tcs-org__packet{animation:tcs-packet-3 4.8s ease-in-out 1 both}
.tcs-vis.is-playing .tcs-org__seat--1{animation:tcs-seat-1 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-org__seat--2{animation:tcs-seat-2 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-org__seat--3{animation:tcs-seat-3 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-org__seat--4{animation:tcs-seat-4 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-org__seat--5{animation:tcs-seat-5 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-org__seat--6{animation:tcs-seat-6 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-icard--1{animation:tcs-icard-1 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-icard--2{animation:tcs-icard-2 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-icard--3{animation:tcs-icard-3 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-icard--1 .tcs-icard__stamp{animation:tcs-stamp 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-icard--1 .tcs-icard__actions{animation:tcs-dim 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-icard--1 .tcs-mbtn--primary{animation:tcs-press 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-hand__ticket{animation:tcs-ticket 4.8s cubic-bezier(.6,0,.3,1) 1 both}
.tcs-vis.is-playing .tcs-track__step--1 .tcs-track__dot{animation:tcs-track-1 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-track__step--2 .tcs-track__dot{animation:tcs-track-2 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-track__step--3 .tcs-track__dot{animation:tcs-track-3 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-track__step--4 .tcs-track__dot{animation:tcs-track-4 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-track::before{animation:tcs-trackline 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-meter__fill{animation:tcs-fill 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-meter__minifill--1{animation:tcs-minifill-1 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-meter__minifill--2{animation:tcs-minifill-2 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-meter__minifill--3{animation:tcs-minifill-3 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-meter__cap{animation:tcs-cap 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-wallet{animation:tcs-wallet 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-goal__fg{animation:tcs-ring 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-goal__sub li:nth-child(1){animation:tcs-goalsub-1 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-goal__sub li:nth-child(2){animation:tcs-goalsub-2 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-mail--in{animation:tcs-mail-in 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-win--thread .tcs-pill--tag{animation:tcs-mail-tag 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-mail--out{animation:tcs-mail-out 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-mail--out .tcs-skel--1{animation:tcs-type-1 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-mail--out .tcs-skel--2{animation:tcs-type-2 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-mail--out .tcs-skel--3{animation:tcs-type-3 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-mail__wait{animation:tcs-mail-wait 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-mail__sent{animation:tcs-mail-sent 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-out__row--1 .tcs-out__queued{animation:tcs-q-1 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-out__row--1 .tcs-out__sent{animation:tcs-s-1 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-out__row--2 .tcs-out__queued{animation:tcs-q-2 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-out__row--2 .tcs-out__sent{animation:tcs-s-2 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-out__row--3 .tcs-out__queued{animation:tcs-q-3 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-out__row--3 .tcs-out__sent{animation:tcs-s-3 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-out__row--4 .tcs-out__queued{animation:tcs-q-4 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-out__row--4 .tcs-out__sent{animation:tcs-s-4 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-out__row--5 .tcs-out__queued{animation:tcs-q-5 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-out__row--5 .tcs-out__sent{animation:tcs-s-5 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-post__title{animation:tcs-ptitle 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-post .tcs-skel--1{animation:tcs-pline-1 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-post .tcs-skel--2{animation:tcs-pline-2 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-post .tcs-skel--3{animation:tcs-pline-3 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-post .tcs-skel--4{animation:tcs-pline-4 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-post .tcs-skel--5{animation:tcs-pline-5 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-post__wait{animation:tcs-post-wait 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-post__saved{animation:tcs-post-saved 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-chart__bar--1{animation:tcs-bar-1 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-chart__bar--2{animation:tcs-bar-2 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-chart__bar--3{animation:tcs-bar-3 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-chart__bar--4{animation:tcs-bar-4 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-chart__bar--5{animation:tcs-bar-5 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-chart__bar--6{animation:tcs-bar-6 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-chart__bar--7{animation:tcs-bar-7 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-report__sum .tcs-skel--1{animation:tcs-sum-1 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-report__sum .tcs-skel--2{animation:tcs-sum-2 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-report__sum .tcs-skel--3{animation:tcs-sum-3 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-report__sent{animation:tcs-sent 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-bubble--1{animation:tcs-b1 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-bubble--typing{animation:tcs-typing 4.8s linear 1 both}
.tcs-vis.is-playing .tcs-bubble--typing span:nth-child(1){animation:tcs-dot .8s ease-in-out 0s 3 both}
.tcs-vis.is-playing .tcs-bubble--typing span:nth-child(2){animation:tcs-dot .8s ease-in-out 0.15s 3 both}
.tcs-vis.is-playing .tcs-bubble--typing span:nth-child(3){animation:tcs-dot .8s ease-in-out 0.3s 3 both}
.tcs-vis.is-playing .tcs-bubble--2{animation:tcs-b2 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-chat__src{animation:tcs-src 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-support__fg{animation:tcs-countdown 4.8s cubic-bezier(.3,.7,.3,1) 1 both}
.tcs-vis.is-playing .tcs-support__log li:nth-child(1){animation:tcs-log-1 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-support__log li:nth-child(2){animation:tcs-log-2 4.8s var(--tcs-ease) 1 both}
.tcs-vis.is-playing .tcs-hub__line--1{animation:tcs-flow 1.6s linear -0.2s 3 both}
.tcs-vis.is-playing .tcs-hub__line--2{animation:tcs-flow 1.6s linear -0.4s 3 both}
.tcs-vis.is-playing .tcs-hub__line--3{animation:tcs-flow 1.6s linear -0.6s 3 both}
.tcs-vis.is-playing .tcs-hub__line--4{animation:tcs-flow 1.6s linear -0.8s 3 both}
.tcs-vis.is-playing .tcs-hub__line--5{animation:tcs-flow 1.6s linear -1.0s 3 both}
.tcs-vis.is-playing .tcs-hub__line--6{animation:tcs-flow 1.6s linear -1.2s 3 both}
.tcs-vis.is-playing .tcs-hub__line--7{animation:tcs-flow 1.6s linear -1.4s 3 both}
.tcs-vis.is-playing .tcs-hub__line--8{animation:tcs-flow 1.6s linear -1.6s 3 both}
.tcs-vis.is-playing .tcs-hub__core::before{animation:tcs-halo 1.6s ease-out 3 both}
.tcs-vis.is-playing .tcs-hub__node--1 .tcs-hub__tile{animation:tcs-tile-1 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-hub__node--2 .tcs-hub__tile{animation:tcs-tile-2 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-hub__node--3 .tcs-hub__tile{animation:tcs-tile-3 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-hub__node--4 .tcs-hub__tile{animation:tcs-tile-4 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-hub__node--5 .tcs-hub__tile{animation:tcs-tile-5 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-hub__node--6 .tcs-hub__tile{animation:tcs-tile-6 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-hub__node--7 .tcs-hub__tile{animation:tcs-tile-7 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-hub__node--8 .tcs-hub__tile{animation:tcs-tile-8 4.8s ease 1 both}
.tcs-vis.is-playing .tcs-livedot__dot::after{animation:tcs-ping 1.6s ease-out 3 both}
/* reduced motion: show the finished frame, no movement */
@media (prefers-reduced-motion: reduce){.tcs-vis *,.tcs-vis *::before,.tcs-vis *::after{animation:none !important;transition:none !important}.tcs-js .tcs-reveal{opacity:1;transform:none;transition:none}.tcs-wrap .tcs-btn,.tcs-wrap .tcs-card,.tcs-wrap .tcs-btn__icon,.tcs-wrap .tcs-link__icon{transition:none}}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
	.tcs-header .tcs-nav__list a { padding: 0 9px; font-size: 15px; }
	.tcs-header .tcs-nav { gap: 16px; }
	.tcs-header .tcs-nav__actions .tcs-link { display: none; }
}

@media (max-width: 1024px) {
	.tcs-hero,
	.tcs-split { grid-template-columns: minmax(0, 1fr); }
	.tcs-hero__visual { max-width: 680px; }
	.tcs-split--rev .tcs-split__copy,
	.tcs-split--rev .tcs-split__visual { order: 0; }
	.tcs-split__visual { max-width: 680px; width: 100%; }
	.tcs-grid--3,
	.tcs-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tcs-wrap .tcs-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tcs-wrap .tcs-steps--row::before { display: none; }
	.tcs-wrap .tcs-steps--stack { grid-template-columns: minmax(0, 1fr); }
	.tcs-wrap .tcs-cta { grid-template-columns: minmax(0, 1fr); }
	.tcs-footer .tcs-footer__top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tcs-footer .tcs-footer__brand { grid-column: 1 / -1; }
	.tcs-contact { grid-template-columns: minmax(0, 1fr); }
	.tcs-plans.tcs-grid--3 { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }

	/* header becomes a drawer */
	.tcs-header .tcs-header__toggle { display: grid; }
	.tcs-header .tcs-nav {
		position: fixed;
		inset: 72px 0 auto 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		max-height: calc(100dvh - 72px);
		overflow-y: auto;
		padding: 16px var(--tcs-gutter) 24px;
		border-bottom: 1px solid var(--tcs-line);
		background: var(--tcs-white);
		box-shadow: var(--tcs-shadow);
	}
	.tcs-header.is-open .tcs-nav { display: flex; }
	.tcs-header.is-open .tcs-header__open { display: none; }
	.tcs-header.is-open .tcs-header__close { display: block; }
	.tcs-header .tcs-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.tcs-header .tcs-nav__list a { display: flex; min-height: 52px; padding: 0 4px; font-size: 18px; border-bottom: 1px solid var(--tcs-line); border-radius: 0; }
	.tcs-header .tcs-nav__list .current-menu-item > a { box-shadow: inset 3px 0 0 var(--tcs-blue); padding-left: 14px; }
	.tcs-header .tcs-nav__actions { flex-direction: column; align-items: stretch; }
	.tcs-header .tcs-nav__actions .tcs-link { display: inline-flex; justify-content: center; }
	.tcs-header .tcs-btn { min-height: 52px; font-size: 16px; }
}

@media (max-width: 782px) {
	.admin-bar .elementor-location-header:has(.tcs-header) { top: 46px; }
}

@media (max-width: 767px) {
	.tcs-grid--2,
	.tcs-grid--3,
	.tcs-grid--4,
	.tcs-wrap .tcs-steps { grid-template-columns: minmax(0, 1fr); }
	.tcs-wrap .tcs-actions .tcs-btn { flex: 1 1 100%; }
	.tcs-wrap .tcs-faq__a p { padding-right: 4px; }
	.tcs-footer .tcs-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }

	/* table becomes stacked cards */
	.tcs-wrap .tcs-table { overflow: visible; border: 0; background: none; box-shadow: none; }
	.tcs-wrap .tcs-table table { min-width: 0; }
	.tcs-wrap .tcs-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.tcs-wrap .tcs-table tbody,
	.tcs-wrap .tcs-table tr { display: block; }
	.tcs-wrap .tcs-table tr { margin-bottom: 12px; border: 1px solid var(--tcs-line); border-radius: var(--tcs-radius); background: var(--tcs-white); overflow: hidden; }
	.tcs-wrap .tcs-table tbody th { display: block; width: auto; background: var(--tcs-surface); }
	.tcs-wrap .tcs-table td { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 12px; }
	.tcs-wrap .tcs-table td::before { content: attr(data-label); font-weight: 700; }
	.tcs-wrap .tcs-table tbody tr:last-child > * { border-bottom: 1px solid var(--tcs-line); }
	.tcs-wrap .tcs-table tr > *:last-child { border-bottom: 0; }

	/* vignettes: tighter */
	.tcs-live { grid-template-columns: minmax(0, 1fr); }
	.tcs-mini { display: none; }
	.tcs-org__depts { grid-template-columns: minmax(0, 1fr); gap: 12px; padding-top: 32px; }
	.tcs-org__depts::before,
	.tcs-org__line { display: none; }
	.tcs-org__depts::after { height: 32px; }
	.tcs-org__dept--2,
	.tcs-org__dept--3 { display: none; }
	.tcs-org__seats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tcs-terms { grid-template-columns: minmax(0, 1fr); }
	.tcs-hand { grid-template-columns: minmax(0, 1fr); justify-items: stretch; }
	.tcs-hand__path { height: 40px; }
	.tcs-hand__path::before { left: 50%; right: auto; top: 0; bottom: 0; border-top: 0; border-left: 2px dashed var(--tcs-line-strong); }
	.tcs-hand__ticket { left: calc(50% - 16px) !important; top: 4px; }
	.tcs-track__step { font-size: 11px; }
	.tcs-goal,
	.tcs-support { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
	.tcs-goal__sub { justify-content: center; }
	.tcs-goal__sub li { justify-content: center; }
	.tcs-mail--in { margin-right: 16px; }
	.tcs-mail--out { margin-left: 16px; }
	.tcs-hub { aspect-ratio: 100 / 100; }
	.tcs-hub__node { width: 27%; }
	.tcs-hub__tile span { overflow-wrap: anywhere; }
}

@media (max-width: 420px) {
	.tcs-tabs li:nth-child(n+3) { display: none; }
	.tcs-footer .tcs-footer__top { grid-template-columns: minmax(0, 1fr); }
}
