/* Phase 42: homepage body surface parity - the translucent sticky header (navy/88 + blur)
   composites against the page background at scrollY=0; it must be navy, not the default white. */
body.page-id-18 { background-color: #050d1a; }

/* TTS Homepage sections - exact reproduction of the approved Vercel homepage.
   Scoped with doubled class selectors for specificity over theme/Elementor resets. */

/* Approved-site parity: globals.css sets overflow-x: clip on body (masks decorative orbs/glows) */
body { overflow-x: clip; }

/* ---------- shared ---------- */
.tts-home.tts-home {
	--h-brand-50: #fef2f2;
	--h-brand-100: #fde4e4;
	--h-brand-200: #fbcdce;
	--h-brand-300: #f7a5a6;
	--h-brand-400: #f07072;
	--h-brand-500: #e81f22;
	--h-brand-600: #c91619;
	--h-brand-700: #a61316;
	--h-navy-50: #f2f6fa;
	--h-navy-100: #e2ebf3;
	--h-navy-200: #c5d7e7;
	--h-navy-300: #97b9d3;
	--h-navy-400: #6294ba;
	--h-navy-500: #3f77a1;
	--h-navy-800: #102844;
	--h-navy-900: #0c2038;
	--h-navy-950: #071527;
	--h-line: #e2e8f0;
	--h-mist: #f5f7fa;
	--h-slate-400: #94a3b8;
	--h-slate-500: #64748b;
	--h-slate-600: #475569;
	--h-slate-700: #334155;
	--h-card-shadow: 0 1px 2px rgb(16 40 68 / 0.05), 0 12px 32px -16px rgb(16 40 68 / 0.18);
	--h-lift-shadow: 0 2px 4px rgb(16 40 68 / 0.06), 0 28px 56px -24px rgb(16 40 68 / 0.35);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	color: #222222;
}
.tts-home.tts-home *,
.tts-home.tts-home *::before,
.tts-home.tts-home *::after {
	box-sizing: border-box;
}
/* Approved-site parity: Tailwind preflight keeps native buttons inheriting typography and wrapping normally.
   Without this, the Hello theme's `button{white-space:nowrap}` cascades into our controls (FAQ wrap, tab labels). */
.tts-home.tts-home button,
.tts-home.tts-home input,
.tts-home.tts-home select,
.tts-home.tts-home textarea {
	font-family: inherit;
	letter-spacing: inherit;
	white-space: normal;
}
.tts-home.tts-home .tts-shell {
	margin-inline: auto;
	width: 100%;
	max-width: 80rem;
	padding-inline: 1rem;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-shell { padding-inline: 1.5rem; }
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-shell { padding-inline: 2rem; }
}
.tts-home.tts-home .tts-df {
	font-family: Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
	letter-spacing: -0.02em;
}
/* Approved globals.css parity: all headings use the display font */
.tts-home.tts-home h1,
.tts-home.tts-home h2,
.tts-home.tts-home h3,
.tts-home.tts-home h4,
.tts-home.tts-home h5 {
	font-family: Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
	letter-spacing: -0.02em;
}
.tts-home.tts-home .tts-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.tts-home.tts-home .tts-grid-navy {
	background-image:
		linear-gradient(rgb(255 255 255 / 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgb(255 255 255 / 0.045) 1px, transparent 1px);
	background-size: 44px 44px;
}

/* reveal */
.tts-home.tts-home .tts-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.tts-home.tts-home .tts-reveal--in {
	opacity: 1;
	transform: translateY(0);
}
@keyframes tts-hero-rise {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes tts-float-soft {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}
.tts-home.tts-home .tts-rise {
	animation: tts-hero-rise 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.tts-home.tts-home .tts-rise-1 { animation-delay: 0.12s; }
.tts-home.tts-home .tts-rise-2 { animation-delay: 0.24s; }
.tts-home.tts-home .tts-rise-3 { animation-delay: 0.36s; }
.tts-home.tts-home .tts-float {
	animation: tts-float-soft 7s ease-in-out infinite;
}

/* buttons (mirror of the approved Button component) */
.tts-home.tts-home .tts-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border-radius: 0.5rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: all 0.2s;
	cursor: pointer;
}
.tts-home.tts-home .tts-btn svg { flex: none; width: 1.25rem; height: 1.25rem; }
.tts-home.tts-home .tts-btn--sm { height: 2.5rem; padding: 0 1rem; font-size: 0.875rem; line-height: 1.25rem; }
.tts-home.tts-home .tts-btn--md { height: 2.75rem; padding: 0 1.25rem; font-size: 0.875rem; line-height: 1.25rem; }
.tts-home.tts-home .tts-btn--lg { height: 3rem; padding: 0 1.5rem; font-size: 1rem; line-height: 1.5rem; }
.tts-home.tts-home .tts-btn--rounded { border-radius: 0.75rem; }
.tts-home.tts-home .tts-btn--primary {
	background: #e81f22;
	color: #fff;
	box-shadow: 0 10px 30px -12px rgba(232, 31, 34, 0.55);
}
.tts-home.tts-home .tts-btn--primary:hover {
	background: #c91619;
	box-shadow: 0 16px 36px -14px rgba(232, 31, 34, 0.65);
}
.tts-home.tts-home .tts-btn--white { background: #fff; color: #0c2038; }
.tts-home.tts-home .tts-btn--white:hover { background: #f2f6fa; }
.tts-home.tts-home .tts-btn--outline { border: 1px solid #c5d7e7; background: #fff; color: #102844; }
.tts-home.tts-home .tts-btn--outline:hover { border-color: #102844; background: #f2f6fa; }
.tts-home.tts-home .tts-btn--outlineWhite { border: 1px solid rgba(255, 255, 255, 0.3); color: #fff; }
.tts-home.tts-home .tts-btn--outlineWhite:hover { border-color: rgba(255, 255, 255, 0.6); background: rgba(255, 255, 255, 0.1); }
.tts-home.tts-home .tts-btn--navy { background: #102844; color: #fff; }
.tts-home.tts-home .tts-btn--navy:hover { background: #274c6d; }
.tts-home.tts-home a.tts-btn:focus-visible {
	outline: 2px solid #e81f22;
	outline-offset: 2px;
}
.tts-home.tts-home .tts-btn .tts-btn-arr { transition: transform 0.2s; }
.tts-home.tts-home .tts-btn:hover .tts-btn-arr { transform: translateX(0.125rem); }

/* section heading (mirror of SectionHeading) */
.tts-home.tts-home .tts-sh {
	display: flex;
	max-width: 48rem;
	flex-direction: column;
	gap: 0.75rem;
	align-items: flex-start;
	text-align: left;
	min-width: 0;
	width: 100%;
}
.tts-home.tts-home .tts-sh--center { align-items: center; text-align: center; }
.tts-home.tts-home .tts-sh__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #c91619;
}
.tts-home.tts-home .tts-sh--dark .tts-sh__eyebrow { color: #f7a5a6; }
.tts-home.tts-home .tts-sh__eyebrow::before {
	content: "";
	height: 1px;
	width: 1.5rem;
	flex: none;
	background: currentColor;
}
.tts-home.tts-home .tts-sh__title {
	margin: 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #0c2038;
	text-wrap: balance;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-sh__title { font-size: 2.25rem; line-height: 1.25; }
}
.tts-home.tts-home .tts-sh--dark .tts-sh__title { color: #fff; }
.tts-home.tts-home .tts-sh__desc {
	margin: 0;
	font-size: 1rem;
	line-height: 1.625;
	color: #475569;
}
.tts-home.tts-home .tts-sh--dark .tts-sh__desc { color: rgba(226, 235, 243, 0.8); }

/* text link with arrow */
.tts-home.tts-home .tts-tlink {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.25rem;
	color: #c91619;
	text-decoration: none;
	transition: color 0.2s;
}
.tts-home.tts-home .tts-tlink:hover { color: #a61316; }
.tts-home.tts-home .tts-tlink svg { width: 1rem; height: 1rem; flex: none; transition: transform 0.2s; }
.tts-home.tts-home .tts-tlink:hover svg { transform: translateX(0.25rem); }

/* ---------- 1. Hero ---------- */
.tts-home.tts-home.tts-hero {
	position: relative;
	overflow: hidden;
	background: #071527;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.tts-home.tts-home .tts-hero__bg {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to bottom right, #071527, #0c2038, #102844);
}
.tts-home.tts-home .tts-hero__grid {
	position: absolute;
	inset: 0;
	opacity: 0.6;
}
.tts-home.tts-home .tts-hero__orb1 {
	position: absolute;
	left: -10rem;
	top: 2rem;
	height: 28rem;
	width: 28rem;
	border-radius: 9999px;
	background: rgba(232, 31, 34, 0.15);
	filter: blur(64px);
}
.tts-home.tts-home .tts-hero__orb2 {
	position: absolute;
	bottom: -12rem;
	right: 33.3333%;
	height: 26rem;
	width: 26rem;
	border-radius: 9999px;
	background: rgba(63, 119, 161, 0.2);
	filter: blur(64px);
}
.tts-home.tts-home .tts-hero__inner {
	position: relative;
	display: grid;
	align-items: center;
	gap: 3.5rem;
	padding-block: 3.5rem 4rem;
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-hero__inner {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: 2rem;
		padding-block: 5rem 6rem;
	}
	.tts-home.tts-home .tts-hero__left { grid-column: span 6 / span 6; }
	.tts-home.tts-home .tts-hero__right { grid-column: span 6 / span 6; }
}
.tts-home.tts-home .tts-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	border-radius: 9999px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
	padding: 0.375rem 1rem;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #e2ebf3;
	backdrop-filter: blur(8px);
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-hero__badge { font-size: 11px; letter-spacing: 0.2em; }
}
.tts-home.tts-home .tts-hero__badge svg {
	width: 1rem;
	height: 1rem;
	color: #f07072;
	flex: none;
}
.tts-home.tts-home .tts-hero__h1 {
	margin: 1.75rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 2.6rem;
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.03em;
	color: #fff;
	text-wrap: balance;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-hero__h1 { font-size: 3.75rem; }
}
@media (min-width: 1280px) {
	.tts-home.tts-home .tts-hero__h1 { font-size: 4.4rem; }
}
.tts-home.tts-home .tts-hero__h1 span { color: #e81f22; }
.tts-home.tts-home .tts-hero__tag {
	margin: 1.5rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.75rem;
	letter-spacing: -0.025em;
	color: #fff;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-hero__tag { font-size: 1.5rem; line-height: 2rem; }
}
.tts-home.tts-home .tts-hero__sub {
	margin: 1rem 0 0;
	max-width: 36rem;
	font-size: 1rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.75);
}
.tts-home.tts-home .tts-hero__actions {
	margin-top: 2.25rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}
.tts-home.tts-home .tts-hero__stats {
	margin: 2.75rem 0 0;
	display: grid;
	max-width: 32rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 1.75rem;
}
.tts-home.tts-home .tts-hero__stat { padding-right: 1.25rem; }
.tts-home.tts-home .tts-hero__stat + .tts-home.tts-home .tts-hero__stat { }
.tts-home.tts-home .tts-hero__stat:nth-child(2) { border-left: 1px solid rgba(255, 255, 255, 0.1); padding: 0 1.25rem; }
.tts-home.tts-home .tts-hero__stat:nth-child(3) { border-left: 1px solid rgba(255, 255, 255, 0.1); padding: 0 0 0 1.25rem; }
.tts-home.tts-home .tts-hero__stat dd {
	margin: 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 2rem;
	color: #fff;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-hero__stat dd { font-size: 1.875rem; line-height: 2.25rem; }
}
.tts-home.tts-home .tts-hero__stat dt {
	margin-top: 0.25rem;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba(226, 235, 243, 0.55);
}
.tts-home.tts-home .tts-hero__visual {
	position: relative;
	margin-inline: auto;
	max-width: 28rem;
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-hero__visual { margin-left: auto; margin-right: 0; max-width: 34rem; }
}
.tts-home.tts-home .tts-hero__glow {
	position: absolute;
	inset: -2rem;
	border-radius: 3rem;
	background-image: linear-gradient(to bottom right, rgba(232, 31, 34, 0.2), transparent, rgba(98, 148, 186, 0.15));
	filter: blur(40px);
}
.tts-home.tts-home .tts-hero__card {
	position: relative;
	overflow: hidden;
	border-radius: 1.75rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: #061527;
	padding: 1.25rem;
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-hero__card { padding: 1.75rem; }
}
/* technology layers (Rev05 contrast treatment) */
.tts-home.tts-home .tts-hero__fx {
	position: absolute;
	inset: 0;
	opacity: 0.45;
	pointer-events: none;
}
.tts-home.tts-home .tts-hero__orb-a {
	position: absolute;
	left: -5rem;
	top: -6rem;
	height: 18rem;
	width: 18rem;
	border-radius: 9999px;
	background: rgba(232, 31, 34, 0.25);
	filter: blur(64px);
	pointer-events: none;
}
.tts-home.tts-home .tts-hero__orb-b {
	position: absolute;
	right: -5rem;
	bottom: -7rem;
	height: 18rem;
	width: 18rem;
	border-radius: 9999px;
	background: rgba(63, 119, 161, 0.25);
	filter: blur(64px);
	pointer-events: none;
}
.tts-home.tts-home .tts-hero__spotlight {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(60% 48% at 50% 38%, rgba(208, 228, 255, 0.19), transparent 70%);
	pointer-events: none;
}
.tts-home.tts-home .tts-hero__vignette {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(135% 105% at 50% -10%, transparent 42%, rgba(2, 8, 18, 0.72) 100%);
	pointer-events: none;
}
.tts-home.tts-home .tts-hero__rings {
	position: absolute;
	left: 50%;
	top: 44%;
	height: 18rem;
	width: 18rem;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-hero__rings { height: 20rem; width: 20rem; }
}
.tts-home.tts-home .tts-hero__rings span {
	position: absolute;
	border-radius: 9999px;
}
.tts-home.tts-home .tts-hero__rings span:nth-child(1) { inset: 0; border: 1px solid rgba(255, 255, 255, 0.08); }
.tts-home.tts-home .tts-hero__rings span:nth-child(2) { inset: 2rem; border: 1px solid rgba(255, 255, 255, 0.06); }
.tts-home.tts-home .tts-hero__rings span:nth-child(3) { inset: 4rem; border: 1px solid rgba(232, 31, 34, 0.2); }

.tts-home.tts-home .tts-hero__flags {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}
.tts-home.tts-home .tts-hero__pill {
	position: static;
	border-radius: 9999px;
	background: #e81f22;
	padding: 0.25rem 0.75rem;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: #fff;
	box-shadow: 0 18px 40px -18px rgba(232, 31, 34, 0.8);
}
.tts-home.tts-home .tts-hero__cond {
	border-radius: 9999px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.06);
	padding: 0.25rem 0.75rem;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: #e2ebf3;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.tts-home.tts-home .tts-hero__imgwrap {
	position: relative;
	margin-inline: auto;
	margin-top: 0.5rem;
	aspect-ratio: 1 / 1;
	width: 100%;
	max-width: 21rem;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-hero__imgwrap { max-width: 23rem; }
}
.tts-home.tts-home .tts-hero__pool1 {
	position: absolute;
	left: 2rem;
	right: 2rem;
	bottom: 0.75rem;
	height: 4rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.18);
	filter: blur(40px);
	pointer-events: none;
}
.tts-home.tts-home .tts-hero__pool2 {
	position: absolute;
	left: 3.5rem;
	right: 3.5rem;
	bottom: 2rem;
	height: 2rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.12);
	filter: blur(24px);
	pointer-events: none;
}
.tts-home.tts-home .tts-hero__imgwrap img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	filter: contrast(1.06) saturate(1.05) drop-shadow(0 36px 55px rgba(0, 0, 0, 0.7));
}
.tts-home.tts-home .tts-hero__strip {
	position: relative;
	margin-top: 0.5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.045);
	padding: 1rem 1.25rem;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.tts-home.tts-home .tts-hero__strip-text { min-width: 0; }
.tts-home.tts-home .tts-hero__name {
	margin: 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.375;
	color: #fff;
}
.tts-home.tts-home .tts-hero__sub2 {
	margin: 0.125rem 0 0;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1rem;
	color: rgba(226, 235, 243, 0.65);
}
.tts-home.tts-home .tts-hero__specs {
	position: relative;
	margin: 0.75rem 0 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.03);
	padding-block: 0.75rem;
	text-align: center;
}
.tts-home.tts-home .tts-hero__spec:nth-child(2) { border-left: 1px solid rgba(255, 255, 255, 0.1); }
.tts-home.tts-home .tts-hero__spec:nth-child(3) { border-left: 1px solid rgba(255, 255, 255, 0.1); }
.tts-home.tts-home .tts-hero__spec dt {
	font-size: 10px;
	font-weight: 600;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: rgba(226, 235, 243, 0.55);
}
.tts-home.tts-home .tts-hero__spec dd {
	margin: 0.125rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.25rem;
	color: #fff;
}
.tts-home.tts-home .tts-hero__chip {
	position: absolute;
	display: none;
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(7, 21, 39, 0.85);
	padding: 0.625rem 1rem;
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-hero__chip { display: block; }
}
.tts-home.tts-home .tts-hero__chip--1 { left: -1.25rem; top: 7rem; }
.tts-home.tts-home .tts-hero__chip--2 { right: -1rem; top: 9rem; }
.tts-home.tts-home .tts-hero__chip p {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	color: #fff;
}
.tts-home.tts-home .tts-hero__chip svg { width: 1rem; height: 1rem; color: #f07072; }

/* ---------- 2. Trust bar ---------- */
.tts-home.tts-home.tts-tbar {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background-color: var(--tts-secbg, #071527);
}
.tts-home.tts-home .tts-tbar__grid {
	display: grid;
	gap: 0.5rem;
	padding-block: 1.75rem;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-tbar__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
	.tts-home.tts-home .tts-tbar__item:nth-child(2),
	.tts-home.tts-home .tts-tbar__item:nth-child(3) { border-left: 1px solid rgba(255, 255, 255, 0.1); }
}
.tts-home.tts-home .tts-tbar__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 0.75rem 1.5rem;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-tbar__item { padding-block: 0.25rem; }
}
.tts-home.tts-home .tts-tbar__img {
	position: relative;
	height: 3.5rem;
	width: 6rem;
	flex-shrink: 0;
	border-radius: 0.75rem;
	background: #fff;
	padding: 0.5rem;
	box-shadow: 0 14px 34px -20px rgba(0, 0, 0, 0.9);
}
.tts-home.tts-home .tts-tbar__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.tts-home.tts-home .tts-tbar__name { margin: 0; font-size: 0.875rem; font-weight: 700; line-height: 1.25rem; color: #fff; }
.tts-home.tts-home .tts-tbar__note { margin: 0; font-size: 0.75rem; line-height: 1.375; color: rgba(226, 235, 243, 0.6); }

/* ---------- 2b. Xerox statement ---------- */
.tts-home.tts-home.tts-xerox {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: #071527;
	padding-block: 5rem;
}
@media (min-width: 640px) {
	.tts-home.tts-home.tts-xerox { padding-block: 7rem; }
}
.tts-home.tts-home .tts-xerox__bg {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to bottom right, #071527, #0c2038, #102844);
}
.tts-home.tts-home .tts-xerox__grid { position: absolute; inset: 0; opacity: 0.5; }
.tts-home.tts-home .tts-xerox__orb {
	position: absolute;
	right: -8rem;
	top: -6rem;
	height: 20rem;
	width: 20rem;
	border-radius: 9999px;
	background: rgba(232, 31, 34, 0.2);
	filter: blur(64px);
}
.tts-home.tts-home .tts-xerox__inner { position: relative; }
.tts-home.tts-home .tts-xerox__eyebrow {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.24em;
	color: #f7a5a6;
}
.tts-home.tts-home .tts-xerox__h1 {
	margin: 1.25rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-weight: 800;
	font-size: clamp(3.5rem, 12vw, 9rem);
	line-height: 0.9;
	letter-spacing: -0.03em;
	color: #fff;
}
.tts-home.tts-home .tts-xerox__h1 span { color: #e81f22; }
.tts-home.tts-home .tts-xerox__h2 {
	margin: 0.75rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #e2ebf3;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-xerox__h2 { font-size: 2.25rem; line-height: 2.5rem; }
}
.tts-home.tts-home .tts-xerox__h2 span { color: #f07072; }
.tts-home.tts-home .tts-xerox__sub {
	margin: 1.75rem 0 0;
	max-width: 42rem;
	font-size: 1rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.8);
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-xerox__sub { font-size: 1.125rem; }
}
.tts-home.tts-home .tts-xerox__actions {
	margin-top: 2.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.tts-home.tts-home .tts-xerox__pillars {
	margin: 3rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 1.25rem;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-xerox__pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.tts-home.tts-home .tts-xerox__pillar {
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
	padding: 1.5rem;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.tts-home.tts-home .tts-xerox__tile {
	display: inline-flex;
	height: 2.75rem;
	width: 2.75rem;
	align-items: center;
	justify-content: center;
	border-radius: 0.75rem;
	background: rgba(232, 31, 34, 0.15);
	color: #f07072;
}
.tts-home.tts-home .tts-xerox__tile svg { width: 1.25rem; height: 1.25rem; }
.tts-home.tts-home .tts-xerox__ptitle {
	margin: 1rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5rem;
	color: #fff;
}
.tts-home.tts-home .tts-xerox__ptext {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.75);
}
.tts-home.tts-home .tts-xerox__note {
	margin: 2rem 0 0;
	font-size: 0.75rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.5);
}

/* ---------- 3. Solutions ---------- */
.tts-home.tts-home.tts-sol {
	padding-block: 5rem;
	background-color: var(--tts-secbg, #050d1a);
	background-image:
		radial-gradient(70rem 40rem at 88% -12%, rgba(232, 31, 34, 0.07), transparent 62%),
		radial-gradient(60rem 34rem at -12% 108%, rgba(46, 94, 134, 0.16), transparent 60%),
		linear-gradient(180deg, #081a30 0%, #050d1a 100%);
}
@media (min-width: 640px) { .tts-home.tts-home.tts-sol { padding-block: 6rem; } }
.tts-home.tts-home .tts-sol__top {
	display: grid;
	gap: 2.5rem;
}
.tts-home.tts-home .tts-sol__head { min-width: 0; }
.tts-home.tts-home .tts-sol__tabs { min-width: 0; }
.tts-home.tts-home .tts-why__left,
.tts-home.tts-home .tts-why__right,
.tts-home.tts-home .tts-faq__left,
.tts-home.tts-home .tts-faq__right { min-width: 0; }
.tts-home.tts-home .tts-about__inner > *,
.tts-home.tts-home .tts-sust__inner > *,
.tts-home.tts-home .tts-vid__inner > *,
.tts-home.tts-home .tts-rbld__inner > *,
.tts-home.tts-home .tts-cta-band__grid > * { min-width: 0; }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-sol__top { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3.5rem; }
	.tts-home.tts-home .tts-sol__head { grid-column: span 5 / span 5; }
	.tts-home.tts-home .tts-sol__tabs { grid-column: span 7 / span 7; min-width: 0; }
}
.tts-home.tts-home .tts-sol__tablist {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	padding-bottom: 0.5rem;
	margin-inline: -1rem;
	padding-inline: 1rem;
	width: calc(100% + 2rem);
	scroll-snap-type: x mandatory;
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-sol__tablist {
		flex-direction: column;
		gap: 0.625rem;
		overflow: visible;
		margin-inline: 0;
		padding: 0;
		width: 100%;
	}
}
.tts-home.tts-home .tts-sol__tab {
	display: flex;
	width: 14rem;
	flex-shrink: 0;
	scroll-snap-align: start;
	align-items: center;
	gap: 1rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.03);
	padding: 1rem;
	text-align: left;
	color: #fff;
	transition: all 0.3s;
	cursor: pointer;
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-sol__tab { width: 100%; flex-shrink: 1; }
}
.tts-home.tts-home .tts-sol__tab:hover { border-color: rgba(255, 255, 255, 0.25); background: rgba(255, 255, 255, 0.06); }
.tts-home.tts-home .tts-sol__tab.is-active {
	border-color: rgba(232, 31, 34, 0.6);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
}
.tts-home.tts-home .tts-sol__idx {
	font-family: Manrope, Inter, sans-serif;
	font-size: 0.75rem;
	font-weight: 800;
	line-height: 1rem;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.35);
}
.tts-home.tts-home .tts-sol__tab.is-active .tts-sol__idx { color: #f07072; }
.tts-home.tts-home .tts-sol__tab-body { min-width: 0; flex: 1; }
.tts-home.tts-home .tts-sol__tab-title {
	display: block;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.25;
}
.tts-home.tts-home .tts-sol__tab-label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba(255, 255, 255, 0.45);
	transition: color 0.15s;
}
.tts-home.tts-home .tts-sol__tab:hover .tts-sol__tab-label { color: #f7a5a6; }
.tts-home.tts-home .tts-sol__tab.is-active .tts-sol__tab-label { color: rgba(226, 235, 243, 0.7); }
.tts-home.tts-home .tts-sol__arr {
	width: 1.125rem;
	height: 1.125rem;
	flex: none;
	transform: translateX(-0.25rem);
	opacity: 0;
	transition: all 0.3s;
}
.tts-home.tts-home .tts-sol__tab.is-active .tts-sol__arr { transform: translateX(0); opacity: 1; color: #f07072; }
.tts-home.tts-home .tts-sol__panels { margin-top: 2rem; }
@media (min-width: 1024px) { .tts-home.tts-home .tts-sol__panels { margin-top: 2.5rem; } }
.tts-home.tts-home .tts-sol__panel[hidden] { display: none; }
.tts-home.tts-home .tts-sol__card {
	display: grid;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(12, 32, 56, 0.6);
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-sol__card { grid-template-columns: repeat(12, minmax(0, 1fr)); }
}
.tts-home.tts-home .tts-sol__body { display: flex; flex-direction: column; padding: 1.75rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-sol__body { padding: 2.5rem; } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-sol__body { grid-column: span 7 / span 7; } }
.tts-home.tts-home .tts-sol__icon {
	display: grid;
	place-items: center;
	height: 3rem;
	width: 3rem;
	border-radius: 0.75rem;
	background: rgba(232, 31, 34, 0.15);
	color: #f07072;
}
.tts-home.tts-home .tts-sol__icon svg { width: 1.5rem; height: 1.5rem; }
.tts-home.tts-home .tts-sol__h3 {
	margin: 1.25rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 2rem;
	color: #fff;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-sol__h3 { font-size: 1.875rem; line-height: 2.25rem; } }
.tts-home.tts-home .tts-sol__h3 span { color: #f07072; }
.tts-home.tts-home .tts-sol__desc {
	margin: 0.75rem 0 0;
	max-width: 36rem;
	font-size: 1rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.75);
}
.tts-home.tts-home .tts-sol__points {
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.tts-home.tts-home .tts-sol__point {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.25rem;
	color: rgba(226, 235, 243, 0.9);
}
.tts-home.tts-home .tts-sol__check {
	margin-top: 0.125rem;
	display: grid;
	place-items: center;
	height: 1.25rem;
	width: 1.25rem;
	flex: none;
	border-radius: 9999px;
	background: rgba(232, 31, 34, 0.15);
	color: #f07072;
}
.tts-home.tts-home .tts-sol__check svg { width: 0.75rem; height: 0.75rem; }
.tts-home.tts-home .tts-sol__cta { margin-top: 2rem; }
.tts-home.tts-home .tts-sol__media { position: relative; min-height: 240px; }
@media (min-width: 1024px) { .tts-home.tts-home .tts-sol__media { grid-column: span 5 / span 5; } }
.tts-home.tts-home .tts-sol__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.tts-home.tts-home .tts-sol__media--contain img { object-fit: contain; padding: 2.5rem; }
.tts-home.tts-home .tts-sol__media--cover img { object-fit: cover; }
.tts-home.tts-home .tts-sol__media-overlay {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to top, rgba(7, 21, 39, 0.4), transparent);
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-sol__media-overlay {
		background-image: linear-gradient(to right, rgba(7, 21, 39, 0.8), rgba(7, 21, 39, 0.2), transparent);
	}
}

/* ---------- 4. About ---------- */
.tts-home.tts-home.tts-about {
	border-block: 1px solid rgba(255, 255, 255, 0.06);
	background-color: var(--tts-secbg, #050d1a);
	background-image:
		radial-gradient(70rem 40rem at 88% -12%, rgba(232, 31, 34, 0.07), transparent 62%),
		radial-gradient(60rem 34rem at -12% 108%, rgba(46, 94, 134, 0.16), transparent 60%),
		linear-gradient(180deg, #081a30 0%, #050d1a 100%);
}
.tts-home.tts-home .tts-about__inner {
	display: grid;
	align-items: center;
	gap: 3rem;
	padding-block: 5rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-about__inner { padding-block: 6rem; } }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-about__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; }
}
.tts-home.tts-home .tts-about__media { position: relative; }
.tts-home.tts-home .tts-about__frame {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: #0c2038;
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
}
.tts-home.tts-home .tts-about__frame img { width: 100%; height: 100%; object-fit: cover; }
.tts-home.tts-home .tts-about__stat {
	position: absolute;
	bottom: -1.5rem;
	right: -1rem;
	display: none;
	max-width: 220px;
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(7, 21, 39, 0.95);
	padding: 1.25rem;
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
@media (min-width: 640px) { .tts-home.tts-home .tts-about__stat { display: block; } }
.tts-home.tts-home .tts-about__stat-num {
	margin: 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 2.25rem;
	color: #f07072;
}
.tts-home.tts-home .tts-about__stat-txt {
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.7);
}
.tts-home.tts-home .tts-about__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #f07072;
}
.tts-home.tts-home .tts-about__eyebrow::before {
	content: "";
	height: 1px;
	width: 1.5rem;
	background: currentColor;
}
.tts-home.tts-home .tts-about__h2 {
	margin: 0.75rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #fff;
	text-wrap: balance;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-about__h2 { font-size: 2.25rem; line-height: 1.25; } }
.tts-home.tts-home .tts-about__p {
	margin: 1.25rem 0 0;
	font-size: 1rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.75);
}
.tts-home.tts-home .tts-about__facts {
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.75rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-about__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-about__fact {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	font-size: 0.875rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.85);
}
.tts-home.tts-home .tts-about__fact svg {
	margin-top: 0.125rem;
	width: 1.125rem;
	height: 1.125rem;
	flex: none;
	color: #f07072;
}
.tts-home.tts-home .tts-about__link { margin-top: 2rem; }
.tts-home.tts-home.tts-about .tts-tlink { color: #f07072; }
.tts-home.tts-home.tts-about .tts-tlink:hover { color: #f7a5a6; }

/* ---------- 5. Rebuild ---------- */
.tts-home.tts-home.tts-rbld {
	position: relative;
	overflow: hidden;
	background: #0c2038;
}
.tts-home.tts-home .tts-rbld__grid { position: absolute; inset: 0; opacity: 0.6; }
.tts-home.tts-home .tts-rbld__orb {
	position: absolute;
	right: -8rem;
	top: 0;
	height: 24rem;
	width: 24rem;
	border-radius: 9999px;
	background: rgba(232, 31, 34, 0.15);
	filter: blur(64px);
}
.tts-home.tts-home .tts-rbld__inner {
	position: relative;
	display: grid;
	align-items: center;
	gap: 3rem;
	padding-block: 5rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-rbld__inner { padding-block: 6rem; } }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-rbld__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; }
}
.tts-home.tts-home .tts-rbld__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #f7a5a6;
}
.tts-home.tts-home .tts-rbld__eyebrow svg { width: 1rem; height: 1rem; }
.tts-home.tts-home .tts-rbld__h2 {
	margin: 0.75rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #fff;
	text-wrap: balance;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-rbld__h2 { font-size: 2.25rem; line-height: 1.25; } }
.tts-home.tts-home .tts-rbld__p {
	margin: 1.25rem 0 0;
	font-size: 1rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.8);
}
.tts-home.tts-home .tts-rbld__steps {
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.875rem 2rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-rbld__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-rbld__step {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	border-radius: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
	padding: 0.75rem 1rem;
	transition: border-color 0.3s, background 0.3s;
}
.tts-home.tts-home .tts-rbld__step:hover { border-color: rgba(240, 112, 114, 0.4); background: rgba(255, 255, 255, 0.07); }
.tts-home.tts-home .tts-rbld__step-idx {
	font-family: Manrope, Inter, sans-serif;
	font-size: 0.875rem;
	font-weight: 800;
	line-height: 1.25rem;
	color: #f07072;
}
.tts-home.tts-home .tts-rbld__step-title { font-size: 0.875rem; font-weight: 600; line-height: 1.25rem; color: #fff; }
.tts-home.tts-home .tts-rbld__cta { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.tts-home.tts-home .tts-rbld__visual { position: relative; margin-inline: auto; max-width: 32rem; }
.tts-home.tts-home .tts-rbld__frame {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: var(--h-lift-shadow);
}
.tts-home.tts-home .tts-rbld__frame img { width: 100%; height: 100%; object-fit: cover; }
.tts-home.tts-home .tts-rbld__shade {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to top, rgba(7, 21, 39, 0.5), transparent 60%);
}
.tts-home.tts-home .tts-rbld__badge1 {
	position: absolute;
	right: 1.25rem;
	top: 1.25rem;
	border-radius: 1rem;
	background: #e81f22;
	padding: 0.875rem 1.25rem;
	box-shadow: var(--h-lift-shadow);
}
.tts-home.tts-home .tts-rbld__badge2 {
	position: absolute;
	bottom: 1.25rem;
	left: 1.25rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(7, 21, 39, 0.85);
	padding: 0.875rem 1.25rem;
	box-shadow: var(--h-lift-shadow);
	backdrop-filter: blur(8px);
}
.tts-home.tts-home .tts-rbld__badge-num {
	margin: 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 2rem;
	color: #fff;
}
.tts-home.tts-home .tts-rbld__badge-lbl { margin: 0; font-size: 0.75rem; font-weight: 500; line-height: 1rem; color: rgba(255, 255, 255, 0.85); }
.tts-home.tts-home .tts-rbld__badge2 .tts-rbld__badge-lbl { color: rgba(226, 235, 243, 0.7); }

/* ---------- 6. Comparison ---------- */
.tts-home.tts-home.tts-comp {
	padding-block: 5rem;
	border-block: 1px solid rgba(226, 232, 240, 0.7);
	background-image: linear-gradient(180deg, #fbfaf7, #f3f0e8);
}
@media (min-width: 640px) { .tts-home.tts-home.tts-comp { padding-block: 6rem; } }
.tts-home.tts-home .tts-comp__card {
	position: relative;
	margin: 3rem auto 0;
	max-width: 64rem;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 2px 4px rgba(16, 40, 68, 0.06), 0 28px 56px -24px rgba(16, 40, 68, 0.35);
}
.tts-home.tts-home .tts-comp__grid { display: grid; }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-comp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.tts-home.tts-home .tts-comp__col { padding: 1.5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-comp__col { padding: 2rem; } }
.tts-home.tts-home .tts-comp__col--new { border-bottom: 1px solid #e2e8f0; }
.tts-home.tts-home .tts-comp__col--tts {
	position: relative;
	background: #0c2038;
	color: #fff;
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-comp__col--new { border-bottom: 0; border-right: 1px solid #e2e8f0; }
}
.tts-home.tts-home .tts-comp__colbg { position: absolute; inset: 0; opacity: 0.5; }
.tts-home.tts-home .tts-comp__colinner { position: relative; }
.tts-home.tts-home .tts-comp__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.tts-home.tts-home .tts-comp__head--wrap { flex-wrap: wrap; gap: 0.75rem; }
.tts-home.tts-home .tts-comp__h3 {
	margin: 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.75rem;
	color: #64748b;
}
.tts-home.tts-home .tts-comp__h3--light { color: #fff; }
.tts-home.tts-home .tts-comp__tag {
	border-radius: 9999px;
	background: #f1f5f9;
	padding: 0.25rem 0.75rem;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: #64748b;
}
.tts-home.tts-home .tts-comp__tag--brand {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	background: #e81f22;
	color: #fff;
}
.tts-home.tts-home .tts-comp__tag--brand svg { width: 0.875rem; height: 0.875rem; }
.tts-home.tts-home .tts-comp__rows {
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.tts-home.tts-home .tts-comp__row { display: flex; align-items: flex-start; gap: 0.75rem; }
.tts-home.tts-home .tts-comp__icon {
	margin-top: 0.125rem;
	display: grid;
	place-items: center;
	height: 1.25rem;
	width: 1.25rem;
	flex: none;
	border-radius: 9999px;
	background: #f1f5f9;
	color: #64748b;
}
.tts-home.tts-home .tts-comp__row--tts .tts-comp__icon { background: #e81f22; color: #fff; }
.tts-home.tts-home .tts-comp__icon svg { width: 0.75rem; height: 0.75rem; }
.tts-home.tts-home .tts-comp__lbl {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: #64748b;
}
.tts-home.tts-home .tts-comp__row--tts .tts-comp__lbl { color: rgba(226, 235, 243, 0.6); }
.tts-home.tts-home .tts-comp__val {
	display: block;
	margin-top: 0.125rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: #475569;
}
.tts-home.tts-home .tts-comp__row--tts .tts-comp__val { color: rgba(226, 235, 243, 0.9); }
.tts-home.tts-home .tts-comp__foot {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-top: 1px solid #e2e8f0;
	background: #f8f6f1;
	padding: 1.25rem 1.5rem;
	text-align: center;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-comp__foot { flex-direction: row; text-align: left; }
}
.tts-home.tts-home .tts-comp__foot p {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.25rem;
	color: #475569;
}
.tts-home.tts-home .tts-comp__foot .tts-btn { flex-shrink: 0; }

/* ---------- 7. Featured products ---------- */
.tts-home.tts-home.tts-prods {
	padding-block: 5rem;
	background-image:
		radial-gradient(70rem 40rem at 88% -12%, rgba(232, 31, 34, 0.07), transparent 62%),
		radial-gradient(60rem 34rem at -12% 108%, rgba(46, 94, 134, 0.16), transparent 60%),
		linear-gradient(180deg, #081a30 0%, #050d1a 100%);
}
@media (min-width: 640px) { .tts-home.tts-home.tts-prods { padding-block: 6rem; } }
.tts-home.tts-home.tts-prods .tts-sh__eyebrow { color: #f7a5a6; }
.tts-home.tts-home.tts-prods .tts-sh__title { color: #fff; }
.tts-home.tts-home.tts-prods .tts-sh__desc { color: rgba(226, 235, 243, 0.8); }
.tts-home.tts-home.tts-prods .tts-tlink { color: #f07072; }
.tts-home.tts-home.tts-prods .tts-tlink:hover { color: #f7a5a6; }
.tts-home.tts-home .tts-prods__head {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-prods__head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.tts-home.tts-home .tts-prods__grid {
	margin-top: 3rem;
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-prods__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-prods__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-pcard {
	display: flex;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border-radius: 1rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: var(--h-card-shadow);
	transition: all 0.3s;
}
.tts-home.tts-home .tts-pcard:hover {
	transform: translateY(-0.25rem);
	border-color: #c5d7e7;
	box-shadow: var(--h-lift-shadow);
}
.tts-home.tts-home .tts-pcard__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
}
.tts-home.tts-home .tts-pcard__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 1.25rem;
	transition: transform 0.5s ease-out;
}
.tts-home.tts-home .tts-pcard:hover .tts-pcard__media img { transform: scale(1.05); }
.tts-home.tts-home .tts-pcard__badge {
	position: absolute;
	left: 1rem;
	top: 1rem;
	z-index: 10;
	border-radius: 9999px;
	background: #102844;
	padding: 0.25rem 0.75rem;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: #fff;
}
.tts-home.tts-home .tts-pcard__cond {
	position: absolute;
	right: 1rem;
	top: 1rem;
	z-index: 10;
	border-radius: 9999px;
	background: #e81f22;
	padding: 0.25rem 0.75rem;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: #fff;
}
.tts-home.tts-home .tts-pcard__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.tts-home.tts-home .tts-pcard__cat {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: #64748b;
}
.tts-home.tts-home .tts-pcard__name { margin: 0.375rem 0 0; font-size: 1.125rem; font-weight: 700; line-height: 1.75rem; }
.tts-home.tts-home .tts-pcard__name a { color: #0c2038; text-decoration: none; transition: color 0.15s; }
.tts-home.tts-home .tts-pcard__name a:hover { color: #c91619; }
.tts-home.tts-home .tts-pcard__summary {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	line-height: 1.625;
	color: #475569;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.tts-home.tts-home .tts-pcard__tags { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.tts-home.tts-home .tts-pcard__tag {
	border-radius: 9999px;
	background: #f2f6fa;
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1rem;
	color: #274c6d;
}
.tts-home.tts-home .tts-pcard__actions { margin-top: auto; display: flex; gap: 0.5rem; padding-top: 1.25rem; }
.tts-home.tts-home .tts-pcard__actions .tts-btn { flex: 1; }

/* ---------- 8. Why choose ---------- */
.tts-home.tts-home.tts-why {
	border-block: 1px solid rgba(255, 255, 255, 0.06);
	background-color: var(--tts-secbg, #050d1a);
	background-image:
		radial-gradient(70rem 40rem at 88% -12%, rgba(232, 31, 34, 0.07), transparent 62%),
		radial-gradient(60rem 34rem at -12% 108%, rgba(46, 94, 134, 0.16), transparent 60%),
		linear-gradient(180deg, #081a30 0%, #050d1a 100%);
}
.tts-home.tts-home .tts-why__inner {
	display: grid;
	gap: 3rem;
	padding-block: 5rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-why__inner { padding-block: 6rem; } }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-why__inner { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem; }
	.tts-home.tts-home .tts-why__left { grid-column: span 5 / span 5; }
	.tts-home.tts-home .tts-why__right { grid-column: span 7 / span 7; }
}
.tts-home.tts-home .tts-why__promise {
	margin-top: 2rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background-color: rgba(255, 255, 255, 0.035);
	background-image: linear-gradient(160deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012));
	padding: 1.5rem;
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
}
.tts-home.tts-home .tts-why__promise-lbl {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #f07072;
}
.tts-home.tts-home .tts-why__dl { margin: 1rem 0 0; display: flex; flex-direction: column; }
.tts-home.tts-home .tts-why__dlrow {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 0.75rem;
	padding-bottom: 0.8125rem;
}
.tts-home.tts-home .tts-why__dlrow + .tts-home.tts-home .tts-why__dlrow { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.tts-home.tts-home .tts-why__dlrow:first-child { padding-top: 0; }
.tts-home.tts-home .tts-why__dlrow:last-child { padding-bottom: 0; }
.tts-home.tts-home .tts-why__dt {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: rgba(226, 235, 243, 0.6);
}
.tts-home.tts-home .tts-why__dd {
	margin: 0;
	text-align: right;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.25rem;
	color: #fff;
}
.tts-home.tts-home .tts-why__link { margin-top: 1.5rem; }
.tts-home.tts-home.tts-why .tts-tlink { color: #f07072; }
.tts-home.tts-home.tts-why .tts-tlink:hover { color: #f7a5a6; }
.tts-home.tts-home .tts-why__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-block: 1px solid rgba(255, 255, 255, 0.1);
}
.tts-home.tts-home .tts-why__row {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	padding-block: 1.5rem;
	padding-bottom: 1.5625rem;
}
.tts-home.tts-home .tts-why__row:first-child { padding-top: 1.75rem; }
.tts-home.tts-home .tts-why__row:last-child { padding-bottom: 1.75rem; }
.tts-home.tts-home .tts-why__row + .tts-home.tts-home .tts-why__row { border-top: 1px solid rgba(255, 255, 255, 0.1); }
@media (min-width: 640px) { .tts-home.tts-home .tts-why__row { gap: 1.5rem; } }
.tts-home.tts-home .tts-why__icon {
	display: grid;
	place-items: center;
	height: 2.75rem;
	width: 2.75rem;
	flex: none;
	border-radius: 0.75rem;
	background: rgba(232, 31, 34, 0.15);
	color: #f07072;
	transition: background 0.3s, color 0.3s;
}
.tts-home.tts-home .tts-why__icon svg { width: 1.375rem; height: 1.375rem; }
.tts-home.tts-home .tts-why__row:hover .tts-why__icon { background: #e81f22; color: #fff; }
.tts-home.tts-home .tts-why__row-body { min-width: 0; flex: 1; }
.tts-home.tts-home .tts-why__h3 {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
	transition: color 0.3s;
}
.tts-home.tts-home .tts-why__row:hover .tts-why__h3 { color: #f7a5a6; }
.tts-home.tts-home .tts-why__txt {
	margin: 0.375rem 0 0;
	max-width: 36rem;
	font-size: 0.875rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.7);
}
.tts-home.tts-home .tts-why__num {
	display: none;
	font-family: Manrope, Inter, sans-serif;
	font-size: 0.875rem;
	font-weight: 800;
	line-height: 1.25rem;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.2);
	transition: color 0.3s;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-why__num { display: block; } }
.tts-home.tts-home .tts-why__row:hover .tts-why__num { color: rgba(240, 112, 114, 0.7); }

/* ---------- 9. Categories ---------- */
.tts-home.tts-home.tts-cats {
	padding-block: 5rem;
	border-block: 1px solid rgba(226, 232, 240, 0.7);
	background-color: var(--tts-secbg, #f8f6f1);
	background-image: linear-gradient(180deg, #fbfaf7, #f3f0e8);
}
@media (min-width: 640px) { .tts-home.tts-home.tts-cats { padding-block: 6rem; } }
.tts-home.tts-home .tts-cats__grid {
	margin-top: 3rem;
	display: grid;
	gap: 1.25rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-cats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-cats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-ccard {
	display: flex;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border-radius: 1rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: var(--h-card-shadow);
	transition: all 0.3s;
	text-decoration: none;
}
.tts-home.tts-home .tts-ccard:hover {
	transform: translateY(-0.25rem);
	border-color: #c5d7e7;
	box-shadow: var(--h-lift-shadow);
}
.tts-home.tts-home .tts-ccard__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
}
.tts-home.tts-home .tts-ccard__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 1.25rem;
	transition: transform 0.5s ease-out;
}
.tts-home.tts-home .tts-ccard:hover .tts-ccard__media img { transform: scale(1.06); }
.tts-home.tts-home .tts-ccard__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.tts-home.tts-home .tts-ccard__name {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	color: #0c2038;
	transition: color 0.15s;
}
.tts-home.tts-home .tts-ccard:hover .tts-ccard__name { color: #c91619; }
.tts-home.tts-home .tts-ccard__blurb {
	margin: 0.5rem 0 0;
	flex: 1;
	font-size: 0.875rem;
	line-height: 1.625;
	color: #475569;
}
.tts-home.tts-home .tts-ccard__foot {
	margin-top: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid #e2e8f0;
	padding-top: 1rem;
}
.tts-home.tts-home .tts-ccard__count { font-size: 0.75rem; font-weight: 600; line-height: 1rem; color: #64748b; }
.tts-home.tts-home .tts-ccard__go {
	display: grid;
	place-items: center;
	height: 2rem;
	width: 2rem;
	border-radius: 9999px;
	border: 1px solid #e2e8f0;
	color: #274c6d;
	transition: all 0.3s;
}
.tts-home.tts-home .tts-ccard:hover .tts-ccard__go {
	border-color: #e81f22;
	background: #e81f22;
	color: #fff;
}
.tts-home.tts-home .tts-ccard__go svg { width: 1rem; height: 1rem; }

/* ---------- 9b. Process teaser ---------- */
.tts-home.tts-home.tts-process {
	border-block: 1px solid rgba(226, 232, 240, 0.6);
	background-color: var(--tts-secbg, #ffffff);
}
.tts-home.tts-home .tts-process__inner {
	display: grid;
	align-items: center;
	gap: 3rem;
	padding-block: 5rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-process__inner { padding-block: 6rem; } }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-process__inner { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem; }
	.tts-home.tts-home .tts-process__left { grid-column: span 6 / span 6; min-width: 0; }
	.tts-home.tts-home .tts-process__right { grid-column: span 6 / span 6; min-width: 0; }
}
.tts-home.tts-home .tts-process__stages {
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.tts-home.tts-home .tts-process__stage {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	border-radius: 1rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1rem;
	box-shadow: var(--h-card-shadow);
}
.tts-home.tts-home .tts-process__step {
	display: grid;
	place-items: center;
	height: 2.75rem;
	width: 2.75rem;
	flex: none;
	border-radius: 0.75rem;
	background: #102844;
	font-family: Manrope, Inter, sans-serif;
	font-size: 0.875rem;
	font-weight: 800;
	color: #fff;
}
.tts-home.tts-home .tts-process__st {
	display: block;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	color: #0c2038;
}
.tts-home.tts-home .tts-process__sx {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.875rem;
	line-height: 1.625;
	color: #475569;
}
.tts-home.tts-home .tts-process__cta { margin-top: 2rem; }
.tts-home.tts-home .tts-process__media {
	position: relative;
	margin-inline: auto;
	max-width: 36rem;
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-process__media { margin-left: auto; margin-right: 0; }
}
.tts-home.tts-home .tts-process__frame {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: var(--h-lift-shadow);
}
.tts-home.tts-home .tts-process__frame img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.tts-home.tts-home .tts-process__inset {
	position: absolute;
	bottom: -1.5rem;
	left: -1rem;
	display: none;
	width: 11rem;
	overflow: hidden;
	border-radius: 1rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: var(--h-card-shadow);
}
@media (min-width: 640px) { .tts-home.tts-home .tts-process__inset { display: block; } }
.tts-home.tts-home .tts-process__inset img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.tts-home.tts-home .tts-process__badge {
	position: absolute;
	top: -1rem;
	right: 1.5rem;
	border-radius: 9999px;
	background: #e81f22;
	padding: 0.5rem 1rem;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #fff;
	box-shadow: 0 12px 30px -12px rgba(232, 31, 34, 0.75);
}

/* ---------- 10. Trust / partners ---------- */
.tts-home.tts-home.tts-trust {
	border-block: 1px solid rgba(226, 232, 240, 0.7);
	background-color: var(--tts-secbg, #f8f6f1);
	background-image: linear-gradient(180deg, #fbfaf7, #f3f0e8);
}
.tts-home.tts-home .tts-trust__inner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-trust__inner { padding-block: 6rem; } }
.tts-home.tts-home .tts-trust__stats {
	display: grid;
	gap: 1.5rem;
	border-radius: 1.5rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 2rem;
	box-shadow: var(--h-card-shadow);
}
@media (min-width: 640px) { .tts-home.tts-home .tts-trust__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-trust__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 2.5rem; } }
.tts-home.tts-home .tts-trust__stat { border-left: 2px solid #e81f22; padding-left: 1.25rem; }
.tts-home.tts-home .tts-trust__statnum {
	display: block;
	margin: 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 2.25rem;
	font-weight: 800;
	line-height: 2.5rem;
	color: #0c2038;
}
.tts-home.tts-home .tts-trust__statlabel { display: block; margin-top: 0.25rem; font-size: 0.875rem; font-weight: 700; line-height: 1.25rem; color: #0c2038; }
.tts-home.tts-home .tts-trust__stat p { margin: 0.125rem 0 0; font-size: 0.75rem; line-height: 1rem; color: #64748b; }
.tts-home.tts-home .tts-trust__partners-head { margin-top: 4rem; }
.tts-home.tts-home .tts-trust__partners { margin-top: 2rem; }
.tts-home.tts-home .tts-plist {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-plist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-plist { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .tts-home.tts-home .tts-plist { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-pitem {
	display: flex;
	height: 100%;
	align-items: center;
	gap: 1rem;
	border-radius: 1rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1rem;
	transition: all 0.3s;
}
.tts-home.tts-home .tts-pitem:hover {
	transform: translateY(-0.125rem);
	border-color: #c5d7e7;
	box-shadow: var(--h-card-shadow);
}
.tts-home.tts-home .tts-pitem__logo {
	position: relative;
	height: 3rem;
	width: 3rem;
	flex: none;
	overflow: hidden;
	border-radius: 0.75rem;
	border: 1px solid #e2e8f0;
	background: #f5f7fa;
}
.tts-home.tts-home .tts-pitem__logo img { width: 100%; height: 100%; object-fit: contain; padding: 0.25rem; }
.tts-home.tts-home .tts-pitem__body { min-width: 0; }
.tts-home.tts-home .tts-pitem__name {
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.375;
	color: #0c2038;
}
.tts-home.tts-home .tts-pitem__note { display: block; margin-top: 0.125rem; font-size: 11px; line-height: 1.375; color: #64748b; }

/* ---------- 11. Sustainability ---------- */
.tts-home.tts-home.tts-sust {
	position: relative;
	overflow: hidden;
	border-block: 1px solid rgba(255, 255, 255, 0.06);
	background-color: var(--tts-secbg, #050d1a);
	background-image:
		radial-gradient(70rem 40rem at 88% -12%, rgba(232, 31, 34, 0.07), transparent 62%),
		radial-gradient(60rem 34rem at -12% 108%, rgba(46, 94, 134, 0.16), transparent 60%),
		linear-gradient(180deg, #081a30 0%, #050d1a 100%);
}
.tts-home.tts-home .tts-sust__grid { position: absolute; inset: 0; opacity: 0.4; }
.tts-home.tts-home .tts-sust__orb {
	position: absolute;
	pointer-events: none;
	border-radius: 9999px;
	filter: blur(64px);
}
.tts-home.tts-home .tts-sust__orb--em {
	right: -8rem;
	top: -6rem;
	height: 24rem;
	width: 24rem;
	background: rgba(16, 185, 129, 0.09);
}
.tts-home.tts-home .tts-sust__orb--br {
	left: -7rem;
	bottom: 0;
	height: 20rem;
	width: 20rem;
	background: rgba(232, 31, 34, 0.08);
}
.tts-home.tts-home .tts-sust__inner { position: relative; padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-sust__inner { padding-block: 6rem; } }
.tts-home.tts-home .tts-sust__head { display: flex; flex-direction: column; gap: 2rem; }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-sust__head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.tts-home.tts-home .tts-sust__head-left { max-width: 42rem; }
.tts-home.tts-home .tts-sust__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #6ee7b7;
}
.tts-home.tts-home .tts-sust__eyebrow::before {
	content: "";
	height: 1px;
	width: 1.5rem;
	background: currentColor;
}
.tts-home.tts-home .tts-sust__h2 {
	margin: 0.75rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 2.25rem;
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: #fff;
	text-wrap: balance;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-sust__h2 { font-size: 3rem; } }
@media (min-width: 1280px) { .tts-home.tts-home .tts-sust__h2 { font-size: 3.75rem; } }
.tts-home.tts-home .tts-sust__intro {
	margin: 0;
	max-width: 28rem;
	font-size: 1rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.7);
}
.tts-home.tts-home .tts-sust__cols { margin-top: 3rem; display: grid; gap: 1.5rem; }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-sust__cols { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; }
	.tts-home.tts-home .tts-sust__colmain { grid-column: span 7 / span 7; }
	.tts-home.tts-home .tts-sust__colside { grid-column: span 5 / span 5; }
}
.tts-home.tts-home .tts-sust__card {
	position: relative;
	height: 100%;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background-color: rgba(255, 255, 255, 0.035);
	background-image: linear-gradient(160deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012));
	padding: 2rem;
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
}
@media (min-width: 640px) { .tts-home.tts-home .tts-sust__card { padding: 2.5rem; } }
.tts-home.tts-home .tts-sust__cardgrid { position: absolute; inset: 0; opacity: 0.5; }
.tts-home.tts-home .tts-sust__cardorb {
	position: absolute;
	right: -4rem;
	top: -5rem;
	height: 16rem;
	width: 16rem;
	border-radius: 9999px;
	background: rgba(232, 31, 34, 0.15);
	filter: blur(64px);
}
.tts-home.tts-home .tts-sust__wm {
	pointer-events: none;
	position: absolute;
	right: -2rem;
	bottom: -2.5rem;
	display: none;
	width: 18rem;
	opacity: 0.14;
	-webkit-mask-image: radial-gradient(closest-side, #000 45%, transparent 100%);
	mask-image: radial-gradient(closest-side, #000 45%, transparent 100%);
}
@media (min-width: 1024px) { .tts-home.tts-home .tts-sust__wm { display: block; } }
.tts-home.tts-home .tts-sust__cardbody { position: relative; }
.tts-home.tts-home .tts-sust__kicker {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #6ee7b7;
}
.tts-home.tts-home .tts-sust__metric {
	margin: 1rem 0 0;
	display: flex;
	align-items: flex-end;
	gap: 1rem;
	animation: tts-metric-rise 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes tts-metric-rise {
	from { opacity: 0; transform: translateY(18px) scale(0.97); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}
.tts-home.tts-home .tts-sust__num {
	font-family: Manrope, Inter, sans-serif;
	font-size: 5.25rem;
	font-weight: 800;
	line-height: 0.85;
	letter-spacing: -0.04em;
	color: #fff;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-sust__num { font-size: 7rem; } }
.tts-home.tts-home .tts-sust__units { display: inline-block; padding-bottom: 0.5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-sust__units { padding-bottom: 1rem; } }
.tts-home.tts-home .tts-sust__unit {
	display: block;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 1;
	color: #e81f22;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-sust__unit { font-size: 2.25rem; } }
.tts-home.tts-home .tts-sust__subunit {
	display: block;
	margin-top: 0.25rem;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	color: rgba(226, 235, 243, 0.7);
}
@media (min-width: 640px) { .tts-home.tts-home .tts-sust__subunit { font-size: 1.5rem; } }
.tts-home.tts-home .tts-sust__desc {
	margin: 1.5rem 0 0;
	max-width: 36rem;
	font-size: 0.875rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.65);
}
.tts-home.tts-home .tts-sust__disc {
	margin: 0.5rem 0 0;
	font-size: 11px;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.45);
}
.tts-home.tts-home .tts-sust__cta {
	margin-top: 2rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 1.5rem;
	row-gap: 0.75rem;
}
.tts-home.tts-home .tts-sust__acc {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #6ee7b7;
}
.tts-home.tts-home .tts-sust__acc svg { flex: none; width: 1rem; height: 1rem; }
.tts-home.tts-home .tts-sust__side { display: flex; height: 100%; flex-direction: column; gap: 1.5rem; }
.tts-home.tts-home .tts-sust__title2 {
	margin: 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.25;
	color: #fff;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-sust__title2 { font-size: 1.875rem; } }
.tts-home.tts-home .tts-sust__title2acc { color: #6ee7b7; }
.tts-home.tts-home .tts-sust__points {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	flex: 1 1 0%;
	gap: 0.75rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-sust__points { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-sust__point {
	display: flex;
	flex-direction: column;
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background-color: rgba(255, 255, 255, 0.035);
	background-image: linear-gradient(160deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012));
	padding: 1rem;
}
.tts-home.tts-home .tts-sust__point svg { display: block; flex: none; width: 1.25rem; height: 1.25rem; color: #6ee7b7; }
.tts-home.tts-home .tts-sust__pt {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 700;
	color: #fff;
}
.tts-home.tts-home .tts-sust__pd { margin: 0.25rem 0 0; font-size: 0.75rem; line-height: 1.625; color: rgba(226, 235, 243, 0.65); }

/* ---------- 12. Video ---------- */
.tts-home.tts-home.tts-vid {
	position: relative;
	overflow: hidden;
	border-block: 1px solid rgba(255, 255, 255, 0.06);
	background-color: var(--tts-secbg, #050d1a);
	background-image:
		radial-gradient(70rem 40rem at 88% -12%, rgba(232, 31, 34, 0.07), transparent 62%),
		radial-gradient(60rem 34rem at -12% 108%, rgba(46, 94, 134, 0.16), transparent 60%),
		linear-gradient(180deg, #081a30 0%, #050d1a 100%);
}
.tts-home.tts-home .tts-vid__grid { position: absolute; inset: 0; opacity: 0.5; }
.tts-home.tts-home .tts-vid__orb {
	position: absolute;
	left: -6rem;
	bottom: 0;
	height: 20rem;
	width: 20rem;
	border-radius: 9999px;
	background: rgba(232, 31, 34, 0.15);
	filter: blur(64px);
}
.tts-home.tts-home .tts-vid__inner {
	position: relative;
	display: grid;
	align-items: center;
	gap: 3rem;
	padding-block: 5rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-vid__inner { padding-block: 6rem; } }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-vid__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; }
}
.tts-home.tts-home .tts-vid__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #f7a5a6;
}
.tts-home.tts-home .tts-vid__eyebrow svg { width: 1rem; height: 1rem; }
.tts-home.tts-home .tts-vid__h2 {
	margin: 0.75rem 0 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #fff;
	text-wrap: balance;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-vid__h2 { font-size: 2.25rem; line-height: 1.25; } }
.tts-home.tts-home .tts-vid__p { margin: 1.25rem 0 0; font-size: 1rem; line-height: 1.625; color: rgba(226, 235, 243, 0.8); }
.tts-home.tts-home .tts-vid__cta { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.tts-home.tts-home .tts-vid__figure { margin: 0; }
.tts-home.tts-home .tts-vid__frame {
	position: relative;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: #071527;
	box-shadow: var(--h-lift-shadow);
}
.tts-home.tts-home .tts-vid__frame video {
	aspect-ratio: 16 / 9;
	width: 100%;
	display: block;
	background: #071527;
	object-fit: contain;
}
.tts-home.tts-home .tts-vid__overlay {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	border: 0;
	padding: 0;
	background: none;
	cursor: pointer;
}
.tts-home.tts-home.tts-vid.is-playing .tts-vid__overlay { display: none; }
.tts-home.tts-home .tts-vid__shade {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to top, rgba(7, 21, 39, 0.8), rgba(7, 21, 39, 0.1) 40%, transparent);
	transition: opacity 0.3s;
}
.tts-home.tts-home .tts-vid__overlay:hover .tts-vid__shade { opacity: 0.9; }
.tts-home.tts-home .tts-vid__playbtn {
	position: relative;
	display: grid;
	place-items: center;
	height: 5rem;
	width: 5rem;
	border-radius: 9999px;
	background: #e81f22;
	color: #fff;
	box-shadow: 0 20px 50px -12px rgba(232, 31, 34, 0.8);
	transition: transform 0.3s;
}
.tts-home.tts-home .tts-vid__overlay:hover .tts-vid__playbtn { transform: scale(1.1); }
.tts-home.tts-home .tts-vid__playbtn svg { margin-left: 0.25rem; width: 2rem; height: 2rem; fill: currentColor; }
.tts-home.tts-home .tts-vid__label {
	position: absolute;
	bottom: 1.25rem;
	left: 1.25rem;
	text-align: left;
	color: #fff;
}
.tts-home.tts-home .tts-vid__label-title { display: block; font-size: 0.875rem; font-weight: 700; line-height: 1.25rem; }
.tts-home.tts-home .tts-vid__label-sub { display: block; margin-top: 0.125rem; font-size: 0.75rem; line-height: 1rem; color: rgba(255, 255, 255, 0.7); }
.tts-home.tts-home .tts-vid__hint {
	position: absolute;
	bottom: 1.25rem;
	right: 1.25rem;
	display: none;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1rem;
	color: rgba(255, 255, 255, 0.8);
}
@media (min-width: 640px) { .tts-home.tts-home .tts-vid__hint { display: flex; } }
.tts-home.tts-home .tts-vid__caption {
	margin-top: 0.75rem;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1rem;
	color: rgba(226, 235, 243, 0.6);
}

/* ---------- 13. Blog ---------- */
.tts-home.tts-home.tts-blogsec {
	padding-block: 5rem;
	border-block: 1px solid rgba(255, 255, 255, 0.06);
	background-color: var(--tts-secbg, #050d1a);
	background-image:
		radial-gradient(70rem 40rem at 88% -12%, rgba(232, 31, 34, 0.07), transparent 62%),
		radial-gradient(60rem 34rem at -12% 108%, rgba(46, 94, 134, 0.16), transparent 60%),
		linear-gradient(180deg, #081a30 0%, #050d1a 100%);
}
@media (min-width: 640px) { .tts-home.tts-home.tts-blogsec { padding-block: 6rem; } }
.tts-home.tts-home .tts-blogsec__head { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 640px) {
	.tts-home.tts-home .tts-blogsec__head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.tts-home.tts-home .tts-blogsec__grid {
	margin-top: 3rem;
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-blogsec__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-blogsec__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-bcard {
	display: flex;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border-radius: 1rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: var(--h-card-shadow);
	transition: all 0.3s;
}
.tts-home.tts-home .tts-bcard:hover {
	transform: translateY(-0.25rem);
	border-color: #c5d7e7;
	box-shadow: var(--h-lift-shadow);
}
.tts-home.tts-home .tts-bcard__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #f5f7fa;
}
.tts-home.tts-home .tts-bcard__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s;
}
.tts-home.tts-home .tts-bcard:hover .tts-bcard__media img { transform: scale(1.05); }
.tts-home.tts-home .tts-bcard__cat {
	position: absolute;
	left: 1rem;
	top: 1rem;
	border-radius: 9999px;
	background: rgba(12, 32, 56, 0.9);
	padding: 0.25rem 0.75rem;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: #fff;
	backdrop-filter: blur(8px);
}
.tts-home.tts-home .tts-bcard__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.tts-home.tts-home .tts-bcard__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 1rem;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1rem;
	color: #64748b;
}
.tts-home.tts-home .tts-bcard__meta span { display: inline-flex; align-items: center; gap: 0.375rem; }
.tts-home.tts-home .tts-bcard__meta svg { width: 0.875rem; height: 0.875rem; }
.tts-home.tts-home .tts-bcard__title { margin: 0.625rem 0 0; font-size: 1.125rem; font-weight: 700; line-height: 1.375; }
.tts-home.tts-home .tts-bcard__title a { color: #0c2038; text-decoration: none; transition: color 0.15s; }
.tts-home.tts-home .tts-bcard__title a:hover { color: #c91619; }
.tts-home.tts-home .tts-bcard__excerpt {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	line-height: 1.625;
	color: #475569;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.tts-home.tts-home .tts-bcard__more {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding-top: 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25rem;
	color: #c91619;
}
.tts-home.tts-home .tts-bcard__more svg { width: 1rem; height: 1rem; transition: transform 0.2s; }
.tts-home.tts-home .tts-bcard:hover .tts-bcard__more svg { transform: translateX(0.25rem); }
.tts-home.tts-home.tts-blogsec .tts-tlink { color: #f07072; }
.tts-home.tts-home.tts-blogsec .tts-tlink:hover { color: #f7a5a6; }

/* ---------- 14. Google reviews ---------- */
.tts-home.tts-home.tts-grev {
	position: relative;
	border-block: 1px solid rgba(255, 255, 255, 0.06);
	background-color: var(--tts-secbg, #050d1a);
	background-image:
		radial-gradient(70rem 40rem at 88% -12%, rgba(232, 31, 34, 0.07), transparent 62%),
		radial-gradient(60rem 34rem at -12% 108%, rgba(46, 94, 134, 0.16), transparent 60%),
		linear-gradient(180deg, #081a30 0%, #050d1a 100%);
}
.tts-home.tts-home .tts-grev__glow {
	pointer-events: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin-inline: auto;
	height: 14rem;
	max-width: 48rem;
	border-radius: 9999px;
	background: rgba(232, 31, 34, 0.08);
	filter: blur(64px);
}
.tts-home.tts-home .tts-grev__inner { position: relative; padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-grev__inner { padding-block: 6rem; } }
.tts-home.tts-home .tts-grev__head { display: flex; flex-direction: column; gap: 2rem; }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-grev__head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.tts-home.tts-home .tts-grev__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #f07072;
}
.tts-home.tts-home .tts-grev__eyebrow::before {
	content: "";
	height: 1px;
	width: 1.5rem;
	background: currentColor;
}
.tts-home.tts-home .tts-grev__h2 {
	margin: 0.75rem 0 0;
	max-width: 42rem;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 1.25;
	color: #fff;
	text-wrap: balance;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-grev__h2 { font-size: 2.25rem; } }
.tts-home.tts-home .tts-grev__p {
	margin: 1rem 0 0;
	max-width: 42rem;
	font-size: 1rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.7);
}
.tts-home.tts-home .tts-grev__source {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	flex-shrink: 0;
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
	padding: 1.25rem;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-grev__source { min-width: 290px; } }
.tts-home.tts-home .tts-grev__source-top { display: flex; align-items: center; gap: 0.75rem; }
.tts-home.tts-home .tts-grev__gicon {
	display: grid;
	place-items: center;
	height: 2.75rem;
	width: 2.75rem;
	border-radius: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.05);
	color: #8ab4f8;
}
.tts-home.tts-home .tts-grev__gicon svg { width: 1.25rem; height: 1.25rem; }
.tts-home.tts-home .tts-grev__gname { display: block; font-family: Manrope, Inter, sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.5rem; color: #fff; }
.tts-home.tts-home .tts-grev__gsub { display: block; font-size: 0.75rem; line-height: 1rem; color: rgba(226, 235, 243, 0.6); }
.tts-home.tts-home .tts-grev__gnote { margin: 0; font-size: 0.75rem; line-height: 1.625; color: rgba(226, 235, 243, 0.7); }
.tts-home.tts-home .tts-grev__gbtn {
	display: inline-flex;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border-radius: 0.75rem;
	background: #fff;
	padding-inline: 1rem;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.25rem;
	color: #0c2038;
	text-decoration: none;
	transition: background-color 0.15s;
}
.tts-home.tts-home .tts-grev__gbtn:hover { background: #f2f6fa; }
.tts-home.tts-home .tts-grev__gbtn svg { width: 1rem; height: 1rem; flex: none; }
.tts-home.tts-home .tts-grev__rail {
	margin: 3rem -1rem 0;
	display: flex;
	gap: 1.25rem;
	overflow-x: auto;
	padding: 0 1rem 1rem;
	scroll-snap-type: x mandatory;
	outline: none;
}
.tts-home.tts-home .tts-grev__rail:focus-visible { box-shadow: 0 0 0 2px rgba(240, 112, 114, 0.6); }
@media (min-width: 640px) {
	.tts-home.tts-home .tts-grev__rail {
		margin-inline: 0;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: visible;
		padding: 0;
	}
}
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-grev__rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.tts-home.tts-home .tts-grev__cell { width: 85%; flex-shrink: 0; scroll-snap-align: start; }
@media (min-width: 640px) { .tts-home.tts-home .tts-grev__cell { width: auto; flex-shrink: 1; } }
.tts-home.tts-home .tts-grev__card {
	margin: 0;
	position: relative;
	display: flex;
	height: 100%;
	flex-direction: column;
	border-radius: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background-color: rgba(255, 255, 255, 0.035);
	background-image: linear-gradient(160deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012));
	padding: 1.5rem;
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
}
.tts-home.tts-home .tts-grev__qicon { width: 1.5rem; height: 1.5rem; color: rgba(240, 112, 114, 0.7); }
.tts-home.tts-home .tts-grev__quote {
	margin: 1rem 0 0;
	flex: 1;
	font-size: 0.875rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.9);
}
.tts-home.tts-home .tts-grev__foot {
	margin-top: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 1rem;
}
.tts-home.tts-home .tts-grev__author { display: flex; align-items: center; gap: 0.75rem; }
.tts-home.tts-home .tts-grev__meta { line-height: 1.5; }
.tts-home.tts-home .tts-grev__avatar {
	display: grid;
	place-items: center;
	height: 2.25rem;
	width: 2.25rem;
	border-radius: 9999px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(232, 31, 34, 0.15);
	font-family: Manrope, Inter, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1rem;
	color: #f7a5a6;
}
.tts-home.tts-home .tts-grev__name { display: block; font-size: 0.875rem; font-weight: 700; line-height: 1.25rem; color: #fff; }
.tts-home.tts-home .tts-grev__sub {
	margin-top: 0.125rem;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
	color: rgba(226, 235, 243, 0.55);
}
.tts-home.tts-home .tts-grev__sub svg { width: 0.75rem; height: 0.75rem; }
.tts-home.tts-home .tts-grev__stars { display: inline-flex; align-items: center; gap: 0.125rem; }
.tts-home.tts-home .tts-grev__stars svg { width: 1rem; height: 1rem; fill: #fbbf24; color: #fbbf24; }

/* ---------- 15. FAQ ---------- */
.tts-home.tts-home.tts-faq {
	padding-block: 5rem;
	border-block: 1px solid rgba(226, 232, 240, 0.7);
	background-color: var(--tts-secbg, #f8f6f1);
	background-image: linear-gradient(180deg, #fbfaf7, #f3f0e8);
}
@media (min-width: 640px) { .tts-home.tts-home.tts-faq { padding-block: 6rem; } }
.tts-home.tts-home .tts-faq__inner { display: grid; gap: 3rem; }
@media (min-width: 1024px) {
	.tts-home.tts-home .tts-faq__inner { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem; }
	.tts-home.tts-home .tts-faq__left { grid-column: span 5 / span 5; }
	.tts-home.tts-home .tts-faq__right { grid-column: span 7 / span 7; }
}
.tts-home.tts-home .tts-faq__card {
	margin-top: 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	border-radius: 1rem;
	border: 1px solid #e2e8f0;
	background: #f5f7fa;
	padding: 1.5rem;
}
.tts-home.tts-home .tts-faq__card-title { margin: 0; font-size: 0.875rem; font-weight: 700; line-height: 1.25rem; color: #0c2038; }
.tts-home.tts-home .tts-faq__card-txt { margin: 0; font-size: 0.875rem; line-height: 1.625; color: #475569; }
.tts-home.tts-home .tts-faq__contact { margin-top: 0.5rem; display: flex; flex-direction: column; gap: 0.625rem; font-size: 0.875rem; }
.tts-home.tts-home .tts-faq__contact a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
	line-height: 1.25rem;
	color: #102844;
	text-decoration: none;
	transition: color 0.15s;
}
.tts-home.tts-home .tts-faq__contact a:hover { color: #c91619; }
.tts-home.tts-home .tts-faq__contact svg { width: 1rem; height: 1rem; color: #e81f22; }
.tts-home.tts-home .tts-faq__contact .tts-tlink { margin-top: 0.25rem; }
.tts-home.tts-home .tts-acc { display: flex; flex-direction: column; gap: 0.75rem; }
.tts-home.tts-home .tts-acc__item {
	overflow: hidden;
	border-radius: 0.75rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.tts-home.tts-home .tts-acc__item.is-open {
	border-color: #c5d7e7;
	box-shadow: var(--h-card-shadow);
}
.tts-home.tts-home .tts-acc__h3 { margin: 0; font-size: 1rem; letter-spacing: -0.02em; }
.tts-home.tts-home .tts-acc__btn {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border: 0;
	background: none;
	padding: 1rem 1.25rem;
	text-align: left;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
	color: #0c2038;
	cursor: pointer;
	transition: background 0.15s;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-acc__btn { padding: 1rem 1.5rem; } }
.tts-home.tts-home .tts-acc__btn:hover { background: rgba(242, 246, 250, 0.6); }
.tts-home.tts-home .tts-acc__btn > span:first-child { flex: 1 1 auto; min-width: 0; }
.tts-home.tts-home .tts-acc__icon {
	display: grid;
	place-items: center;
	height: 2rem;
	width: 2rem;
	flex: none;
	border-radius: 9999px;
	background: #f5f7fa;
	color: #274c6d;
	transition: all 0.3s;
}
.tts-home.tts-home .tts-acc__item.is-open .tts-acc__icon {
	transform: rotate(45deg);
	background: #e81f22;
	color: #fff;
}
.tts-home.tts-home .tts-acc__icon svg { width: 1rem; height: 1rem; }
.tts-home.tts-home .tts-acc__body {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease-out;
}
.tts-home.tts-home .tts-acc__body-inner { overflow: hidden; }
.tts-home.tts-home .tts-acc__a {
	margin: 0;
	padding: 0 1.25rem 1.25rem;
	font-size: 0.875rem;
	line-height: 1.625;
	color: #475569;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-acc__a { padding: 0 1.5rem 1.25rem; } }

/* ---------- 16. CTA ---------- */
.tts-home.tts-home.tts-ctasec {
	padding-block: 4rem;
	background-color: var(--tts-secbg, #050d1a);
}
@media (min-width: 640px) { .tts-home.tts-home.tts-ctasec { padding-block: 5rem; } }
.tts-home.tts-home .tts-ctasec__card {
	position: relative;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background-color: #0c2038;
	background-image: linear-gradient(to bottom right, #0c2038 0%, #0c2038 50%, #071527 100%);
	padding: 3.5rem 1.5rem;
	text-align: center;
	box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75);
}
@media (min-width: 640px) { .tts-home.tts-home .tts-ctasec__card { padding: 4rem 3rem; } }
.tts-home.tts-home .tts-ctasec__grid { position: absolute; inset: 0; opacity: 0.6; }
.tts-home.tts-home .tts-ctasec__orb1 {
	position: absolute;
	right: -5rem;
	top: -6rem;
	height: 18rem;
	width: 18rem;
	border-radius: 9999px;
	background: rgba(232, 31, 34, 0.25);
	filter: blur(64px);
}
.tts-home.tts-home .tts-ctasec__orb2 {
	position: absolute;
	bottom: -6rem;
	left: -4rem;
	height: 18rem;
	width: 18rem;
	border-radius: 9999px;
	background: rgba(63, 119, 161, 0.2);
	filter: blur(64px);
}
.tts-home.tts-home .tts-ctasec__inner {
	position: relative;
	margin-inline: auto;
	display: flex;
	max-width: 48rem;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
}
.tts-home.tts-home .tts-ctasec__h2 {
	margin: 0;
	font-family: Manrope, Inter, sans-serif;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #fff;
	text-wrap: balance;
}
@media (min-width: 640px) { .tts-home.tts-home .tts-ctasec__h2 { font-size: 2.25rem; line-height: 1.25; } }
.tts-home.tts-home .tts-ctasec__p {
	margin: 0;
	max-width: 42rem;
	font-size: 1rem;
	line-height: 1.625;
	color: rgba(226, 235, 243, 0.85);
}
.tts-home.tts-home .tts-ctasec__actions {
	margin-top: 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
@media (min-width: 640px) {
	.tts-home.tts-home .tts-ctasec__actions { flex-direction: row; }
}
.tts-home.tts-home .tts-ctasec__phone {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.25rem;
	color: rgba(226, 235, 243, 0.75);
	text-decoration: none;
	transition: color 0.15s;
}
.tts-home.tts-home .tts-ctasec__phone:hover { color: #fff; }
.tts-home.tts-home .tts-ctasec__phone svg { width: 1rem; height: 1rem; }

/* Page-level layout parity: Elementor adds a default 20px widget margin and
   flex gap between widgets, which the reference layout does not have. */
.elementor-18 .elementor-element.elementor-widget:not(:last-child) { margin-block-end: 0; }
.elementor-18 .e-con,
.elementor-18 .e-con-full { --gap: 0px; gap: 0px; }

/* Section background style-control wiring (Style tab > Section background). */
.tts-home.tts-home.tts-sol,
.tts-home.tts-home.tts-comp,
.tts-home.tts-home.tts-prods,
.tts-home.tts-home.tts-sust { background-color: var(--tts-secbg, transparent); }

@media (prefers-reduced-motion: reduce) {
	.tts-home.tts-home .tts-reveal { opacity: 1; transform: none; transition: none; }
	.tts-home.tts-home .tts-rise,
	.tts-home.tts-home .tts-float { animation: none; }
	.tts-home.tts-home,
	.tts-home.tts-home *,
	.tts-home.tts-home *::before,
	.tts-home.tts-home *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}

/* Shared page-hero chrome (used by About, Services, Rental, Lease, Purchase, Upgrade,
   Maintenance and Rebuild heroes). Moved here from tts-about.css in Phase 9C so the
   conditional page stylesheets can load per page without breaking these components. */
.tts-home.tts-home .tts-ab__herobg { position: absolute; inset: 0; background: linear-gradient(to bottom right, var(--h-navy-950) 0%, var(--h-navy-900) 50%, var(--h-navy-800) 100%); }
.tts-home.tts-home .tts-ab__herogrid { position: absolute; inset: 0; opacity: 0.6; }
.tts-home.tts-home .tts-ab__heroorb { position: absolute; left: -10rem; top: 2rem; height: 28rem; width: 28rem; border-radius: 9999px; background: rgba(232, 31, 34, 0.15); filter: blur(64px); }
.tts-home.tts-home .tts-ab__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; font-size: 0.75rem; line-height: 1rem; font-weight: 500; color: rgba(226, 235, 243, 0.7); }
.tts-home.tts-home .tts-ab__crumbhome { display: inline-flex; align-items: center; gap: 0.25rem; color: inherit; text-decoration: none; transition: color 0.15s; }
.tts-home.tts-home .tts-ab__crumbhome:hover { color: #fff; }
.tts-home.tts-home .tts-ab__crumbhome svg { width: 0.875rem; height: 0.875rem; }
.tts-home.tts-home .tts-ab__crumbsep { display: inline-flex; align-items: center; gap: 0.375rem; }
.tts-home.tts-home .tts-ab__crumbsep svg { width: 0.875rem; height: 0.875rem; opacity: 0.6; }
.tts-home.tts-home .tts-ab__crumbsep span[aria-current] { color: #fff; }

/* Phase 43: Elementor editor/preview - JS-gated reveal content must render immediately.
   The Elementor preview re-renders widget DOM after the one-shot frontend init runs, so
   reveal observers can miss the final nodes. In editor/preview only, show content in its
   completed state. Normal frontend behaviour is unchanged. */
body.tts-editor-preview .tts-home.tts-home .tts-reveal,
body.tts-editor-preview .tts-plist.tts-plist .tts-plist__reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
body.tts-editor-preview .tts-home.tts-home .tts-rise,
body.tts-editor-preview .tts-home.tts-home .tts-rise-1,
body.tts-editor-preview .tts-home.tts-home .tts-rise-2,
body.tts-editor-preview .tts-home.tts-home .tts-rise-3 { animation: none !important; }
