:root {
	--navy: #071326;
	--navy-2: #0b1b33;
	--ink: #0f172a;
	--muted: #64748b;
	--soft: #f5f8fc;
	--white: #ffffff;
	--blue: #2563eb;
	--blue-2: #60a5fa;
	--amber: #f59e0b;
	--amber-2: #fcd34d;
	--green: #10b981;
	--border: #e2e8f0;
	--shadow: 0 22px 70px rgba(15, 23, 42, 0.14);
	--radius: 8px;
	--max: 1180px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body.wgl-no-header-footer {
	margin: 0;
	background: var(--white);
	color: var(--ink);
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.6;
}

img {
	display: block;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

button {
	font: inherit;
}

.wgl-page {
	overflow: hidden;
}

.container {
	width: min(var(--max), calc(100% - 40px));
	margin: 0 auto;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 22px;
	border-radius: var(--radius);
	border: 1px solid transparent;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.btn::after,
.svc-lnk::after,
.blog-link::after {
	content: "\2192";
	margin-left: 8px;
	font-weight: 900;
}

.btn:hover,
.svc-lnk:hover,
.blog-link:hover {
	transform: translateY(-2px);
}

.btn-primary {
	background: var(--blue);
	color: var(--white);
	box-shadow: 0 12px 28px rgba(37, 99, 235, 0.26);
}

.btn-green {
	background: var(--amber);
	color: #111827;
	box-shadow: 0 12px 28px rgba(245, 158, 11, 0.25);
}

.btn-ghost {
	background: rgba(255, 255, 255, 0.08);
	color: var(--white);
	border-color: rgba(255, 255, 255, 0.22);
}

.btn-outline {
	background: transparent;
	color: var(--blue);
	border-color: rgba(37, 99, 235, 0.35);
}

.sec-center {
	max-width: 760px;
	margin: 0 auto 52px;
	text-align: center;
}

.sec-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	color: var(--blue);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.sec-label::before {
	content: "";
	width: 22px;
	height: 3px;
	border-radius: 20px;
	background: currentColor;
}

.sec-title {
	margin: 0 0 18px;
	color: var(--ink);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 2.45rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.08;
}

.sec-title span,
.hero-h1 span,
.cta-title span {
	color: var(--blue);
}

.sec-sub {
	max-width: 680px;
	margin: 0;
	color: var(--muted);
	font-size: 1rem;
}

.fi {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.fi.vis {
	opacity: 1;
	transform: none;
}

.hero {
	position: relative;
	min-height: 760px;
	padding: 120px 0 88px;
	background: var(--navy);
	color: var(--white);
}

.hero-grid-bg,
.process-sec::before,
.cta-sec::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 52px 52px;
	pointer-events: none;
}

.hero-glow,
.hero-glow2 {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.hero-glow {
	background: linear-gradient(135deg, rgba(37, 99, 235, 0.24), transparent 42%);
}

.hero-glow2 {
	background: linear-gradient(315deg, rgba(245, 158, 11, 0.16), transparent 44%);
}

.hero-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 0.82fr);
	gap: 64px;
	align-items: center;
}

.hero-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
	padding: 9px 14px;
	border: 1px solid rgba(245, 158, 11, 0.28);
	border-radius: 999px;
	background: rgba(245, 158, 11, 0.1);
	color: var(--amber-2);
	font-size: 0.85rem;
	font-weight: 800;
}

.dot,
.dot2 {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--amber);
	box-shadow: 0 0 0 6px rgba(245, 158, 11, 0.14);
}

.hero-h1 {
	margin: 0 0 24px;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 4rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.02;
}

.hero-h1 span,
.cta-title span {
	background: linear-gradient(135deg, var(--blue-2), var(--amber-2));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.hero-p {
	max-width: 620px;
	margin: 0 0 30px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 1.08rem;
}

.hero-ctas,
.about-ctas,
.cta-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.hero-social-proof {
	display: flex;
	gap: 14px;
	align-items: center;
	margin-top: 28px;
}

.soc-avatars {
	display: flex;
}

.soc-av {
	display: grid;
	width: 38px;
	height: 38px;
	margin-left: -8px;
	place-items: center;
	border: 2px solid var(--navy);
	border-radius: 999px;
	background: linear-gradient(135deg, var(--blue), var(--amber));
	color: var(--white);
	font-weight: 900;
}

.soc-av:first-child {
	margin-left: 0;
}

.soc-txt {
	color: rgba(255, 255, 255, 0.64);
	font-size: 0.9rem;
}

.soc-txt strong {
	display: block;
	color: var(--white);
}

.hero-vis {
	position: relative;
	min-height: 480px;
}

.dash-card,
.float-card {
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.06);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(16px);
}

.dash-card {
	position: relative;
	z-index: 2;
	margin: 58px auto 0;
	padding: 24px;
}

.dash-top,
.rank-row,
.blog-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.dash-title {
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 900;
}

.live-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(37, 99, 235, 0.18);
	color: #bfdbfe;
	font-size: 0.75rem;
	font-weight: 900;
}

.dot2 {
	width: 6px;
	height: 6px;
	background: var(--blue-2);
	box-shadow: none;
}

.dash-scores {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin: 24px 0;
}

.score-box {
	padding: 18px;
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.08);
	text-align: center;
}

.score-num {
	color: var(--amber-2);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 2.1rem;
	font-weight: 900;
	line-height: 1;
}

.score-lbl,
.rank-kw,
.fc-lbl {
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.82rem;
}

.dash-divider {
	margin: 4px 0 14px;
	color: rgba(255, 255, 255, 0.42);
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.rank-row {
	padding: 12px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rank-badge {
	display: inline-flex;
	min-width: 34px;
	justify-content: center;
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--amber);
	color: #111827;
	font-size: 0.78rem;
	font-weight: 900;
}

.rank-up {
	margin-left: 6px;
	color: var(--green);
	font-size: 0.72rem;
	font-weight: 900;
}

.float-card {
	position: absolute;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px;
}

.fc-tl {
	top: 0;
	left: 0;
}

.fc-br {
	right: 0;
	bottom: 30px;
}

.fc-icon {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: var(--radius);
	color: var(--ink);
	font-size: 0.72rem;
	font-weight: 900;
}

.fc-icon.g {
	background: #fef3c7;
}

.fc-icon.b {
	background: #dbeafe;
}

.fc-val {
	color: var(--white);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 900;
}

.marquee-wrap {
	padding: 18px 0;
	background: var(--navy-2);
	color: rgba(255, 255, 255, 0.82);
}

.marquee-label {
	margin-bottom: 12px;
	text-align: center;
	color: rgba(255, 255, 255, 0.44);
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
}

.marquee-mask {
	overflow: hidden;
}

.marquee-track {
	display: flex;
	width: max-content;
	gap: 14px;
	animation: wgl-marquee 42s linear infinite;
}

.tech-chip {
	flex: 0 0 auto;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	font-size: 0.88rem;
}

@keyframes wgl-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

.stats-sec {
	padding: 34px 0;
	background: var(--navy-2);
	color: var(--white);
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.stat-col {
	padding: 24px 16px;
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.06);
	text-align: center;
}

.stat-n {
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 2.7rem;
	font-weight: 900;
	line-height: 1;
}

.stat-n em {
	color: var(--amber);
	font-style: normal;
}

.stat-d {
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.56);
	font-size: 0.9rem;
}

.about-sec,
.services-sec,
.why-sec,
.blog-sec {
	padding: 96px 0;
	background: var(--soft);
}

.about-grid,
.why-grid,
.faq-grid {
	display: grid;
	grid-template-columns: 0.88fr 1fr;
	gap: 64px;
	align-items: center;
}

.about-vis {
	position: relative;
	min-height: 460px;
}

.about-img {
	display: grid;
	min-height: 420px;
	place-items: center;
	border-radius: var(--radius);
	background: linear-gradient(135deg, var(--blue), var(--amber));
	box-shadow: var(--shadow);
}

.about-img-inner {
	text-align: center;
	color: var(--white);
}

.big-icon {
	display: grid;
	width: 92px;
	height: 92px;
	margin: 0 auto 18px;
	place-items: center;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.14);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 900;
}

.brand-name {
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 1.55rem;
	font-weight: 900;
}

.est {
	color: rgba(255, 255, 255, 0.72);
}

.ab-card {
	position: absolute;
	display: flex;
	gap: 12px;
	align-items: center;
	max-width: 250px;
	padding: 14px 16px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow);
}

.ab-card.tl {
	top: 34px;
	left: -18px;
}

.ab-card.br {
	right: -18px;
	bottom: 42px;
	display: block;
}

.ic {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: var(--radius);
	background: #fffbeb;
	color: var(--amber);
	font-weight: 900;
}

.ic-lbl,
.wr-title,
.wct {
	color: var(--ink);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 900;
}

.ic-sub,
.num-lbl,
.wr-sub,
.wcd {
	color: var(--muted);
	font-size: 0.88rem;
}

.big-num {
	color: var(--blue);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 2rem;
	font-weight: 900;
}

.feat-list,
.svc-list {
	display: grid;
	gap: 12px;
	margin: 26px 0;
	padding: 0;
	list-style: none;
}

.feat-list li,
.svc-list li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: var(--muted);
}

.ck,
.svc-list li::before {
	display: inline-grid;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	place-items: center;
	border-radius: 999px;
	background: #dbeafe;
	color: var(--blue);
	font-size: 0.78rem;
	font-weight: 900;
}

.svc-list li::before {
	content: "\2713";
}

.services-grid,
.cases-grid,
.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.svc-card,
.case-card,
.blog-card,
.wc,
.faq-item {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: 0 16px 46px rgba(15, 23, 42, 0.08);
}

.svc-card {
	position: relative;
	padding: 28px;
	overflow: hidden;
}

.svc-card.feat {
	background: var(--navy);
	color: var(--white);
	border-color: var(--navy);
}

.svc-card.feat .svc-desc,
.svc-card.feat .svc-list li {
	color: rgba(255, 255, 255, 0.68);
}

.svc-icon,
.wci,
.blog-thumb {
	display: grid;
	width: 54px;
	height: 54px;
	margin-bottom: 18px;
	place-items: center;
	border-radius: var(--radius);
	background: #dbeafe;
	color: var(--blue);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 0.8rem;
	font-weight: 900;
}

.svc-title,
.case-title,
.blog-title,
.step-title {
	margin: 0 0 10px;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 1.18rem;
	font-weight: 900;
	line-height: 1.25;
}

.svc-desc,
.case-desc,
.blog-exrp,
.step-desc {
	margin: 0;
	color: var(--muted);
	font-size: 0.94rem;
}

.svc-lnk,
.blog-link {
	display: inline-flex;
	align-items: center;
	margin-top: 12px;
	color: var(--blue);
	font-weight: 900;
}

.process-sec,
.testi-sec,
.cta-sec {
	position: relative;
	padding: 96px 0;
	background: var(--navy);
	color: var(--white);
}

.process-sec .container,
.testi-sec .container,
.cta-inner {
	position: relative;
	z-index: 1;
}

.process-sec .sec-title,
.testi-sec .sec-title,
.process-sec .sec-title span,
.testi-sec .sec-title span {
	color: var(--white);
}

.process-sec .sec-label,
.testi-sec .sec-label {
	color: var(--amber);
}

.process-sec .sec-sub,
.testi-sec .sec-sub {
	color: rgba(255, 255, 255, 0.55);
}

.steps-row {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px;
	margin-top: 58px;
}

.step-col {
	text-align: center;
}

.step-circle {
	display: grid;
	width: 74px;
	height: 74px;
	margin: 0 auto 16px;
	place-items: center;
	border: 2px solid rgba(96, 165, 250, 0.45);
	border-radius: 999px;
	background: var(--navy-2);
	color: var(--amber-2);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 900;
}

.step-title {
	color: var(--white);
}

.step-desc {
	color: rgba(255, 255, 255, 0.56);
}

.why-track {
	display: grid;
	gap: 14px;
	margin: 30px 0;
}

.why-row {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 14px;
	align-items: start;
	padding: 16px;
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: 0 12px 34px rgba(15, 23, 42, 0.07);
}

.wr-icon {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: var(--radius);
	background: #fffbeb;
	color: var(--amber);
	font-size: 0.75rem;
	font-weight: 900;
}

.why-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.wc {
	padding: 22px;
}

.wci {
	width: 44px;
	height: 44px;
	margin-bottom: 12px;
	font-size: 0.7rem;
}

.wct {
	margin-bottom: 6px;
}

.cases-sec,
.portfolio-sec,
.faq-sec {
	padding: 96px 0;
	background: var(--white);
}

.cases-hd,
.blog-hd {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: flex-end;
	margin-bottom: 42px;
}

.case-card {
	overflow: hidden;
}

.case-banner {
	position: relative;
	display: grid;
	min-height: 190px;
	place-items: center;
	color: var(--white);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 1.25rem;
	font-weight: 900;
}

.cb-purple {
	background: linear-gradient(135deg, #667eea, #764ba2);
}

.cb-green {
	background: linear-gradient(135deg, #11998e, #38ef7d);
}

.cb-pink {
	background: linear-gradient(135deg, #f093fb, #f5576c);
}

.case-badge {
	position: absolute;
	right: 16px;
	bottom: 16px;
	padding: 7px 12px;
	border-radius: var(--radius);
	background: var(--white);
	color: var(--ink);
	font-size: 0.78rem;
}

.case-badge span {
	color: var(--blue);
	font-weight: 900;
}

.case-body,
.blog-body {
	padding: 22px;
}

.case-tag,
.blog-cat {
	display: inline-flex;
	padding: 4px 10px;
	border-radius: 999px;
	background: #dbeafe;
	color: var(--blue);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.case-metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-top: 18px;
}

.cm-val {
	color: var(--blue);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 900;
}

.cm-lbl {
	color: var(--muted);
	font-size: 0.72rem;
}

.portfolio-hd {
	text-align: center;
}

.portfolio-hd .sec-label {
	justify-content: center;
}

.portfolio-sub {
	max-width: 760px;
	margin: -34px auto 32px;
	text-align: center;
	color: var(--muted);
}

.portfolio-filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 28px;
}

.pf-btn {
	padding: 9px 14px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--white);
	color: var(--muted);
	cursor: pointer;
	font-size: 0.88rem;
	font-weight: 800;
}

.pf-btn.active {
	background: var(--blue);
	color: var(--white);
	border-color: var(--blue);
}

.portfolio-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.pf-item {
	position: relative;
	min-height: 310px;
	overflow: hidden;
	border-radius: var(--radius);
	background: var(--navy);
	box-shadow: var(--shadow);
}

.pf-item.hide {
	display: none;
}

.pf-img,
.pf-fallback {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.28s ease;
}

.pf-item:hover .pf-img,
.pf-item:hover .pf-fallback {
	transform: scale(1.04);
}

.pf-fallback {
	display: grid;
	place-items: center;
	color: var(--white);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 1.3rem;
	font-weight: 900;
}

.pfb1 {
	background: linear-gradient(135deg, #667eea, #764ba2);
}

.pfb2 {
	background: linear-gradient(135deg, #11998e, #38ef7d);
}

.pfb3 {
	background: linear-gradient(135deg, #f093fb, #f5576c);
}

.pfb4 {
	background: linear-gradient(135deg, #2563eb, #0f172a);
}

.pfb5 {
	background: linear-gradient(135deg, #f59e0b, #2563eb);
}

.pfb6 {
	background: linear-gradient(135deg, #0f172a, #2563eb);
}

.pf-overlay {
	position: absolute;
	inset: auto 0 0;
	padding: 24px;
	background: linear-gradient(transparent, rgba(2, 6, 23, 0.88));
	color: var(--white);
}

.pf-view {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.14);
	color: var(--white);
	backdrop-filter: blur(10px);
}

.pf-cat {
	color: var(--amber-2);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.pf-title {
	margin-top: 8px;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 1.15rem;
	font-weight: 900;
}

.pf-meta {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.86rem;
}

.portfolio-cta {
	margin-top: 34px;
	text-align: center;
}

.testi-carousel {
	overflow: hidden;
}

.testi-track {
	display: flex;
	transition: transform 0.45s ease;
}

.tc {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	flex: 0 0 100%;
	gap: 22px;
	padding: 0 1px;
}

.tc-quote-side,
.tc-metric-side {
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.06);
	padding: 34px;
}

.tc-bigquote {
	color: rgba(255, 255, 255, 0.16);
	font-family: Georgia, serif;
	font-size: 5rem;
	line-height: 0.8;
}

.tc-stars {
	margin-bottom: 16px;
	color: var(--amber);
	letter-spacing: 0;
}

.tc-text {
	margin: 0 0 24px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.05rem;
}

.tc-rev {
	display: flex;
	gap: 12px;
	align-items: center;
}

.tc-av {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--blue), var(--amber));
	font-weight: 900;
}

.tc-name {
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 900;
}

.tc-role {
	color: rgba(255, 255, 255, 0.54);
	font-size: 0.88rem;
}

.tc-metric-title {
	margin-bottom: 14px;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.tcm-item {
	padding: 14px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.tcm-val {
	color: var(--amber-2);
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 1.75rem;
	font-weight: 900;
}

.tcm-lbl {
	color: rgba(255, 255, 255, 0.6);
}

.testi-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 28px;
}

.testi-arr,
.testi-dot {
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.08);
	color: var(--white);
	cursor: pointer;
}

.testi-arr {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: var(--radius);
}

.testi-dots {
	display: flex;
	gap: 8px;
}

.testi-dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border-radius: 999px;
}

.testi-dot.active {
	width: 30px;
	background: var(--blue);
}

.faq-grid {
	align-items: start;
}

.faq-sticky {
	position: sticky;
	top: 28px;
}

.faq-sticky .sec-sub {
	margin-bottom: 26px;
}

.faq-contact-box {
	margin-top: 30px;
	padding: 22px;
	border-radius: var(--radius);
	background: var(--soft);
}

.bc-icon {
	display: grid;
	width: 46px;
	height: 46px;
	margin-bottom: 12px;
	place-items: center;
	border-radius: var(--radius);
	background: #dbeafe;
	color: var(--blue);
	font-weight: 900;
}

.bc-title {
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 900;
}

.bc-info {
	margin-top: 6px;
	color: var(--muted);
	font-size: 0.92rem;
}

.bc-info a {
	color: var(--blue);
	font-weight: 800;
}

.faq-list {
	display: grid;
	gap: 14px;
}

.faq-item {
	overflow: hidden;
}

.faq-q {
	display: flex;
	width: 100%;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 22px;
	border: 0;
	background: transparent;
	color: var(--ink);
	cursor: pointer;
	text-align: left;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 900;
}

.faq-ico {
	display: grid;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	place-items: center;
	border-radius: 999px;
	background: #dbeafe;
	color: var(--blue);
	transition: transform 0.2s ease;
}

.faq-a {
	display: none;
	padding: 0 22px 22px;
	color: var(--muted);
}

.faq-item.open .faq-a {
	display: block;
}

.faq-item.open .faq-ico {
	transform: rotate(45deg);
	background: var(--blue);
	color: var(--white);
}

.blog-sec {
	background: var(--soft);
}

.blog-card {
	overflow: hidden;
}

.blog-thumb {
	width: 100%;
	height: 180px;
	margin: 0;
	border-radius: 0;
	color: var(--white);
	font-size: 1.2rem;
}

.bt1 {
	background: linear-gradient(135deg, #667eea, #764ba2);
}

.bt2 {
	background: linear-gradient(135deg, #11998e, #38ef7d);
}

.bt3 {
	background: linear-gradient(135deg, #f093fb, #f5576c);
}

.blog-meta {
	margin-bottom: 14px;
}

.blog-dt {
	color: var(--muted);
	font-size: 0.82rem;
}

.cta-sec {
	padding: 110px 20px;
}

.cta-inner {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

.cta-tag {
	display: inline-flex;
	margin-bottom: 20px;
	padding: 8px 14px;
	border: 1px solid rgba(245, 158, 11, 0.32);
	border-radius: 999px;
	background: rgba(245, 158, 11, 0.12);
	color: var(--amber-2);
	font-size: 0.82rem;
	font-weight: 900;
	text-transform: uppercase;
}

.cta-title {
	margin: 0 0 20px;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1.05;
}

.cta-p {
	max-width: 720px;
	margin: 0 auto 28px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 1.05rem;
}

.cta-btns {
	justify-content: center;
}

.cta-note {
	margin: 24px 0 0;
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.9rem;
}

@media (max-width: 1100px) {
	.hero-inner,
	.about-grid,
	.why-grid,
	.faq-grid {
		grid-template-columns: 1fr;
	}

	.hero-vis {
		min-height: 430px;
	}

	.services-grid,
	.cases-grid,
	.blog-grid,
	.portfolio-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.steps-row {
		grid-template-columns: repeat(3, 1fr);
	}

	.stats-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 760px) {
	.container {
		width: min(100% - 28px, var(--max));
	}

	.hero {
		min-height: auto;
		padding: 84px 0 64px;
	}

	.hero-h1 {
		font-size: 2.6rem;
	}

	.sec-title,
	.cta-title {
		font-size: 2rem;
	}

	.hero-inner {
		gap: 36px;
	}

	.hero-ctas,
	.about-ctas,
	.cta-btns {
		align-items: stretch;
		flex-direction: column;
	}

	.btn {
		width: 100%;
	}

	.hero-social-proof {
		align-items: flex-start;
		flex-direction: column;
	}

	.hero-vis {
		min-height: 0;
	}

	.dash-card {
		margin-top: 0;
	}

	.float-card {
		position: static;
		margin: 14px 0;
	}

	.about-vis {
		min-height: 380px;
	}

	.about-img {
		min-height: 340px;
	}

	.ab-card.tl,
	.ab-card.br {
		left: 12px;
		right: 12px;
	}

	.services-grid,
	.cases-grid,
	.blog-grid,
	.portfolio-grid,
	.why-cards,
	.steps-row,
	.stats-grid,
	.tc {
		grid-template-columns: 1fr;
	}

	.cases-hd,
	.blog-hd {
		align-items: flex-start;
		flex-direction: column;
	}

	.case-metrics {
		grid-template-columns: 1fr;
	}

	.faq-sticky {
		position: static;
	}

	.portfolio-sub {
		margin-top: -24px;
	}
}

