/*
Theme Name: WTS IT Solutions Astra Child
Theme URI: https://www.wtsitsolutions.com/
Description: Astra child theme for the WTS IT Solutions WordPress website.
Author: WTS IT Solutions
Author URI: https://www.wtsitsolutions.com/
Template: astra
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.2
Text Domain: wts-astra-child
*/

:root {
	--wts-red: #e31e24;
	--wts-blue: #1b3e8f;
	--wts-yellow: #f5a623;
	--wts-white: #ffffff;
	--wts-dark: #0b0707;
	--wts-gray: #666666;
	--wts-light: #f4f9ff;
	--wts-border: #e6edf5;
	--wts-shadow: 0 18px 45px rgba(18, 43, 84, 0.12);
}

* { box-sizing: border-box; }
body.wts-site-body { margin: 0; color: var(--wts-gray); font-family: Arial, Helvetica, sans-serif; background: var(--wts-white); }
.wts-main { overflow: hidden; }
.wts-container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.red, .red-text { color: var(--wts-red); }
.blue, .blue-text { color: #0867f6; }
.gold { color: var(--wts-yellow); }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { color: var(--wts-dark); margin: 0 0 14px; line-height: 1.1; letter-spacing: 0; }
h1 { font-size: clamp(30px, 4vw, 42px); font-weight: 800; }
h2 { font-size: clamp(30px, 4vw, 30px); font-weight: 700; }
h3 { font-size: 18px; font-weight: 800; }
p { line-height: 1.75; margin: 0 0 18px; }
svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.wts-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); box-shadow: 0 8px 28px rgba(23,48,86,.08); }
.wts-nav-wrap { min-height: 88px; display: flex; align-items: center; gap: 28px; }
.wts-logo { display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1; min-width: 120px; }
.wts-logo span { font-size: 44px; font-weight: 900; letter-spacing: 1px; }
.wts-logo small { color: var(--wts-dark); font-size: 11px; letter-spacing: 4px; margin-left: 4px; }
a:hover, a:focus
 {
    color: none;
}
.wts-primary-nav { display: flex; gap: 26px; margin-left: auto; align-items: center; color: #111827; font-weight: 700; font-size: 14px; }
.wts-primary-nav a { position: relative; padding: 36px 0; }
.wts-primary-nav a:hover, .wts-primary-nav a:first-child { color: var(--wts-red); }
.wts-primary-nav a:first-child::after, .wts-primary-nav a:hover::after { content: ""; height: 3px; background: var(--wts-red); position: absolute; left: 0; right: 0; bottom: 22px; border-radius: 2px; }
.wts-header-actions { display: flex; gap: 18px; align-items: center; font-weight: 800; color: var(--wts-dark); white-space: nowrap; }
.wts-phone { display: inline-flex; align-items: center; gap: 9px; }
.wts-phone svg { color: #0867f6; }
.wts-btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 6px; padding: 0 22px; font-weight: 800; border: 2px solid transparent; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; cursor: pointer; }
.wts-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(227,30,36,.18); }
.wts-btn-red { background: var(--wts-red); color: var(--wts-white); }
.wts-btn-blue { background: #1b3e8f; color: var(--wts-white); }
.wts-btn-white { background: var(--wts-white); color: var(--wts-red); }
.wts-btn-outline { border-color: #1b3e8f; color: #1b3e8f; background: var(--wts-white); }
.wts-btn-outline-red { border-color: var(--wts-red); color: var(--wts-red); background: var(--wts-white); }
.wts-menu-toggle { display: none; width: 42px; height: 42px; background: var(--wts-red); border: 0; border-radius: 6px; padding: 10px; }
.wts-menu-toggle span { display: block; height: 2px; background: #fff; margin: 5px 0; }
.wts-hero { position: relative; background: linear-gradient(100deg,#ffffff 0%,#eff9ff 100%); padding: 60px 0 24px; }
.wts-hero-grid { display: grid; grid-template-columns: 1fr 1.18fr; align-items: center; gap: 42px; min-height: 520px; }
.wts-kicker { color: var(--wts-red); font-weight: 900; font-size: 14px; letter-spacing: .4px; margin-bottom: 16px; }
.wts-kicker.light { color: #fff; }
.wts-hero-copy p:not(.wts-kicker) { max-width: 560px; font-size: 17px; }
.wts-actions { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 26px; }
.wts-hero-visual { position: relative; min-height: 500px; display: flex; align-items: center; justify-content: center; }
.wts-blob-blue { position: absolute; width: 220px; height: 320px; border-radius: 0 0 0 100%; background: #47bffc; right: -80px; top: 40px; }
.wts-laptop-img { position: relative; z-index: 2; width: 100%; max-width: 760px; filter: drop-shadow(0 24px 24px rgba(0,0,0,.18)); }
.wts-float-card { position: absolute; z-index: 3; width: 112px; min-height: 96px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: #fff; color: var(--wts-dark); border-radius: 12px; box-shadow: var(--wts-shadow); font-size: 12px; font-weight: 800; text-align: center; padding: 12px; }
.wts-float-card svg { width: 36px; height: 36px; color: var(--wts-red); }
.wts-float-card.cloud { top: 56px; left: 70px; }
.wts-float-card.cyber { left: 18px; top: 230px; }
.wts-float-card.web { right: 42px; top: 62px; }
.wts-float-card.consult { right: 48px; bottom: 105px; }
.wts-float-card.cloud svg { color: #0867f6; }
.wts-dot-pattern { position: absolute; left: 0; top: 190px; width: 28px; height: 120px; background-image: radial-gradient(var(--wts-red) 2px, transparent 2px); background-size: 14px 14px; }
.wts-stats { width: min(1120px, calc(100% - 40px)); margin: -2px auto 0; display: grid; grid-template-columns: repeat(4,1fr); border-radius: 10px 10px 0 0; overflow: hidden; position: relative; z-index: 4; }
.wts-stat { min-height: 96px; color: #fff; display: grid; grid-template-columns: 54px auto; grid-template-rows: auto auto; align-content: center; column-gap: 16px; padding: 20px 28px; }
.wts-stat svg { grid-row: 1 / 3; width: 42px; height: 42px; align-self: center; }
.wts-stat strong { font-size: 32px; line-height: 1; }
.wts-stat span { font-weight: 700; font-size: 14px; }
.blue-bg { background: var(--wts-blue); }
.red-bg { background: var(--wts-red); }
.wts-section { padding: 72px 0; background: #fff; }
.wts-section.soft, .wts-testimonials { background: linear-gradient(180deg,#f3fbff,#fff); }
.wts-section.compact { padding-top: 38px; }
.wts-section-head { margin-bottom: 26px; }
.wts-section-head.split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; }
.wts-section-head.inline { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.wts-section-head p { max-width: 520px; }
.wts-card-grid { display: grid; gap: 22px; }
.wts-card-grid.services { grid-template-columns: repeat(6,1fr); }
.wts-service-card { border: 1px solid var(--wts-border); border-radius: 8px; padding: 28px 20px; text-align: center; background: #fff; transition: box-shadow .2s ease, transform .2s ease; }
.wts-service-card:hover, .wts-project-card:hover { transform: translateY(-4px); box-shadow: var(--wts-shadow); }
.wts-card-icon { width: 52px; height: 52px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; color: var(--wts-red); }
.wts-card-icon.red { color: var(--wts-red); background: rgba(227,30,36,.08); }
.wts-card-icon.blue { color: #0867f6; background: rgba(8,103,246,.08); }
.wts-card-icon.gold { color: var(--wts-yellow); background: rgba(245,166,35,.12); }
.wts-service-card p { font-size: 14px; margin-bottom: 0; }
.wts-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; position: relative; }
.wts-about-grid::after { content: ""; position: absolute; right: -220px; bottom: -40px; width: 310px; height: 310px; border-radius: 50%; background: var(--wts-yellow); z-index: 0; }
.wts-about-grid > * { position: relative; z-index: 1; }
.wts-about-image { position: relative; }
.wts-about-image img, .wts-rounded-img { width: 100%; border-radius: 8px; display: block; box-shadow: var(--wts-shadow); }
.wts-badge { position: absolute; right: 0; bottom: 0; transform: translate(0, 20%); background: var(--wts-red); color: #fff; border-radius: 8px; padding: 18px 26px; display: grid; grid-template-columns: 44px auto; column-gap: 14px; align-items: center; min-width: 230px; }
.wts-badge svg { grid-row: 1 / 3; width: 36px; height: 36px; }
.wts-badge strong { font-size: 30px; line-height: 1; }
.wts-badge span { font-weight: 700; font-size: 13px; }
.wts-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; margin: 22px 0 28px; color: var(--wts-dark); font-weight: 700; }
.wts-checks span::before { content: "✓"; display: inline-flex; width: 18px; height: 18px; align-items: center; justify-content: center; border-radius: 50%; background: #0867f6; color: #fff; margin-right: 10px; font-size: 12px; }
.wts-card-grid.projects { grid-template-columns: repeat(4,1fr); }
.wts-project-card { border: 1px solid var(--wts-border); border-radius: 8px; overflow: hidden; background: #fff; transition: box-shadow .2s ease, transform .2s ease; }
.wts-project-card img { width: 100%; aspect-ratio: 1.75; object-fit: cover; display: block; }
.wts-project-body { padding: 0 18px 18px; margin-top: -26px; position: relative; }
.wts-project-body .wts-card-icon { margin-bottom: 12px; color: #fff; background: var(--wts-red); }
.wts-project-body .wts-card-icon.gold { background: var(--wts-yellow); color: #fff; }
.wts-project-body h3, .wts-project-body h2 { font-size: 17px; margin-bottom: 6px; }
.wts-project-body p { font-size: 13px; margin: 0; }
.wts-testimonials { padding: 60px 0 76px; position: relative; }
.wts-testimonials h2, .centered { text-align: center; }
.wts-testimonial-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 58px 16px; scrollbar-width: none; }
.wts-testimonial { scroll-snap-align: center; background: #fff; border-radius: 8px; box-shadow: var(--wts-shadow); padding: 28px; }
.wts-testimonial b { color: var(--wts-red); font-size: 48px; line-height: .7; }
.wts-testimonial .avatar { width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg,#d9ecff,#0867f6); display: inline-block; margin-right: 12px; vertical-align: middle; }
.wts-testimonial small { display: block; margin-left: 60px; }
.wts-slider { position: absolute; top: 55%; width: 36px; height: 36px; border-radius: 50%; border: 0; color: #fff; background: var(--wts-red); font-size: 28px; line-height: 1; cursor: pointer; }
.wts-slider.prev { left: max(20px, calc((100% - 1120px) / 2)); }
.wts-slider.next { right: max(20px, calc((100% - 1120px) / 2)); }
.wts-cta { background: linear-gradient(105deg, var(--wts-yellow), #ffc400 36%, #0867f6 58%, var(--wts-red)); color: #fff; }
.wts-cta-inner { min-height: 96px; display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 24px; }
.wts-cta h2 { color: #111; font-size: 27px; margin-bottom: 4px; }
.wts-cta p { color: #111; margin: 0; font-weight: 700; }
.wts-cta-icon { width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: #0867f6; background: #fff; }
.wts-footer { background: #fff; }
.wts-footer-grid { display: grid; grid-template-columns: 1.4fr repeat(4,1fr); gap: 38px; padding: 34px 0; border-bottom: 1px solid var(--wts-border); }
.wts-footer h3 { font-size: 17px; }
.wts-footer a { display: block; margin-bottom: 8px; color: var(--wts-dark); }
.wts-socials { display: flex; gap: 10px; margin-top: 16px; }
.wts-socials a { width: 28px; height: 28px; border-radius: 50%; background: #0867f6; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; margin: 0; }
.wts-newsletter { display: flex; border: 1px solid var(--wts-border); border-radius: 6px; overflow: hidden; }
.wts-newsletter input { min-width: 0; border: 0; padding: 12px; flex: 1; }
.wts-newsletter button { width: 44px; border: 0; background: var(--wts-red); color: #fff; }
.wts-copyright { text-align: center; padding: 18px; color: var(--wts-gray); }
.wts-page-banner { background: linear-gradient(135deg,var(--wts-red),#b50f15); color: #fff; padding: 86px 0; }
.wts-page-banner h1 { color: #fff; }
.wts-page-banner p { max-width: 640px; }
.wts-form { display: grid; gap: 18px; border: 1px solid var(--wts-border); border-radius: 8px; padding: 28px; box-shadow: var(--wts-shadow); background: #fff; }
.wts-form label { display: grid; gap: 8px; color: var(--wts-dark); font-weight: 800; }
.wts-form input, .wts-form select, .wts-form textarea { width: 100%; border: 1px solid var(--wts-border); border-radius: 6px; padding: 13px 14px; font: inherit; color: var(--wts-dark); }
.wts-form .check { display: flex; align-items: center; gap: 10px; }
.wts-form .check input { width: auto; }
.wts-contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 44px; align-items: start; }
.narrow { max-width: 720px; }
.wts-card-grid.dashboard { grid-template-columns: repeat(4,1fr); }
.wts-service-card.large { text-align: left; }

@media (max-width: 1100px) {
	.wts-header-actions { display: none; }
	.wts-card-grid.services { grid-template-columns: repeat(3,1fr); }
	.wts-card-grid.projects, .wts-card-grid.dashboard { grid-template-columns: repeat(2,1fr); }
	.wts-footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
	.wts-container, .wts-stats { width: min(100% - 28px, 680px); }
	.wts-nav-wrap { min-height: 76px; }
	.wts-menu-toggle { display: block; margin-left: auto; }
	.wts-primary-nav { display: none; position: absolute; left: 14px; right: 14px; top: 76px; padding: 14px; background: #fff; border: 1px solid var(--wts-border); box-shadow: var(--wts-shadow); border-radius: 8px; }
	.wts-primary-nav.is-open { display: grid; gap: 0; }
	.wts-primary-nav a { padding: 14px; }
	.wts-primary-nav a::after { display: none; }
	.wts-hero-grid, .wts-about-grid, .wts-section-head.split, .wts-contact-grid { grid-template-columns: 1fr; }
	.wts-hero { padding-top: 34px; }
	.wts-hero-visual { min-height: 380px; }
	.wts-blob-blue { width: 220px; height: 320px; right: -60px; }
	.wts-float-card { transform: scale(.82); }
	.wts-float-card.cloud { top: 8px; left: 0; }
	.wts-float-card.cyber { left: -14px; top: 170px; }
	.wts-float-card.web { right: -8px; top: 20px; }
	.wts-float-card.consult { right: -4px; bottom: 50px; }
	.wts-stats { grid-template-columns: repeat(2,1fr); }
	.wts-section-head.inline { align-items: flex-start; flex-direction: column; }
	.wts-testimonial-track { grid-auto-columns: 82%; padding-inline: 44px; }
	.wts-cta-inner { grid-template-columns: 56px 1fr; padding: 20px 0; }
	.wts-cta-inner .wts-btn { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 560px) {
	h1 { font-size: 40px; }
	.wts-logo span { font-size: 36px; }
	.wts-card-grid.services, .wts-card-grid.projects, .wts-card-grid.dashboard, .wts-footer-grid, .wts-stats, .wts-checks { grid-template-columns: 1fr; }
	.wts-stat { min-height: 86px; }
	.wts-section { padding: 52px 0; }
	.wts-badge { position: relative; transform: none; margin-top: -4px; }
	.wts-testimonial-track { grid-auto-columns: 100%; padding-inline: 0; }
	.wts-slider { display: none; }
	.wts-footer-grid { gap: 22px; }
}

/* Critical homepage visual fixes */
header,
.hero-section,
.stats-bar,
.wts-cta-section,
footer {
	width: 100%;
}

.wts-container {
	max-width: 1400px;
	width: 85%;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
}

.services-section .wts-container,
.about-section .wts-container,
.projects-section .wts-container,
.testimonials-section .wts-container,
footer .wts-container {
	max-width: 1400px;
	width: 85%;
	margin: 0 auto;
}

.wts-header .wts-container {
	max-width: 1400px;
	width: 85%;
}

.hero-section {
	background: #fff;
	min-height: 600px;
	padding: 54px 0 0;
}

.wts-hero-grid {
	grid-template-columns: 45% 55%;
	gap: 26px;
	min-height: 600px;
}

.wts-hero-copy {
	align-self: center;
	padding-bottom: 36px;
}

.wts-hero-copy h1 {
	max-width: 620px;
	font-size: clamp(54px, 4.6vw, 78px);
	font-weight: 900;
	line-height: 1.04;
}

.wts-hero-copy p:not(.wts-kicker) {
	max-width: 540px;
	font-size: 17px;
	color: #4d5a6a;
}

.wts-hero-copy .blue {
	color: var(--wts-blue);
	display: inline-block;
}

.wts-hero-visual {
	min-height: 600px;
	justify-content: flex-end;
	overflow: visible;
}

.wts-blob-blue {
	z-index: 0;
	width: 220px;
	height: 320px;
	right: -76px;
	top: 44px;
	border-radius: 0 0 0 100%;
	background: #48c0f6;
}

.wts-laptop-img {
	z-index: 2;
	width: 100%;
	min-width: 500px;
	max-width: 760px;
	background: transparent;
	filter: drop-shadow(0 28px 26px rgba(20, 33, 49, .22));
}

.wts-float-card {
	z-index: 4;
	width: 126px;
	min-height: 106px;
	border-radius: 12px;
	box-shadow: 0 18px 42px rgba(22, 47, 83, .16);
}

.wts-float-card svg {
	width: 42px;
	height: 42px;
}

.wts-float-card.cloud {
	top: 92px;
	left: 72px;
}

.wts-float-card.cyber {
	left: 28px;
	top: 290px;
}

.wts-float-card.web {
	right: 12px;
	top: 110px;
}

.wts-float-card.consult {
	right: 20px;
	bottom: 128px;
}

.wts-dot-pattern {
	left: 0;
	top: 210px;
	width: 34px;
	height: 136px;
	background-size: 14px 14px;
}

.stats-bar {
	max-width: 1400px;
	width: 85%;
	margin: 0 auto;
	border-radius: 10px 10px 0 0;
}

.services-section {
	padding: 68px 0 58px;
}

.wts-card-grid.services {
	grid-template-columns: repeat(6, minmax(220px, 1fr));
	gap: 26px;
}

.wts-service-card {
	min-height: 220px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	border: 1px solid #87dbff;
}

.wts-card-icon {
	width: 58px;
	height: 58px;
	margin-bottom: 18px;
}

.wts-card-icon svg {
	width: 48px;
	height: 48px;
}

.wts-service-card h3 {
	min-height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.about-section {
	position: relative;
	overflow: hidden;
	padding: 80px 0 88px;
}

.wts-about-grid {
	grid-template-columns: minmax(400px, .92fr) 1fr;
	gap: 70px;
	isolation: isolate;
}

.wts-about-grid::after {
	z-index: -1;
	right: -310px;
	top: 150px;
	bottom: auto;
	width: 360px;
	height: 360px;
	opacity: .98;
}

.wts-about-grid > * {
	z-index: 1;
}

.wts-about-image img {
	min-height: 400px;
	object-fit: cover;
}

.wts-badge {
	right: 0;
	bottom: 0;
	transform: translate(0, 22%);
}

.projects-section {
	padding: 58px 0 76px;
}

.wts-card-grid.projects {
	grid-template-columns: repeat(4, minmax(220px, 1fr));
	gap: 28px;
}

.wts-project-card {
	border-radius: 8px;
}

.wts-project-card img {
	aspect-ratio: 1.85;
	background: linear-gradient(135deg, #07162d, #0a4f9f);
}

.wts-project-card {
	position: relative;
}

.wts-project-card::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: calc((100vw - 15px) / 12);
	max-height: 176px;
	min-height: 118px;
	background: linear-gradient(135deg, rgba(2, 18, 42, .2), rgba(27, 62, 143, .35));
	pointer-events: none;
	z-index: 1;
}

.wts-project-body {
	z-index: 2;
	padding: 0 22px 22px;
}

.wts-project-body .wts-card-icon {
	width: 52px;
	height: 52px;
	margin-left: 0;
}

.testimonials-section {
	padding: 74px 0 84px;
	background: #f1fbff;
}

.wts-testimonial-track {
	grid-auto-columns: calc((100% - 56px) / 3);
	gap: 28px;
	padding: 14px 66px 20px;
}

.wts-testimonial {
	min-height: 230px;
}

@media (min-width: 1500px) {
	.wts-container,
	.stats-bar,
	.wts-header .wts-container {
		width: 85%;
		max-width: 1400px;
	}

	.wts-nav-wrap {
		min-height: 84px;
	}

	.wts-section {
		padding-left: 0;
		padding-right: 0;
	}
}

@media (max-width: 1280px) {
	.wts-container,
	.stats-bar,
	.wts-header .wts-container {
		width: min(92%, 1180px);
		padding-left: 24px;
		padding-right: 24px;
	}

	.wts-card-grid.services {
		grid-template-columns: repeat(3, minmax(180px, 1fr));
	}

	.wts-laptop-img {
		min-width: 0;
	}
}

@media (max-width: 820px) {
	.wts-container,
	.stats-bar,
	.wts-header .wts-container {
		width: min(100% - 28px, 720px);
		padding-left: 0;
		padding-right: 0;
	}

	.wts-hero-grid,
	.wts-about-grid {
		grid-template-columns: 1fr;
	}

	.hero-section {
		min-height: auto;
	}

	.wts-hero-grid,
	.wts-hero-visual {
		min-height: 420px;
	}

	.wts-hero-copy h1 {
		font-size: 42px;
	}

	.wts-card-grid.services,
	.wts-card-grid.projects {
		grid-template-columns: repeat(2, minmax(180px, 1fr));
	}

	.wts-about-grid::after {
		right: -240px;
		top: 260px;
	}
}

@media (max-width: 560px) {
	.wts-card-grid.services,
	.wts-card-grid.projects {
		grid-template-columns: 1fr;
	}

	.wts-hero-visual {
		min-height: 340px;
	}

	.wts-float-card {
		width: 108px;
		min-height: 92px;
	}
}

/* Four requested visual fixes: hero shapes, testimonial arrows, CTA, footer. */
.hero-section {
	position: relative;
	overflow: hidden;
}

.hero-section > .wts-blob-blue {
	position: absolute;
	z-index: 0;
	width: 220px;
	height: 320px;
	right: 0;
	top: 0;
	border-radius: 0 0 0 100%;
	background: #1b8fd4;
	pointer-events: none;
}

.hero-section .wts-container,
.hero-section .wts-dot-pattern,
.hero-section .wts-hero-copy,
.hero-section .wts-hero-visual,
.hero-section .wts-laptop-img {
	position: absolute;
}

.hero-section .wts-container,
.hero-section .wts-dot-pattern,
.hero-section .wts-hero-copy,
.hero-section .wts-hero-visual {
	z-index: 1;
}

.hero-section .wts-laptop-img {
	z-index: 2;
}

.hero-section .wts-float-card {
	position: absolute;
	z-index: 4;
}

.hero-section .wts-hero-visual {
	transform: translateX(70px);
}

.testimonials-section {
	position: relative;
}

.testimonials-section .wts-container {
	position: relative;
}

.testimonials-section .wts-testimonial-track {
	margin: 0 40px;
	padding: 14px 0 20px;
	overflow: hidden;
	grid-auto-columns: calc((100% - 56px) / 3);
}

.testimonials-section .wts-slider {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 45px;
	height: 45px;
	background: #e31e24;
	border-radius: 50%;
	color: #fff;
	font-size: 18px;
	border: none;
	cursor: pointer;
	z-index: 10;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.testimonials-section .wts-slider.prev {
	left: -20px;
}

.testimonials-section .wts-slider.next {
	right: -20px;
}

.wts-cta-section {
	width: 100%;
	padding: 60px 0;
	background: linear-gradient(to right, #f5a623 0%, #1b3e8f 50%, #e31e24 100%);
	color: #fff;
}

.wts-cta-section .wts-cta-inner {
	min-height: 0;
}

.wts-cta-section h2,
.wts-cta-section p {
	color: #fff;
}

.wts-cta-section .wts-btn-white {
	background: #fff;
	color: #1a1a1a;
}

.wts-footer {
	background: #fff;
	border-top: 1px solid #eee;
}

.wts-footer .wts-container {
	width: 85%;
	max-width: 1400px;
	margin: 0 auto;
}

.wts-footer-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 36px;
	align-items: start;
}

.wts-socials {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

.wts-socials a {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #1b3e8f;
	color: #fff !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	line-height: 1;
	margin: 0;
}

.wts-newsletter {
	display: flex;
	align-items: stretch;
	width: 100%;
	border: 1px solid #e6edf5;
	border-radius: 6px;
	overflow: hidden;
}

.wts-newsletter input {
	flex: 1 1 auto;
	min-width: 0;
}

.wts-newsletter button {
	flex: 0 0 52px;
	background: #e31e24;
	color: #fff;
}

@media (max-width: 1100px) {
	.wts-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.hero-section > .wts-blob-blue {
		width: 220px;
		height: 320px;
	}

	.hero-section .wts-hero-visual {
		transform: none;
	}

	.testimonials-section .wts-testimonial-track {
		margin: 0 34px;
		grid-auto-columns: 100%;
	}

	.testimonials-section .wts-slider.prev {
		left: -8px;
	}

	.testimonials-section .wts-slider.next {
		right: -8px;
	}

	.wts-cta-section {
		padding: 42px 0;
	}
}

@media (max-width: 560px) {
	.wts-footer-grid {
		grid-template-columns: 1fr;
	}

	.wts-cta-section .wts-cta-inner {
		grid-template-columns: 56px 1fr;
	}

	.wts-cta-section .wts-btn {
		grid-column: 1 / -1;
		justify-self: start;
	}
}

/* Exact hero animation and z-index specification. */
@keyframes floatCard {
	0%, 100% { transform: translateY(0px); }
	50% { transform: translateY(-10px); }
}

@keyframes floatCardCyber {
	0%, 100% { transform: translateY(-50%); }
	50% { transform: translateY(calc(-50% - 10px)); }
}

@keyframes cardEntrance {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes cardEntranceCyber {
	from { opacity: 0; transform: translateY(calc(-50% + 30px)); }
	to { opacity: 1; transform: translateY(-50%); }
}

@keyframes laptopSlideIn {
	from {
		opacity: 0;
		transform: translateX(150px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.hero-section {
	position: relative;
	overflow: hidden;
	min-height: 650px;
	padding: 80px 0;
}

.hero-section > .wts-blob-blue {
	position: absolute;
	width: 220px;
	height: 320px;
	right: 0;
	top: 0;
	z-index: 0;
	border-radius: 0 0 0 100%;
	background: #4bb8e8;
	opacity: 1;
}

.hero-section .wts-container {
	position: relative;
	z-index: 4;
}

.hero-section .wts-hero-grid {
	min-height: 650px;
}

.hero-section .wts-hero-copy {
	position: relative;
	z-index: 4;
}

.hero-section .wts-hero-visual {
	position: relative;
	z-index: 2;
	overflow: visible;
	transform: none;
}

.hero-section .hero-laptop-stage {
	position: relative;
	z-index: 2;
	display: inline-block;
	width: min(760px, 100%);
}

.hero-section .hero-laptop {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	animation: laptopSlideIn 1s ease-out forwards;
}

.hero-section .wts-float-card {
	position: absolute;
	z-index: 3;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 18px 45px rgba(18, 43, 84, .14);
}

.hero-section .card-cloud {
	top: -30px;
	left: -80px;
	animation: cardEntrance .7s ease-out .25s both, floatCard 3s ease-in-out 1s infinite;
}

.hero-section .card-cyber {
	top: 50%;
	left: -100px;
	transform: translateY(-50%);
	animation: cardEntranceCyber .7s ease-out .4s both, floatCardCyber 3s ease-in-out 1.2s infinite;
}

.hero-section .card-webdev {
	top: -30px;
	right: -100px;
	animation: cardEntrance .7s ease-out .55s both, floatCard 3s ease-in-out 1.4s infinite;
}

.hero-section .card-it {
	bottom: 20px;
	right: -100px;
	animation: cardEntrance .7s ease-out .7s both, floatCard 3s ease-in-out 1.6s infinite;
}

.typewriter-heading {
	display: inline;
}

.typewriter-heading.is-typing::after {
	content: "";
	display: inline-block;
	width: .08em;
	height: .9em;
	margin-left: .05em;
	background: currentColor;
	vertical-align: -.05em;
	animation: typeCursor .8s step-end infinite;
}

@keyframes typeCursor {
	0%, 100% { opacity: 1; }
	50% { opacity: 0; }
}

.wts-section,
.wts-stats,
.wts-testimonials,
.wts-cta-section,
.wts-footer {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity .7s ease, transform .7s ease;
}

.wts-section.is-visible,
.wts-stats.is-visible,
.wts-testimonials.is-visible,
.wts-cta-section.is-visible,
.wts-footer.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.hero-section {
	opacity: 1;
	transform: none;
}

@media (max-width: 1100px) {
	.hero-section .card-cloud { left: -34px; }
	.hero-section .card-cyber { left: -42px; }
	.hero-section .card-webdev { right: -34px; }
	.hero-section .card-it { right: -34px; }
}

@media (max-width: 820px) {
	.hero-section {
		min-height: auto;
		padding: 64px 0;
	}

	.hero-section > .wts-blob-blue {
		width: 220px;
		height: 320px;
	}

	.hero-section .wts-hero-grid {
		min-height: auto;
	}

	.hero-section .wts-hero-visual {
		margin-top: 40px;
		min-height: 390px;
	}

	.hero-section .hero-laptop-stage {
		width: min(680px, 86vw);
	}

	.hero-section .card-cloud {
		top: 28px;
		left: 8px;
	}

	.hero-section .card-cyber {
		top: auto;
		left: 0;
		bottom: 42px;
		transform: none;
		animation: cardEntrance .7s ease-out .4s both, floatCard 3s ease-in-out 1.2s infinite;
	}

	.hero-section .card-webdev {
		top: 48px;
		right: 0;
	}

	.hero-section .card-it {
		right: 8px;
		bottom: 105px;
	}
}

/* Final hero-only correction to match the supplied target crop. */
.hero-section {
	position: relative;
	overflow: hidden;
	min-height: auto;
	padding: 60px 0 40px 0;
	background: #eef2ff;
}

.hero-section .wts-hero-grid {
	min-height: 440px;
	align-items: center;
}

.hero-section .wts-hero-copy {
	position: relative;
	z-index: 4;
}

.hero-section .wts-hero-visual {
	min-height: 430px;
	position: relative;
	z-index: 2;
	overflow: visible;
	transform: none;
}

.wts-blob-blue,
.hero-section > .wts-blob-blue {
	position: absolute;
	top: 0;
	right: 0;
	width: 220px;
	height: 320px;
	background: #5bc4f5;
	border-radius: 0 0 0 100%;
	z-index: 0;
	opacity: 1;
	transform: none;
}

.hero-laptop-wrapper {
	position: relative;
	z-index: 2;
}

.hero-section .hero-laptop {
	position: relative;
	z-index: 2;
}

.hero-section .wts-float-card {
	z-index: 3;
}

.wts-stats.stats-bar {
	margin-top: 0;
	padding: 25px 0;
}

@media (max-width: 1280px) {
	.hero-section .wts-hero-grid {
		min-height: 420px;
	}

	.hero-section .wts-hero-visual {
		min-height: 400px;
	}

}

@media (max-width: 820px) {
	.hero-section {
		padding: 42px 0 30px 0;
	}

	.hero-section .wts-hero-grid {
		min-height: auto;
	}

	.hero-section .wts-hero-visual {
		min-height: 360px;
	}

	.wts-blob-blue,
	.hero-section > .wts-blob-blue {
		width: 220px;
		height: 320px;
	}
}

/* Final compact hero pass: keep hero and stats visible above the fold. */
.hero-section {
	min-height: auto;
	padding: 60px 0 40px 0;
	background-color: #eef2ff;
}

.hero-section .wts-hero-grid {
	min-height: 360px;
	align-items: start;
}

.hero-section .wts-hero-copy {
	align-self: start;
	padding-top: 0;
	padding-bottom: 0;
}

.hero-section .wts-hero-visual {
	align-self: start;
	min-height: 360px;
}

.hero-section .hero-laptop-stage,
.hero-section .hero-laptop-wrapper {
	width: 100%;
	max-width: 760px;
}

.wts-stats.stats-bar,
.wts-stats.stats-bar.is-visible {
	margin-top: 0;
	padding: 25px 0;
	opacity: 1;
	transform: none;
}

@media (max-width: 1280px) {
	.hero-section .wts-hero-grid {
		min-height: 340px;
	}

	.hero-section .wts-hero-visual {
		min-height: 340px;
	}
}

/* Cache-busted final hero size/position lock. */
.hero-section {
	min-height: auto !important;
	padding: 60px 0 40px 0 !important;
	background-color: #eef2ff !important;
}

.hero-section .wts-container.wts-hero-grid {
	min-height: 360px !important;
	align-items: center !important;
}

.hero-section .wts-hero-copy {
	align-self: center !important;
	padding: 0 !important;
}

.hero-section .wts-hero-copy h1 {
	font-size: clamp(40px, 3.15vw, 58px) !important;
	line-height: 1.06 !important;
	max-width: 560px !important;
	margin-bottom: 14px !important;
}

.hero-section .wts-hero-copy p:not(.wts-kicker) {
	font-size: 15px !important;
	line-height: 1.65 !important;
	max-width: 500px !important;
	margin-bottom: 18px !important;
}

.hero-section .wts-kicker {
	margin-bottom: 14px !important;
}

.hero-section .wts-actions {
	margin-top: 18px !important;
}

.hero-section .wts-hero-visual {
	min-height: 360px !important;
	align-self: center !important;
}

.hero-section .hero-laptop-stage,
.hero-section .hero-laptop-wrapper {
	width: 100% !important;
	max-width: 760px !important;
	position: relative !important;
	z-index: 2 !important;
}

.hero-section > .wts-blob-blue {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	width: 220px !important;
	height: 320px !important;
	background: #5bc4f5 !important;
	border-radius: 0 0 0 100% !important;
	z-index: 0 !important;
}

.wts-stats.stats-bar,
.wts-stats.stats-bar.is-visible {
	margin-top: 0 !important;
	padding: 0 !important;
	opacity: 1 !important;
	transform: none !important;
}

.wts-stats.stats-bar .wts-stat {
	padding-top: 25px !important;
	padding-bottom: 25px !important;
}

/* Final hero height trim requested by client reference. */
.hero-section {
	min-height: auto !important;
	padding: 35px 0 0 0 !important;
	background-color: #eef2ff !important;
}

.hero-section .wts-container.wts-hero-grid {
	min-height: 0 !important;
	align-items: center !important;
}

.hero-section .wts-hero-copy,
.hero-section .wts-hero-visual {
	min-height: 0 !important;
	align-self: center !important;
}

.hero-section .wts-hero-copy h1 {
	font-size: clamp(38px, 2.9vw, 54px) !important;
	line-height: 1.05 !important;
}

.hero-section .hero-laptop-stage,
.hero-section .hero-laptop-wrapper {
	width: 100% !important;
	max-width: 760px !important;
}

.hero-section > .wts-blob-blue {
	top: 0 !important;
    right: 0 !important;
    width: 220px !important;
    height: 320px !important;
    border-radius: 0 0 0 100% !important;
}
/* ===== BLUE SHAPE + DOTS FIX ===== */

/* Blue quarter circle - top right only */
.wts-blob-blue,
.hero-section > .wts-blob-blue {
position: absolute !important;
    width: 220px !important;
    height: 320px !important;
    top: 0 !important;
    right: 0 !important;
    border-radius: 0 0 0 100% !important;
    background: #5BC4F5 !important;
    z-index: 0 !important;
    transform: none !important;
    display: block !important;
}

/* White dots - hero right side */
.wts-dot-pattern {
  right: 40px !important;
  left: auto !important;
  bottom: 80px !important;
  top: auto !important;
  width: 80px !important;
  height: 80px !important;
  background-image: radial-gradient(
    #ffffff 2px, transparent 2px
  ) !important;
  background-size: 14px 14px !important;
  opacity: 0.7 !important;
  z-index: 5 !important;
}

/* Hero top space fix */
.wts-hero {
  padding-top: 20px !important;
}

/* Testimonials, CTA, and footer reference match. */
.testimonials-section {
	background: #eef8ff !important;
	padding-bottom: 0 !important;
}

.testimonials-section .wts-container {
	position: relative;
}

.testimonials-section .wts-testimonial-track {
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	margin: 0 58px !important;
	padding: 14px 0 20px !important;
}

.testimonials-section .wts-testimonial-track::-webkit-scrollbar {
	display: none;
}

.testimonials-section .wts-testimonial {
	background: #fff;
	border-radius: 8px;
}

.testimonials-section .wts-testimonial > div {
	display: grid;
	grid-template-columns: 44px 1fr;
	column-gap: 12px;
	align-items: center;
}

.testimonials-section .wts-testimonial .avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg, #d9ecff, #0867f6);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	margin: 0;
	object-fit: cover;
}

.testimonials-section .wts-testimonial small {
	grid-column: 2;
	margin-left: 0;
}

.testimonials-section .wts-slider {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 45px !important;
	height: 45px !important;
	border-radius: 50% !important;
	background: #e31e24 !important;
	color: #fff !important;
	border: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-size: 28px !important;
	line-height: 1 !important;
	z-index: 4;
}

.testimonials-section .wts-slider.prev {
	left: -20px !important;
}

.testimonials-section .wts-slider.next {
	right: -20px !important;
}

.wts-cta-section {
	position: relative;
	overflow: hidden;
	margin: 0 !important;
	padding: 46px 0 !important;
	background: #1b3e8f !important;
	color: #fff !important;
}

.wts-cta-section::before,
.wts-cta-section::after {
	content: "";
	position: absolute;
	bottom: -70px;
	z-index: 0;
	pointer-events: none;
}

.wts-cta-section::before {
	left: -70px;
	width: 200px;
	height: 200px;
	border-radius: 50% 60% 40% 70%;
	background: #f5a623;
}

.wts-cta-section::after {
	right: -80px;
	width: 220px;
	height: 220px;
	border-radius: 60% 40% 70% 50%;
	background: #e31e24;
}

.wts-cta-section .wts-container {
	position: relative;
	z-index: 1;
}

.wts-cta-section .wts-cta-inner {
	position: relative;
	z-index: 1;
}

.wts-cta-section .wts-cta-inner > * {
	position: relative;
	z-index: 1;
}

.wts-cta-section .wts-cta-inner::before,
.wts-cta-section .wts-cta-inner::after {
	content: "";
	position: absolute;
	width: 86px;
	height: 86px;
	background-image: radial-gradient(#fff 2px, transparent 2px);
	background-size: 14px 14px;
	opacity: .3;
	z-index: 0;
	pointer-events: none;
}

.wts-cta-section .wts-cta-inner::before {
	left: -110px;
	bottom: -6px;
}

.wts-cta-section .wts-cta-inner::after {
	right: -110px;
	bottom: -6px;
}

.wts-cta-section h2,
.wts-cta-section p {
	color: #fff !important;
}

.wts-cta-section .wts-btn-white {
	background: #fff !important;
	color: #111 !important;
}

.wts-cta-section .wts-btn-white svg {
	color: #111;
}

.wts-cta-section .wts-cta-icon {
	background: #fff !important;
	color: #0867f6 !important;
	border-radius: 50%;
}

.wts-footer {
	margin-top: 0 !important;
	background: #fff !important;
	border-top: 0 !important;
}

.wts-footer-grid {
	grid-template-columns: 1.35fr repeat(4, 1fr) !important;
	gap: 34px !important;
	padding: 32px 0 !important;
	border-top: 1px solid #eee !important;
	border-bottom: 0 !important;
}

.wts-footer h3 {
	margin-bottom: 14px;
}

.wts-footer p,
.wts-footer a {
	color: #606060;
}

.wts-footer-contact p {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 10px;
	align-items: start;
	margin-bottom: 14px;
}

.wts-footer-contact span {
	color: #0867f6;
	line-height: 1;
}

.wts-footer-contact svg {
	width: 20px;
	height: 31px;
	fill: none;
	stroke: rgb(27 62 143);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.wts-newsletter {
	border-color: #e6edf5;
}

.wts-newsletter button {
	background: #e31e24 !important;
	color: #fff !important;
}

.wts-copyright {
	border-top: 1px solid #eee;
	color: #9aa3ad !important;
	text-align: center;
}

@media (max-width: 1100px) {
	.wts-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 820px) {
	.testimonials-section .wts-testimonial-track {
		margin: 0 34px !important;
	}
}

@media (max-width: 560px) {
	.wts-footer-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Header, hero, and stats reference alignment. */
.wts-header {
	background: #fff !important;
	box-shadow: none !important;
}

.wts-header .wts-container.wts-nav-wrap {
	width: min(92%, 1780px) !important;
	max-width: 1780px !important;
	min-height: 70px !important;
	gap: 34px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wts-header .wts-logo {
	min-width: 170px !important;
}

.wts-header .wts-logo span {
	font-size: 42px !important;
}

.wts-header .wts-logo small {
	font-size: 12px !important;
	letter-spacing: 4px !important;
}

.wts-primary-nav {
	gap: 30px !important;
	margin-left: auto !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

.wts-primary-nav a {
	padding: 26px 0 !important;
}

.wts-primary-nav a:first-child::after,
.wts-primary-nav a:hover::after {
	bottom: 7px !important;
	height: 3px !important;
}

.wts-header-actions {
	gap: 24px !important;
	font-size: 14px !important;
}

.wts-header-actions .wts-btn {
	min-height: 48px !important;
	padding: 0 28px !important;
	border-radius: 7px !important;
}

.hero-section.wts-hero {
	position: relative !important;
	overflow: hidden !important;
	min-height: auto !important;
	padding: 36px 0 0 !important;
	background: linear-gradient(100deg, #fff1cd 0%, #eef8ff 58%, #ffdedf 100%) !important;
}

.hero-section .wts-container.wts-hero-grid {
	width: min(88%, 1780px) !important;
	max-width: 1780px !important;
	display: grid !important;
	grid-template-columns: 39% 61% !important;
	gap: 20px !important;
	min-height: 500px !important;
	align-items: center !important;
	padding: 0 !important;
}

.hero-section .wts-hero-copy {
	align-self: center !important;
	padding: 0 0 14px !important;
	z-index: 5 !important;
}

.hero-section .wts-kicker {
	font-size: 13px !important;
	margin-bottom: 14px !important;
}

.hero-section .wts-hero-copy h1 {
	max-width: 600px !important;
	font-size: clamp(46px, 4.1vw, 66px) !important;
	line-height: 1.04 !important;
	margin-bottom: 16px !important;
}

.hero-section .wts-hero-copy p:not(.wts-kicker) {
	max-width: 540px !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	margin-bottom: 16px !important;
}

.hero-section .wts-actions {
	gap: 24px !important;
	margin-top: 18px !important;
}

.hero-section .wts-actions .wts-btn {
	min-width: 150px !important;
	min-height: 44px !important;
	border-radius: 6px !important;
}

.hero-section .wts-hero-visual {
	position: relative !important;
	min-height: 500px !important;
	align-self: center !important;
	overflow: visible !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	z-index: 2 !important;
}

.hero-section .hero-laptop-stage,
.hero-section .hero-laptop-wrapper {
	position: relative !important;
	width: 100% !important;
	max-width: 850px !important;
	z-index: 2 !important;
}

.hero-section .hero-laptop {
	position: relative !important;
	z-index: 2 !important;
	display: block !important;
	width: 100% !important;
	max-width: 820px !important;
	margin: 0 auto !important;
}

.wts-blob-blue,
.hero-section > .wts-blob-blue {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	width: 335px !important;
	height: 100% !important;
	border-radius: 0 0 0 100% !important;
	background: #5bc4f5 !important;
	z-index: 0 !important;
}

.hero-section .wts-dot-pattern {
	left: auto !important;
	right: 32px !important;
	top: 300px !important;
	bottom: auto !important;
	width: 88px !important;
	height: 88px !important;
	background-image: radial-gradient(#fff 2px, transparent 2px) !important;
	background-size: 14px 14px !important;
	opacity: .9 !important;
	z-index: 4 !important;
}

.hero-section::before {
	content: "";
	position: absolute;
	left: 0;
	top: 250px;
	width: 30px;
	height: 128px;
	background-image: radial-gradient(#e31e24 2px, transparent 2px);
	background-size: 14px 14px;
	z-index: 4;
}

.hero-section .wts-float-card {
	width: 136px !important;
	min-height: 116px !important;
	border-radius: 10px !important;
	padding: 14px 12px !important;
	gap: 8px !important;
	font-size: 12px !important;
	box-shadow: 0 16px 36px rgba(23, 48, 86, .12) !important;
	z-index: 5 !important;
}

.hero-section .wts-float-card svg {
	width: 42px !important;
	height: 42px !important;
}

.hero-section .card-cloud {
	top: 56px !important;
	left: 128px !important;
}

.hero-section .card-cyber {
	top: 354px !important;
	left: 72px !important;
}

.hero-section .card-webdev {
	top: 80px !important;
	right: 26px !important;
}

.hero-section .card-it {
	right: 58px !important;
	bottom: 112px !important;
}

.wts-stats.stats-bar,
.wts-stats.stats-bar.is-visible {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	opacity: 1 !important;
	transform: none !important;
	z-index: 6 !important;
}

.wts-stats.stats-bar .wts-stat {
	min-height: 90px !important;
	padding: 18px max(28px, 6vw) !important;
	color: #fff !important;
	grid-template-columns: 58px auto !important;
	column-gap: 18px !important;
}

.wts-stats.stats-bar .wts-stat:nth-child(1) {
	background: #ffc400 !important;
	color: #050505 !important;
}

.wts-stats.stats-bar .wts-stat:nth-child(2) {
	background: #e31e24 !important;
}

.wts-stats.stats-bar .wts-stat:nth-child(3) {
	background: #28b8f6 !important;
}

.wts-stats.stats-bar .wts-stat:nth-child(4) {
	background: #0867c9 !important;
}

.wts-stats.stats-bar .wts-stat svg {
	width: 46px !important;
	height: 46px !important;
}

.wts-stats.stats-bar .wts-stat strong {
	font-size: 30px !important;
	font-weight: 900 !important;
}

.wts-stats.stats-bar .wts-stat span {
	font-size: 14px !important;
	font-weight: 600 !important;
}

@media (max-width: 1280px) {
	.wts-primary-nav {
		gap: 18px !important;
	}

	.wts-header-actions {
		gap: 14px !important;
	}

	.hero-section .wts-container.wts-hero-grid {
		width: min(92%, 1180px) !important;
	}
}

@media (max-width: 820px) {
	.hero-section .wts-container.wts-hero-grid {
		grid-template-columns: 1fr !important;
		min-height: auto !important;
	}

	.hero-section .wts-hero-visual {
		min-height: 390px !important;
	}

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

@media (max-width: 560px) {
	.wts-stats.stats-bar {
		grid-template-columns: 1fr !important;
	}
}

/* Requested fixes: testimonial arrows, project dots, CTA, copyright. */
.testimonials-section .wts-container {
	position: relative !important;
}

.testimonials-section .wts-testimonial-track {
	margin: 0 72px !important;
	padding: 14px 0 20px !important;
}

.testimonials-section .wts-slider {
	position: absolute !important;
	top: 58% !important;
	transform: translateY(-50%) !important;
	width: 45px !important;
	height: 45px !important;
	border-radius: 50% !important;
	background: #e31e24 !important;
	color: #fff !important;
	border: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 28px !important;
	line-height: 1 !important;
	z-index: 5 !important;
}

.testimonials-section .wts-slider.prev {
	left: 0 !important;
}

.testimonials-section .wts-slider.next {
	right: 0 !important;
}

.wts-project-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 18px;
}

.wts-project-dots button {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ccc;
	display: block;
	border: 0;
	padding: 0;
	cursor: pointer;
}

.wts-project-dots button.active {
	width: 11px;
	height: 11px;
	background: #e31e24;
}

.projects-section .wts-card-grid.projects {
	display: grid !important;
	grid-auto-flow: column !important;
	grid-auto-columns: calc((100% - 84px) / 4) !important;
	grid-template-columns: none !important;
	gap: 28px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.projects-section .wts-card-grid.projects::-webkit-scrollbar {
	display: none;
}

.projects-section .wts-project-card {
	scroll-snap-align: start;
}

.testimonials-section .wts-testimonial-track {
	grid-auto-columns: calc((100% - 56px) / 3) !important;
	overflow-x: auto !important;
	scroll-behavior: smooth;
}

.wts-cta-section {
	position: relative !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 34px 0 !important;
	background: #f5a623 !important;
	color: #111 !important;
}

.wts-cta-section::before,
.wts-cta-section::after {
	content: "" !important;
	position: absolute !important;
	bottom: 0 !important;
	width: 180px !important;
	height: 100% !important;
	z-index: 0 !important;
	pointer-events: none !important;
}

.wts-cta-section::before {
	left: -20px !important;
	border-radius: 0 60% 60% 0 !important;
	background: #1b3e8f !important;
}

.wts-cta-section::after {
	right: -20px !important;
	border-radius: 60% 0 0 60% !important;
	background: #e31e24 !important;
}

.wts-cta-section .wts-container,
.wts-cta-section .wts-cta-inner,
.wts-cta-section .wts-cta-inner > * {
	position: relative !important;
	z-index: 1 !important;
}

.wts-cta-section .wts-cta-inner {
	min-height: 76px !important;
}

.wts-cta-section .wts-cta-inner::before,
.wts-cta-section .wts-cta-inner::after {
	content: "" !important;
	position: absolute !important;
	width: 86px !important;
	height: 86px !important;
	background-image: radial-gradient(#fff 2px, transparent 2px) !important;
	background-size: 14px 14px !important;
	opacity: .45 !important;
	z-index: 0 !important;
	pointer-events: none !important;
}

.wts-cta-section .wts-cta-inner::before {
	left: -128px !important;
	bottom: -14px !important;
}

.wts-cta-section .wts-cta-inner::after {
	right: -128px !important;
	bottom: -14px !important;
}

.wts-cta-section h2,
.wts-cta-section p {
	color: #111 !important;
}

.wts-cta-section .wts-cta-icon {
	background: #fff !important;
	color: #0867f6 !important;
	border-radius: 50% !important;
}

.wts-cta-section .wts-btn-white {
	background: #e31e24 !important;
	color: #fff !important;
}

.wts-cta-section .wts-btn-white svg {
	color: #fff !important;
}

.wts-copyright {
	width: 100% !important;
	min-height: 34px !important;
	padding: 8px max(24px, 6vw) !important;
	background: #2c2c2c !important;
	color: #fff !important;
	font-size: 13px !important;
	display: grid !important;
	grid-template-columns: 1fr auto 1fr !important;
	align-items: center !important;
	gap: 18px !important;
	border-top: 0 !important;
}

.wts-copyright span:first-child {
	grid-column: 2;
	text-align: center;
}

.wts-copyright span:last-child {
	grid-column: 3;
	justify-self: end;
	color: #fff;
}

.wts-copyright a {
	color: #fff !important;
	display: inline !important;
	margin: 0 !important;
}

@media (max-width: 820px) {
	.testimonials-section .wts-testimonial-track {
		margin: 0 58px !important;
	}

	.projects-section .wts-card-grid.projects {
		grid-auto-columns: calc((100% - 28px) / 2) !important;
	}

	.wts-copyright {
		grid-template-columns: 1fr !important;
		text-align: center !important;
	}

	.wts-copyright span:first-child,
	.wts-copyright span:last-child {
		grid-column: 1;
		justify-self: center;
	}
}

@media (max-width: 560px) {
	.projects-section .wts-card-grid.projects {
		grid-auto-columns: 100% !important;
	}
}

/* Solutions inner page. */
.wts-solutions-page {
	background: #fff;
}

body.page-template-page-solutions .wts-footer .wts-cta-section,
body:has(.wts-solutions-page) .wts-footer .wts-cta-section {
	display: none;
}

body.page-template-page-solutions .wts-primary-nav a:first-child,
body:has(.wts-solutions-page) .wts-primary-nav a:first-child {
	color: #111827;
}

body.page-template-page-solutions .wts-primary-nav a:first-child::after,
body:has(.wts-solutions-page) .wts-primary-nav a:first-child::after {
	display: none;
}

body.page-template-page-solutions .wts-primary-nav a:nth-child(4),
body:has(.wts-solutions-page) .wts-primary-nav a:nth-child(4) {
	color: #e31e24;
}

body.page-template-page-solutions .wts-primary-nav a:nth-child(4)::after,
body:has(.wts-solutions-page) .wts-primary-nav a:nth-child(4)::after {
	content: "";
	height: 3px;
	background: #e31e24;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 7px;
	border-radius: 2px;
}

.wts-solutions-page .wts-container {
	width: min(90%, 1420px);
	max-width: 1420px;
	margin: 0 auto;
}

.wts-sol-hero {
	position: relative;
	min-height: 410px;
	padding: 50px 0;
	color: #fff;
	background:
		linear-gradient(90deg, rgba(2, 20, 46, .96), rgba(4, 42, 86, .82) 55%, rgba(4, 42, 86, .25)),
		url("assets/images/solution-surveillance.png") center right / cover no-repeat;
	overflow: hidden;
}

.wts-sol-hero::after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -160px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background: linear-gradient(135deg, #e31e24 0 45%, #f5a623 45% 100%);
}

.wts-sol-hero .wts-container {
	position: relative;
	z-index: 1;
}

.wts-breadcrumb {
	font-size: 13px;
	color: rgba(255, 255, 255, .82);
	margin-bottom: 26px;
}

.wts-sol-hero .wts-kicker {
	color: #e31e24;
}

.wts-sol-hero h1 {
	max-width: 560px;
	color: #fff;
	font-size: clamp(44px, 4.2vw, 70px);
	line-height: 1.05;
	margin-bottom: 20px;
}

.wts-sol-hero h1 span,
.wts-sol-section h2 span {
	color: #0867f6;
}

.wts-sol-hero p:not(.wts-kicker):not(.wts-breadcrumb) {
	max-width: 620px;
	color: rgba(255, 255, 255, .9);
	font-weight: 700;
}

.wts-sol-checks,
.wts-sol-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 24px;
	margin: 24px 0 28px;
}

.wts-sol-checks span,
.wts-sol-list span {
	position: relative;
	padding-left: 28px;
	font-weight: 800;
}

.wts-sol-checks span::before,
.wts-sol-list span::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #0867f6;
}

.wts-sol-checks span::after,
.wts-sol-list span::after {
	content: "";
	position: absolute;
	left: 5px;
	top: .52em;
	width: 8px;
	height: 4px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}

.wts-sol-checks span::before {
	background: #f5a623;
}

.wts-sol-section {
	padding: 54px 0;
}

.wts-sol-section .wts-section-head {
	margin-bottom: 24px;
}

.wts-sol-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 46px;
	align-items: center;
}

.wts-sol-two img,
.wts-sol-detail img,
.wts-sol-case img {
	width: 100%;
	display: block;
	border-radius: 8px;
	object-fit: cover;
	box-shadow: 0 18px 42px rgba(18, 43, 84, .12);
}

.wts-sol-two img {
	aspect-ratio: 1.45;
}

.wts-sol-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}

.wts-sol-grid article {
	border: 1px solid #e4eaf3;
	border-radius: 8px;
	background: #fff;
	padding: 24px 20px;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.wts-sol-grid article:hover {
	transform: translateY(-5px);
	border-color: #0867f6;
	box-shadow: 0 16px 36px rgba(18, 43, 84, .12);
}

.wts-sol-grid .wts-card-icon {
	background: #f5a623;
	color: #fff;
}

.wts-sol-grid h3 {
	font-size: 18px;
	margin-bottom: 10px;
}

.wts-sol-grid p {
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 14px;
}

.wts-sol-grid a,
.wts-sol-question a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #0867f6;
	font-weight: 900;
	font-size: 13px;
}

.wts-sol-grid a svg,
.wts-sol-question a svg {
	width: 16px;
	height: 16px;
}

.wts-sol-offer-head {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 32px;
	align-items: start;
	margin-bottom: 28px;
}

.wts-sol-offer-head::after {
	content: "";
	position: absolute;
	top: -26px;
	right: 28%;
	width: 160px;
	height: 140px;
	background-image: radial-gradient(#b7d5ff 1.5px, transparent 1.5px);
	background-size: 16px 16px;
	opacity: .7;
	pointer-events: none;
}

.wts-sol-offer-head h2 {
	max-width: 680px;
	margin: 0 0 18px;
	color: #101827;
	font-size: clamp(34px, 4vw, 52px);
	line-height: 1.12;
}

.wts-sol-offer-head h2 span {
	color: #0b68f0;
}

.wts-sol-offer-head p:not(.wts-kicker) {
	max-width: 610px;
	margin: 0;
	color: #4b5567;
	font-size: 18px;
	line-height: 1.7;
}

.wts-sol-view-all {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 54px;
	margin-top: 30px;
	padding: 0 28px;
	border: 1px solid #d8e7fb;
	border-radius: 8px;
	background: #fff;
	color: #0b68f0;
	box-shadow: 0 12px 30px rgba(20, 48, 90, .08);
	font-weight: 900;
}

.wts-sol-view-all svg,
.wts-sol-showcase-grid a svg,
.wts-sol-custom-cta a svg {
	width: 18px;
	height: 18px;
}

.wts-sol-stats-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 34px;
	padding: 26px 32px;
	border: 1px solid #e3edf8;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 20px 55px rgba(20, 48, 90, .08);
}

.wts-sol-stats-strip > div {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 18px;
	align-items: center;
	min-width: 0;
}

.wts-sol-stats-strip > div:not(:last-child) {
	border-right: 1px solid #d8e3ef;
}

.wts-sol-stats-strip svg {
	width: 58px;
	height: 58px;
	padding: 15px;
	border-radius: 50%;
	background: #e9f2ff;
	color: #0b68f0;
}

.wts-sol-stats-strip > div:nth-child(2) svg {
	background: #e8f8ef;
	color: #18a765;
}

.wts-sol-stats-strip > div:nth-child(3) svg {
	background: #f2eaff;
	color: #7b3fe4;
}

.wts-sol-stats-strip > div:nth-child(4) svg {
	background: #fff0dd;
	color: #f58220;
}

.wts-sol-stats-strip strong {
	display: block;
	color: #0b68f0;
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
}

.wts-sol-stats-strip > div:nth-child(2) strong {
	color: #18a765;
}

.wts-sol-stats-strip > div:nth-child(3) strong {
	color: #7b3fe4;
}

.wts-sol-stats-strip > div:nth-child(4) strong {
	color: #f58220;
}

.wts-sol-stats-strip small {
	display: block;
	margin-top: 6px;
	color: #334155;
	font-size: 15px;
	font-weight: 800;
}

.wts-sol-showcase-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.36fr) minmax(360px, .92fr);
	gap: 24px;
}

.wts-sol-feature-card,
.wts-sol-mini-card,
.wts-sol-small-card,
.wts-sol-custom-cta {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 18px 45px rgba(20, 48, 90, .09);
}

.wts-sol-feature-card {
	min-height: 410px;
	padding: 32px 34px;
	background:
		linear-gradient(90deg, rgba(5, 28, 116, .96) 0%, rgba(5, 28, 116, .78) 36%, rgba(5, 28, 116, .08) 66%),
		url("assets/images/solution-surveillance-feature.png") center / cover no-repeat;
	color: #fff;
}

.wts-sol-card-tags {
	display: flex;
	gap: 16px;
	align-items: center;
	margin-bottom: 18px;
}

.wts-sol-card-tags span,
.wts-sol-mini-card > span,
.wts-sol-small-card > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 7px;
	background: #0b68f0;
	color: #fff;
	font-size: 18px;
	font-weight: 900;
}

.wts-sol-card-tags b {
	padding: 12px 24px;
	border-radius: 8px;
	background: rgba(11, 104, 240, .65);
	color: #fff;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .35px;
}

.wts-sol-feature-card h3 {
	max-width: 360px;
	margin: 0 0 16px;
	color: #fff;
	font-size: 30px;
	line-height: 1.15;
}

.wts-sol-feature-card p {
	max-width: 340px;
	margin: 0 0 20px;
	color: rgba(255, 255, 255, .92);
	font-size: 16px;
	line-height: 1.65;
}

.wts-sol-feature-card ul {
	display: grid;
	gap: 12px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	font-weight: 800;
}

.wts-sol-feature-card li {
	position: relative;
	padding-left: 28px;
}

.wts-sol-feature-card li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: #0b68f0;
	font-size: 12px;
	font-weight: 900;
}

.wts-sol-feature-card a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 46px;
	padding: 0 24px;
	border-radius: 6px;
	background: #fff;
	color: #0b68f0;
	font-weight: 900;
}

.wts-sol-side-cards,
.wts-sol-bottom-cards {
	display: grid;
	gap: 24px;
}

.wts-sol-side-cards {
	grid-template-rows: repeat(2, minmax(0, 1fr));
}

.wts-sol-bottom-cards {
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wts-sol-mini-card,
.wts-sol-small-card {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) 180px;
	gap: 18px;
	align-items: center;
	min-height: 188px;
	padding: 26px 26px 24px;
	border: 1px solid #e3edf8;
	background: #fff;
}

.wts-sol-small-card {
	grid-template-columns: 50px minmax(0, 1fr) 150px;
	min-height: 188px;
}

.wts-sol-mini-card::before,
.wts-sol-small-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 118px;
	height: 4px;
	background: var(--sol-tone, #0b68f0);
}

.wts-sol-mini-card::after,
.wts-sol-small-card::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 90px;
	height: 90px;
	background-image: radial-gradient(var(--sol-tone-soft, rgba(11,104,240,.22)) 1.5px, transparent 1.5px);
	background-size: 9px 9px;
	opacity: .85;
}

.wts-sol-mini-card.tone-orange,
.wts-sol-small-card.tone-orange {
	--sol-tone: #ff8a18;
	--sol-tone-soft: rgba(255, 138, 24, .28);
}

.wts-sol-mini-card.tone-red,
.wts-sol-small-card.tone-red {
	--sol-tone: #e31e24;
	--sol-tone-soft: rgba(227, 30, 36, .24);
}

.wts-sol-mini-card.tone-green,
.wts-sol-small-card.tone-green {
	--sol-tone: #18a765;
	--sol-tone-soft: rgba(24, 167, 101, .24);
}

.wts-sol-mini-card.tone-purple,
.wts-sol-small-card.tone-purple {
	--sol-tone: #7b3fe4;
	--sol-tone-soft: rgba(123, 63, 228, .24);
}

.wts-sol-mini-card.tone-blue,
.wts-sol-small-card.tone-blue {
	--sol-tone: #0b68f0;
	--sol-tone-soft: rgba(11, 104, 240, .24);
}

.wts-sol-mini-card > span,
.wts-sol-small-card > span {
	background: var(--sol-tone, #0b68f0);
}

.wts-sol-mini-card h3,
.wts-sol-small-card h3 {
	margin: 0 0 12px;
	color: #101827;
	font-size: 22px;
	line-height: 1.2;
}

.wts-sol-mini-card p,
.wts-sol-small-card p {
	margin: 0 0 18px;
	color: #4b5567;
	font-size: 15px;
	line-height: 1.55;
}

.wts-sol-mini-card a,
.wts-sol-small-card a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--sol-tone, #0b68f0);
	font-weight: 900;
}

.wts-sol-mini-card img,
.wts-sol-small-card img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 135px;
	object-fit: contain;
}

.wts-sol-custom-cta {
	display: grid;
	grid-template-columns: 68px 1fr auto;
	gap: 22px;
	align-items: center;
	margin-top: 24px;
	padding: 22px 30px;
	border: 1px solid #d8e7fb;
	background: #f5f9ff;
}

.wts-sol-custom-cta > div {
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #dcecff;
	color: #0b68f0;
}

.wts-sol-custom-cta svg {
	width: 28px;
	height: 28px;
}

.wts-sol-custom-cta strong,
.wts-sol-custom-cta small {
	display: block;
}

.wts-sol-custom-cta strong {
	color: #101827;
	font-size: 20px;
}

.wts-sol-custom-cta small {
	margin-top: 4px;
	color: #4b5567;
	font-size: 15px;
}

.wts-sol-details {
	padding-top: 0;
}

.wts-sol-detail {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	border: 1px solid #e4eaf3;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 14px;
	background: #fff;
}

.wts-sol-detail.reverse img {
	order: 2;
}

.wts-sol-detail img {
	border-radius: 0;
	aspect-ratio: 1.95;
	height: 100%;
	box-shadow: none;
}

.wts-sol-detail > div {
	padding: 28px 32px;
	position: relative;
}

.wts-sol-title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
}

.wts-sol-title span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 5px;
	background: #e31e24;
	color: #fff;
	font-weight: 900;
}

.wts-sol-title h2 {
	margin: 0;
	font-size: 28px;
}

.wts-sol-detail:nth-child(2n) .wts-sol-title span {
	background: #0867f6;
}

.wts-sol-detail:nth-child(3n) .wts-sol-title span {
	background: #f5a623;
}

.wts-sol-detail .wts-sol-list {
	margin: 18px 0 20px;
}

.wts-sol-info {
	padding-top: 10px;
}

.wts-sol-info-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 1fr;
	gap: 18px;
}

.wts-sol-panel,
.wts-sol-case,
.wts-sol-faq {
	border: 1px solid #e4eaf3;
	border-radius: 8px;
	background: #fff;
	padding: 24px;
}

.wts-sol-timeline {
	display: grid;
	gap: 16px;
}

.wts-sol-timeline div {
	display: grid;
	grid-template-columns: 38px 1fr;
	column-gap: 14px;
	position: relative;
}

.wts-sol-timeline div:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 18px;
	top: 38px;
	bottom: -16px;
	width: 2px;
	background: #d9e7fb;
}

.wts-sol-timeline span {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #0867f6;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 900;
}

.wts-sol-timeline strong,
.wts-benefits strong {
	display: block;
	color: #111827;
}

.wts-sol-timeline small,
.wts-benefits small {
	color: #566171;
}

.wts-industries {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.wts-industries div {
	min-height: 86px;
	display: grid;
	place-items: center;
	text-align: center;
	border-right: 1px solid #edf1f6;
	border-bottom: 1px solid #edf1f6;
	font-weight: 800;
}

.wts-industries svg {
	color: #0867f6;
	width: 34px;
	height: 34px;
}

.wts-benefits {
	display: grid;
	gap: 14px;
}

.wts-benefits div {
	display: grid;
	grid-template-columns: 26px 1fr;
	column-gap: 12px;
	align-items: start;
}

.wts-benefits svg {
	color: #0867f6;
	width: 22px;
	height: 22px;
	grid-row: 1 / 3;
}

.wts-sol-bottom-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.wts-sol-case > div {
	display: grid;
	grid-template-columns: 42% 1fr;
	gap: 22px;
	align-items: start;
}

.wts-sol-case img {
	aspect-ratio: 1.25;
	box-shadow: none;
}

.wts-sol-case p {
	margin-bottom: 10px;
	font-size: 13px;
	line-height: 1.55;
}

.wts-sol-faq details {
	border: 1px solid #e9eef5;
	border-radius: 6px;
	margin-bottom: 10px;
	background: #fff;
}

.wts-sol-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 14px 42px 14px 16px;
	font-weight: 900;
	position: relative;
}

.wts-sol-faq summary::-webkit-details-marker {
	display: none;
}

.wts-sol-faq summary::after {
	content: "+";
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
}

.wts-sol-faq details[open] summary::after {
	content: "-";
}

.wts-sol-faq details p {
	padding: 0 16px 14px;
	margin: 0;
	font-size: 14px;
}

.wts-sol-question {
	text-align: center;
	margin: 16px 0 0;
}

.wts-sol-cta {
	padding: 28px 0;
}

.wts-sol-cta .wts-container {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	background: linear-gradient(100deg, #0867f6, #1b3e8f);
	color: #fff;
	padding: 26px 64px;
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 24px;
	align-items: center;
}

.wts-sol-cta .wts-container::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -120px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: #f5a623;
}

.wts-sol-cta h2,
.wts-sol-cta p {
	color: #fff;
	margin: 0;
}

.wts-sol-cta .wts-cta-icon,
.wts-sol-cta .wts-btn {
	position: relative;
	z-index: 1;
}

.wts-sol-cta .wts-cta-icon {
	background: #fff;
	color: #0867f6;
}

/* Solutions reference layout. */
.wts-sol-reference-info {
	padding: 28px 0 18px;
}

.wts-sol-reference-info .wts-container {
	display: grid;
	grid-template-columns: 1fr 1.16fr 1fr;
	gap: 18px;
	align-items: stretch;
}

.wts-sol-reference-panel {
	min-width: 0;
	padding: 22px 24px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(18, 43, 84, .05);
}

.wts-sol-reference-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.wts-sol-reference-head h2 {
	margin: 0;
	color: #e31e24;
	font-size: 14px;
	line-height: 1.2;
	font-weight: 900;
	text-transform: uppercase;
}

.wts-sol-reference-head span {
	flex: 1;
	height: 1px;
	background: #edf2f7;
}

.wts-sol-process-row {
	display: grid;
	gap: 8px;
}

.wts-sol-process-row article {
	position: relative;
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 10px;
	align-items: start;
	min-height: 42px;
}

.wts-sol-process-row article:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 18px;
	top: 38px;
	bottom: -10px;
	width: 2px;
	background: #d9e9ff;
}

.wts-sol-process-row img {
	display: none;
}

.wts-sol-step-number {
	position: relative;
	z-index: 1;
	grid-row: 1 / 3;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 4px solid #e8f2ff;
	border-radius: 50%;
	background: #0867f6;
	color: #fff;
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
}

.wts-sol-process-row h3,
.wts-sol-industries-row h3,
.wts-sol-benefits-row strong {
	grid-column: 2;
	margin: 0;
	color: #111827;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.25;
}

.wts-sol-process-row p,
.wts-sol-benefits-row p {
	grid-column: 2;
	margin: 2px 0 0;
	color: #5b6678;
	font-size: 12px;
	line-height: 1.35;
}

.wts-sol-industries-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid #edf2f7;
	border-radius: 8px;
	overflow: hidden;
}

.wts-sol-industries-row article {
	min-height: 102px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 8px;
	text-align: center;
	border-right: 1px solid #edf2f7;
	border-bottom: 1px solid #edf2f7;
	background: #fff;
}

.wts-sol-industries-row article:nth-child(3n) {
	border-right: 0;
}

.wts-sol-industries-row article:nth-last-child(-n + 3) {
	border-bottom: 0;
}

.wts-sol-industries-row article > div {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #0867f6;
}

.wts-sol-industries-row img {
	width: 44px;
	height: 44px;
	object-fit: contain;
	box-shadow: none;
	border-radius: 0;
}

.wts-sol-industries-row svg {
	width: 34px;
	height: 34px;
	color: #0867f6;
	stroke-width: 1.8;
}

.wts-sol-industries-row h3 {
	font-size: 12px;
}

.wts-sol-benefits-row {
	display: grid;
	gap: 12px;
}

.wts-sol-benefits-row article {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 8px 12px;
	align-items: start;
}

.wts-sol-benefits-row article > div {
	grid-row: 1 / 3;
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #eef6ff;
	color: #0867f6;
}

.wts-sol-benefits-row svg {
	width: 18px;
	height: 18px;
	stroke-width: 2;
}

.wts-sol-bottom-grid {
	margin-top: 10px;
}

.wts-sol-case,
.wts-sol-faq {
	min-height: 360px;
	box-shadow: 0 12px 30px rgba(18, 43, 84, .05);
}

.wts-sol-case .wts-kicker,
.wts-sol-faq .wts-kicker {
	margin-bottom: 14px;
	color: #e31e24;
	font-size: 14px;
	line-height: 1.2;
}

.wts-sol-case .wts-btn {
	margin-top: 4px;
}

@media (max-width: 1180px) {
	.wts-sol-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.wts-sol-showcase-grid {
		grid-template-columns: 1fr;
	}

	.wts-sol-side-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
	}

	.wts-sol-bottom-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wts-sol-info-grid,
	.wts-sol-reference-info .wts-container {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 820px) {
	.wts-sol-hero {
		padding: 42px 0;
	}

	.wts-sol-two,
	.wts-sol-detail,
	.wts-sol-bottom-grid,
	.wts-sol-cta .wts-container {
		grid-template-columns: 1fr;
	}

	.wts-sol-detail.reverse img {
		order: 0;
	}

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

	.wts-sol-offer-head,
	.wts-sol-stats-strip,
	.wts-sol-side-cards,
	.wts-sol-bottom-cards,
	.wts-sol-custom-cta {
		grid-template-columns: 1fr;
	}

	.wts-sol-view-all {
		width: fit-content;
		margin-top: 0;
	}

	.wts-sol-stats-strip {
		gap: 20px;
	}

	.wts-sol-stats-strip > div {
		border-right: 0;
	}

	.wts-sol-mini-card,
	.wts-sol-small-card {
		grid-template-columns: 54px minmax(0, 1fr) 150px;
	}

	.wts-sol-cta .wts-container {
		padding: 26px;
	}
}

@media (max-width: 560px) {
	.wts-sol-grid,
	.wts-sol-checks,
	.wts-sol-list,
	.wts-industries,
	.wts-sol-industries-row,
	.wts-sol-case > div {
		grid-template-columns: 1fr;
	}

	.wts-sol-reference-panel {
		padding: 18px;
	}

	.wts-sol-section {
		padding: 40px 0;
	}

	.wts-sol-offer-head h2 {
		font-size: 34px;
	}

	.wts-sol-offer-head p:not(.wts-kicker) {
		font-size: 16px;
	}

	.wts-sol-feature-card {
		min-height: 0;
		padding: 28px 24px;
	}

	.wts-sol-mini-card,
	.wts-sol-small-card {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.wts-sol-mini-card img,
	.wts-sol-small-card img {
		max-width: 210px;
		height: 120px;
		justify-self: end;
	}

	.wts-sol-custom-cta {
		text-align: left;
	}

	.wts-sol-custom-cta .wts-btn {
		width: 100%;
		justify-content: center;
	}

	.wts-sol-industries-row article,
	.wts-sol-industries-row article:nth-child(3n),
	.wts-sol-industries-row article:nth-last-child(-n + 3) {
		border-right: 0;
		border-bottom: 1px solid #edf2f7;
	}

	.wts-sol-industries-row article:last-child {
		border-bottom: 0;
	}
}

/* Solutions dropdown and digital pricing pages. */
.wts-nav-item.has-submenu {
	position: relative;
	display: flex;
	align-items: center;
}

.wts-submenu-toggle {
	display: none;
	border: 0;
	background: transparent;
	color: #111827;
	padding: 0;
	margin-left: -18px;
	cursor: pointer;
}

.wts-submenu-toggle svg {
	width: 14px;
	height: 14px;
	transform: rotate(90deg);
}

.wts-submenu {
	position: absolute;
	top: calc(100% - 12px);
	left: 50%;
	z-index: 999;
	width: 390px;
	padding: 18px;
	border: 1px solid #edf1f6;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 22px 55px rgba(10, 31, 68, .18);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 12px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.wts-nav-item.has-submenu:hover > .wts-submenu,
.wts-nav-item.has-submenu:focus-within > .wts-submenu,
.wts-nav-item.has-submenu.is-open > .wts-submenu {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

.wts-submenu p {
	margin: 0 0 10px;
	color: #1b3e8f;
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .3px;
}

.wts-primary-nav .wts-submenu .wts-submenu-card {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 12px;
	align-items: center;
	padding: 12px;
	border-radius: 8px;
	color: #111827;
	transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.wts-primary-nav .wts-submenu .wts-submenu-card::after {
	display: none;
}

.wts-submenu-card:hover {
	background: #f5f8fc;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(10, 31, 68, .08);
}

.wts-submenu-card span {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: rgba(227, 30, 36, .08);
	color: #e31e24;
}

.wts-submenu-card:nth-of-type(3) span,
.wts-submenu-card:nth-of-type(5) span {
	background: rgba(27, 62, 143, .08);
	color: #1b3e8f;
}

.wts-submenu-card:nth-of-type(4) span {
	background: rgba(245, 166, 35, .14);
	color: #b87500;
}

.wts-submenu-card strong {
	display: grid;
	gap: 3px;
	font-size: 15px;
	line-height: 1.2;
}

.wts-submenu-card small {
	color: #647084;
	font-size: 12px;
	font-weight: 700;
}

.wts-digital-hero {
	min-height: 235px;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
	overflow: hidden;
	background: #1b3e8f;
}

.wts-digital-hero-art {
	position: relative;
	min-height: 235px;
	background:
		linear-gradient(112deg, #ff4d52 0 36%, #3b2c68 36% 67%, #284d5f 67% 100%);
}

.wts-digital-hero-art .shape {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 900;
}

.wts-digital-hero-art .search {
	left: 42%;
	top: 46px;
	width: 158px;
	height: 28px;
	background: #fff;
	color: #111827;
	border: 3px solid rgba(0, 0, 0, .15);
	justify-content: flex-start;
	padding-left: 12px;
}

.wts-digital-hero-art .search::after {
	content: "";
	position: absolute;
	right: -32px;
	top: -3px;
	width: 32px;
	height: 28px;
	background: #111827;
}

.wts-digital-hero-art .chart {
	left: 52%;
	bottom: 36px;
	width: 150px;
	height: 86px;
	border: 8px solid #f0f3ff;
	border-radius: 8px;
	background:
		linear-gradient(to top, #f5a623 0 45%, transparent 45%) 18px 44px / 18px 44px no-repeat,
		linear-gradient(to top, #4ec3f7 0 70%, transparent 70%) 52px 28px / 18px 60px no-repeat,
		linear-gradient(to top, #e31e24 0 60%, transparent 60%) 86px 34px / 18px 54px no-repeat,
		#fff;
}

.wts-digital-hero-art .target {
	left: 43%;
	bottom: 28px;
	width: 58px;
	height: 58px;
	border: 8px solid #f6df49;
	border-radius: 50%;
	background: radial-gradient(circle, #e31e24 0 22%, #fff 23% 42%, transparent 43%);
}

.wts-digital-hero-art .gear {
	left: 62%;
	top: 20px;
	width: 54px;
	height: 54px;
	border: 9px solid #fff;
	border-radius: 50%;
	background: #3b2c68;
	box-shadow: 34px 16px 0 -9px #fff;
}

.wts-digital-hero-art .dots {
	left: 35%;
	top: 18px;
	width: 130px;
	height: 120px;
	border-radius: 50%;
	border: 2px dashed rgba(255, 255, 255, .75);
}

.wts-digital-hero-title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 38px max(28px, 7vw) 38px 56px;
	background: linear-gradient(120deg, #35305f, #1d335c 60%, #203f52);
}

.wts-digital-hero-title p {
	margin: 0 0 8px;
	color: #f5a623;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .6px;
}

.wts-digital-hero-title h1 {
	color: #fff;
	font-size: clamp(42px, 5.5vw, 72px);
	line-height: .95;
}

.wts-digital-section {
	padding: 34px 0 78px;
	background: linear-gradient(180deg, #f7fbff 0%, #ffffff 42%);
}

.wts-digital-packages .wts-container {
	width: min(94%, 1360px);
	max-width: 1360px;
}

.wts-digital-packages h2 {
	position: relative;
	text-align: center;
	color: #0871c9;
	font-size: clamp(28px, 3vw, 38px);
	margin-bottom: 30px;
}

.wts-digital-packages h2::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -12px;
	width: 96px;
	height: 3px;
	background: #e31e24;
	transform: translateX(-50%);
}

.wts-package-table-wrap {
	width: min(100%, 1320px);
	margin: 0 auto;
	overflow-x: auto;
	border: 1px solid #dbe5f0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(10, 31, 68, .12);
	scrollbar-color: #1b3e8f #eaf1f8;
	scrollbar-width: thin;
}

.wts-package-table-wrap::-webkit-scrollbar {
	height: 10px;
}

.wts-package-table-wrap::-webkit-scrollbar-track {
	background: #eaf1f8;
	border-radius: 999px;
}

.wts-package-table-wrap::-webkit-scrollbar-thumb {
	background: #1b3e8f;
	border-radius: 999px;
}

.wts-package-table {
	width: 100%;
	min-width: 1080px;
	border-collapse: separate;
	border-spacing: 0;
	color: #334155;
	font-size: 14px;
}

.wts-package-table th,
.wts-package-table td {
	border: 0;
	border-right: 1px solid #dbe5f0;
	border-bottom: 1px solid #dbe5f0;
	padding: 14px 18px;
	text-align: center;
	vertical-align: middle;
}

.wts-package-table thead th {
	background: #f8fbff;
	color: #0f172a;
	font-weight: 900;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .4px;
	box-shadow: 0 1px 0 #dbe5f0;
}

.wts-package-table thead th:first-child {
	background: #fff;
}

.wts-package-table thead th.red,
.wts-package-table .price-row td.red {
	background: linear-gradient(135deg, #e31e24, #b91218);
	color: #fff;
}

.wts-package-table thead th.gold,
.wts-package-table .price-row td.gold {
	background: linear-gradient(135deg, #ffd647, #f5a623);
	color: #4f4300;
}

.wts-package-table thead th.blue,
.wts-package-table .price-row td.blue {
	background: linear-gradient(135deg, #36b7df, #1b70c9);
	color: #fff;
}

.wts-package-table tbody tr:nth-child(odd) {
	background: #f9fbfd;
}

.wts-package-table tbody tr:nth-child(even) {
	background: #fff;
}

.wts-package-table tbody tr:hover {
	background: #eef6ff;
}

.wts-package-table tbody th {
	position: sticky;
	left: 0;
	z-index: 2;
	color: #24324a;
	font-weight: 700;
	text-align: left;
	background: inherit;
	min-width: 280px;
	box-shadow: 1px 0 0 #dbe5f0;
}

.wts-check {
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #e9f9ef;
	color: #12823a;
	font-size: 17px;
	font-weight: 900;
	box-shadow: inset 0 0 0 1px rgba(18, 130, 58, .15);
}

.wts-cross {
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff0f1;
	color: #d0222a;
	font-size: 16px;
	font-weight: 900;
	box-shadow: inset 0 0 0 1px rgba(208, 34, 42, .15);
}

.wts-package-table .report-row th,
.wts-package-table .report-row td {
	background: #fff3bf;
	color: #5d4b00;
	font-weight: 900;
}

.wts-package-table .price-row th {
	background: #f8fbff;
	color: #24324a;
	font-weight: 800;
}

.wts-package-table .price-row td {
	font-weight: 900;
	font-size: 15px;
	letter-spacing: .2px;
}

@media (max-width: 820px) {
	.wts-submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		margin-left: auto;
	}

	.wts-nav-item.has-submenu {
		display: grid;
		grid-template-columns: 1fr 42px;
		align-items: center;
	}

	.wts-nav-item.has-submenu .wts-solutions-link {
		grid-column: 1;
	}

	.wts-submenu {
		position: static;
		grid-column: 1 / -1;
		width: 100%;
		padding: 10px;
		box-shadow: none;
		border-radius: 8px;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
	}

	.wts-nav-item.has-submenu.is-open > .wts-submenu {
		display: block;
	}

	.wts-primary-nav .wts-submenu .wts-submenu-card {
		padding: 10px;
	}

	.wts-digital-hero {
		grid-template-columns: 1fr;
	}

	.wts-digital-hero-art {
		min-height: 170px;
	}

	.wts-digital-hero-title {
		padding: 32px 24px;
	}

	.wts-digital-section {
		padding: 28px 0 56px;
	}

	.wts-digital-packages .wts-container {
		width: min(94%, 100%);
	}

	.wts-package-table-wrap {
		margin-inline: -2px;
		border-radius: 7px;
	}

	.wts-package-table {
		min-width: 920px;
		font-size: 13px;
	}

	.wts-package-table th,
	.wts-package-table td {
		padding: 12px 14px;
	}

	.wts-package-table tbody th {
		min-width: 230px;
	}

	.wts-check,
	.wts-cross {
		width: 28px;
		height: 28px;
	}
}

/* Services page reference layout. */
body.page-template-page-services .wts-primary-nav > a:first-child {
	color: #111827;
}

body.page-template-page-services .wts-primary-nav > a:first-child::after {
	display: none;
}

body.page-template-page-services .wts-primary-nav > a:nth-child(3) {
	color: #e31e24;
}

body.page-template-page-services .wts-primary-nav > a:nth-child(3)::after {
	content: "";
	height: 3px;
	background: #e31e24;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 22px;
	border-radius: 2px;
}

.wts-services-page {
	overflow: hidden;
	background: #fff;
	color: #111827;
}

.wts-services-page .wts-container {
	width: min(92%, 1340px);
	max-width: 1340px;
}

.wts-services-hero {
	position: relative;
	overflow: hidden;
	min-height: 565px;
	padding: 72px 0 168px;
	background: #f7fbff url("assets/images/wts-services-page-banner.png") center top / cover no-repeat;
}

.wts-services-hero .wts-container {
	position: relative;
	z-index: 1;
}

.wts-services-hero-copy {
	width: min(100%, 610px);
}

.wts-services-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	color: #e31e24;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .4px;
}

.wts-services-kicker::after {
	content: "";
	width: 42px;
	height: 3px;
	border-radius: 99px;
	background: #e31e24;
}

.wts-services-hero h1 {
	margin: 0 0 20px;
	color: #101827;
	font-size: clamp(44px, 4.4vw, 66px);
	font-weight: 900;
	line-height: 1.1;
}

.wts-services-hero h1 span {
	color: #0b68f0;
}

.wts-services-hero-copy > p {
	max-width: 520px;
	margin: 0 0 30px;
	color: #3f4655;
	font-size: 16px;
	line-height: 1.8;
}

.wts-services-mark {
	position: relative;
	width: 64px;
	height: 14px;
	margin: 0 0 22px;
}

.wts-services-mark::before,
.wts-services-mark::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.wts-services-mark::before {
	left: 0;
	width: 44px;
	height: 2px;
	background: #0b68f0;
}

.wts-services-mark::after {
	right: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #f5a623;
}

.wts-services-badges {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	max-width: 720px;
}

.wts-services-badges div {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 14px;
	align-items: center;
	min-width: 0;
}

.wts-services-badges svg {
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 1px solid rgba(11, 104, 240, .35);
	border-radius: 50%;
	color: #0b68f0;
	background: rgba(255, 255, 255, .74);
}

.wts-services-badges strong,
.wts-services-badges small {
	display: block;
}

.wts-services-badges strong {
	color: #111827;
	font-size: 14px;
	font-weight: 900;
}

.wts-services-badges small {
	color: #5e6a7d;
	font-size: 12px;
	line-height: 1.45;
}

.wts-services-list {
	position: relative;
	z-index: 2;
	padding: 0 0 34px;
	margin-top: 32px;
}

.wts-services-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px 24px;
	padding: 28px;
	border-radius: 18px 18px 0 0;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 28px 80px rgba(20, 48, 90, .08);
	backdrop-filter: blur(8px);
}

.wts-service-panel {
	min-height: 308px;
	display: grid;
	grid-template-columns: 70px 1fr;
	align-items: start;
	gap: 20px;
	padding: 30px 26px 28px;
	border: 0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 16px 44px rgba(20, 48, 90, .08);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wts-service-panel:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 58px rgba(20, 48, 90, .12);
}

.wts-service-panel-icon {
	position: relative;
	width: 70px;
	height: 70px;
	margin-top: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #eaf3ff;
	color: #0b68f0;
}

.wts-service-panel-icon::after {
	content: "";
	position: absolute;
	right: -20px;
	top: -30px;
	bottom: -106px;
	width: 1px;
	background: #e2ebf6;
}

.wts-service-panel-icon svg {
	width: 34px;
	height: 34px;
	stroke-width: 2.4;
}

.wts-service-panel.tone-gold .wts-service-panel-icon {
	background: #fff5df;
	color: #f5a623;
}

.wts-service-panel.tone-red .wts-service-panel-icon {
	background: #fde8ea;
	color: #e31e24;
}

.wts-service-panel.tone-green .wts-service-panel-icon {
	background: #e7fbef;
	color: #14b66a;
}

.wts-service-panel.tone-purple .wts-service-panel-icon {
	background: #f1e8ff;
	color: #7b3fe4;
}

.wts-service-panel-content span {
	display: block;
	margin-bottom: 8px;
	color: #0b68f0;
	font-size: 16px;
	font-weight: 900;
}

.wts-service-panel-content h2 {
	margin-bottom: 10px;
	color: #101827;
	font-size: 20px;
	line-height: 1.14;
}

.wts-service-panel-content p {
	margin-bottom: 14px;
	color: #3f4655;
	font-size: 14px;
	line-height: 1.55;
}

.wts-service-panel-content ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
}

.wts-service-panel-content li {
	position: relative;
	padding-left: 27px;
}

.wts-service-panel-content li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .18em;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #0b68f0;
}

.wts-service-panel-content li::after {
	content: "";
	position: absolute;
	left: 4px;
	top: .48em;
	width: 6px;
	height: 3px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}

.wts-services-priority {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 92px minmax(340px, .9fr) minmax(620px, 1.25fr);
	align-items: center;
	gap: 34px;
	min-height: 148px;
	margin: 0;
	padding: 32px 52px;
	border: 0;
	border-radius: 8px;
	background: linear-gradient(135deg, #0b68f0, #0647d9);
	color: #fff;
	box-shadow: 0 26px 60px rgba(11, 104, 240, .22);
}

.wts-services-priority::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255,255,255,.28) 1.5px, transparent 1.5px);
	background-size: 12px 12px;
	mask-image: linear-gradient(90deg, transparent 48%, #000 62%, transparent 100%);
	pointer-events: none;
}

.wts-services-priority-icon {
	position: relative;
	z-index: 1;
	width: 86px;
	height: 86px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff;
	color: #0b68f0;
}

.wts-services-priority-icon svg {
	width: 44px;
	height: 44px;
}

.wts-services-priority > div:not(.wts-services-priority-icon) {
	position: relative;
	z-index: 1;
}

.wts-services-priority h2 {
	margin-bottom: 8px;
	color: #fff;
	font-size: 25px;
}

.wts-services-priority p {
	max-width: 560px;
	margin: 0;
	color: rgba(255, 255, 255, .9);
	font-size: 15px;
	line-height: 1.65;
}

.wts-services-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
}

.wts-services-stats div {
	display: grid;
	grid-template-columns: 34px 1fr;
	column-gap: 13px;
	align-items: center;
	min-width: 0;
}

.wts-services-stats svg {
	grid-row: span 2;
	width: 34px;
	height: 34px;
	color: rgba(255, 255, 255, .92);
}

.wts-services-stats strong {
	color: #fff;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.wts-services-stats span {
	color: rgba(255, 255, 255, .9);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

@media (max-width: 1240px) {
	.wts-services-page .wts-container {
		width: min(90%, 1120px);
	}

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

	.wts-service-panel {
		grid-template-columns: 88px 1fr;
	}

	.wts-service-panel-icon::after {
		right: -32px;
	}

	.wts-services-priority {
		grid-template-columns: 86px 1fr;
		margin: 0;
		padding: 30px 38px;
	}

	.wts-services-stats {
		grid-column: 1 / -1;
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.wts-services-hero {
		min-height: auto;
		padding: 58px 0 118px;
		background-position: 58% top;
	}

	.wts-services-hero-copy {
		width: min(100%, 560px);
		padding: 22px;
		border-radius: 8px;
		background: rgba(255, 255, 255, .78);
		backdrop-filter: blur(4px);
	}

	.wts-services-grid {
		grid-template-columns: 1fr;
		padding: 24px;
	}

	.wts-services-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}
}

@media (max-width: 620px) {
	body.page-template-page-services .wts-primary-nav > a:nth-child(3)::after {
		display: none;
	}

	.wts-services-page .wts-container {
		width: min(100% - 28px, 520px);
	}

	.wts-services-hero {
		padding: 34px 0 86px;
		background-position: 66% top;
	}

	.wts-services-hero-copy {
		padding: 18px 16px;
	}

	.wts-services-hero h1 {
		font-size: 36px;
	}

	.wts-services-badges {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.wts-services-list {
		margin-top: 24px;
	}

	.wts-services-grid {
		gap: 18px;
		padding: 14px;
	}

	.wts-service-panel {
		min-height: 0;
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 28px 22px;
	}

	.wts-service-panel-icon {
		margin-top: 0;
	}

	.wts-service-panel-icon::after {
		display: none;
	}

	.wts-service-panel-content {
		text-align: left;
	}

	.wts-services-priority {
		grid-template-columns: 1fr;
		margin: 0;
		padding: 28px 22px;
		text-align: left;
	}

	.wts-services-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 14px;
	}
}

body.page-template-page-services .wts-cta-section {
	padding: 42px 0 !important;
	background: #f8fbff !important;
	color: #111827 !important;
	border-top: 1px solid #eef4fb;
}

body.page-template-page-services .wts-cta-section::before {
	left: -70px;
	bottom: -60px;
	width: 170px;
	height: 170px;
	background: #0b68f0;
	box-shadow: 48px 0 0 -18px #f5a623;
}

body.page-template-page-services .wts-cta-section::after {
	right: -70px;
	bottom: -54px;
	width: 170px;
	height: 170px;
	background: #f5a623;
	box-shadow: -48px 0 0 -18px #0b68f0;
}

body.page-template-page-services .wts-cta-section h2,
body.page-template-page-services .wts-cta-section p {
	color: #111827 !important;
}

body.page-template-page-services .wts-cta-section .wts-cta-icon {
	box-shadow: 0 12px 32px rgba(11, 104, 240, .12);
}

body.page-template-page-services .wts-cta-section .wts-btn-white {
	background: #e31e24 !important;
	color: #fff !important;
}

body.page-template-page-services .wts-cta-section .wts-btn-white svg {
	color: #fff;
}

/* Contact page reference layout. */
body.page-template-page-contact .wts-primary-nav > a:first-child {
	color: #111827;
}

body.page-template-page-contact .wts-primary-nav > a:first-child::after {
	display: none;
}

body.page-template-page-contact .wts-primary-nav > a:nth-child(5) {
	color: #0b68f0;
}

body.page-template-page-contact .wts-primary-nav > a:nth-child(5)::after {
	content: "";
	height: 3px;
	background: #0b68f0;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 22px;
	border-radius: 2px;
}

.wts-contact-page {
	overflow: hidden;
	background: #fff;
	color: #101827;
}

.wts-contact-page .wts-container {
	width: min(86%, 1220px);
	max-width: 1220px;
}

.wts-contact-hero {
	min-height: 430px;
	display: flex;
	align-items: center;
	padding: 64px 0 58px;
	background: #071f76 url("assets/images/wts-contact-page-banner.png") center / cover no-repeat;
	color: #fff;
}

.wts-contact-hero-copy {
	width: min(100%, 620px);
}

.wts-contact-kicker {
	margin: 0 0 14px;
	color: #fff;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .8px;
}

.wts-contact-hero h1 {
	margin: 0 0 16px;
	color: #fff;
	font-size: clamp(38px, 4.2vw, 58px);
	font-weight: 900;
	line-height: 1.14;
}

.wts-contact-hero h1 span,
.wts-contact-info h2 span {
	color: #0b68f0;
}

.wts-contact-hero > .wts-container p:not(.wts-contact-kicker) {
	max-width: 570px;
	margin: 0 0 34px;
	color: rgba(255, 255, 255, .92);
	font-size: 16px;
	line-height: 1.75;
}

.wts-contact-mark {
	position: relative;
	width: 64px;
	height: 14px;
	margin: 0 0 22px;
}

.wts-contact-mark::before,
.wts-contact-mark::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.wts-contact-mark::before {
	left: 0;
	width: 44px;
	height: 2px;
	background: #0b68f0;
}

.wts-contact-mark::after {
	right: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #f5a623;
}

.wts-contact-badges {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	max-width: 720px;
}

.wts-contact-badges div {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 12px;
	align-items: center;
}

.wts-contact-badges svg {
	width: 38px;
	height: 38px;
	padding: 9px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 50%;
	color: #64a5ff;
}

.wts-contact-badges strong,
.wts-contact-badges small {
	display: block;
}

.wts-contact-badges strong {
	color: #fff;
	font-size: 13px;
	font-weight: 900;
}

.wts-contact-badges small {
	color: rgba(255, 255, 255, .78);
	font-size: 11px;
	line-height: 1.45;
}

.wts-contact-main {
	padding: 48px 0 34px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.wts-contact-layout {
	display: grid;
	grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
	gap: 70px;
	align-items: start;
}

.wts-contact-pill {
	display: inline-flex;
	margin: 0 0 22px;
	padding: 8px 18px;
	border: 1px solid #cfe0f7;
	border-radius: 999px;
	color: #0b68f0;
	background: #fff;
	font-size: 12px;
	font-weight: 900;
}

.wts-contact-info h2 {
	margin: 0 0 16px;
	color: #101827;
	font-size: clamp(30px, 3.2vw, 42px);
	font-weight: 900;
	line-height: 1.2;
}

.wts-contact-info > p:not(.wts-contact-pill) {
	max-width: 330px;
	margin: 0 0 28px;
	color: #4b5567;
	font-size: 16px;
	line-height: 1.75;
}

.wts-contact-cards {
	display: grid;
	gap: 14px;
	max-width: 330px;
}

.wts-contact-cards article {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 14px;
	align-items: center;
	padding: 16px;
	border: 1px solid #e3edf8;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 36px rgba(20, 48, 90, .07);
}

.wts-contact-cards article > div {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #0b68f0;
	color: #fff;
}

.wts-contact-cards svg {
	width: 22px;
	height: 22px;
}

.wts-contact-cards strong {
	display: block;
	margin-bottom: 4px;
	color: #0b68f0;
	font-size: 14px;
}

.wts-contact-cards span,
.wts-contact-cards a {
	color: #24324a;
	font-size: 14px;
	line-height: 1.55;
}

.wts-contact-form {
	padding: 34px 40px;
	border: 1px solid #e3edf8;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 22px 70px rgba(20, 48, 90, .12);
}

.wts-contact-form h2 {
	margin: 0 0 8px;
	color: #101827;
	font-size: 28px;
	font-weight: 900;
}

.wts-contact-form .wts-contact-mark {
	margin-bottom: 28px;
}

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

.wts-contact-form label {
	display: grid;
	gap: 9px;
	margin-bottom: 22px;
	color: #101827;
	font-size: 13px;
	font-weight: 900;
}

.wts-contact-form input,
.wts-contact-form textarea {
	width: 100%;
	border: 1px solid #d8e3ef;
	border-radius: 6px;
	background: #fff;
	color: #101827;
	font: inherit;
	font-weight: 500;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.wts-contact-form input {
	height: 44px;
	padding: 0 16px;
}

.wts-contact-form textarea {
	min-height: 118px;
	padding: 14px 16px;
	resize: vertical;
}

.wts-contact-form input:focus,
.wts-contact-form textarea:focus {
	border-color: #0b68f0;
	box-shadow: 0 0 0 4px rgba(11, 104, 240, .1);
}

.wts-contact-form .wts-btn {
	width: 100%;
	justify-content: center;
	border-radius: 6px;
	min-height: 48px;
}

.wts-contact-trust {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-top: 40px;
	padding: 28px 30px;
	border: 1px solid #d6e6fa;
	border-radius: 8px;
	background: #f7fbff;
}

.wts-contact-trust article {
	position: relative;
	display: grid;
	justify-items: center;
	text-align: center;
	padding: 0 28px;
}

.wts-contact-trust article:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 18px;
	right: 0;
	width: 1px;
	height: 96px;
	background: #d3e1f2;
}

.wts-contact-trust svg {
	width: 56px;
	height: 56px;
	margin-bottom: 20px;
	padding: 14px;
	border-radius: 50%;
	background: #e6f0ff;
	color: #0b68f0;
}

.wts-contact-trust h3 {
	margin: 0 0 8px;
	color: #101827;
	font-size: 16px;
}

.wts-contact-trust p {
	max-width: 190px;
	margin: 0;
	color: #4b5567;
	font-size: 14px;
	line-height: 1.55;
}

body.page-template-page-contact .wts-cta-section {
	width: min(86%, 1220px);
	margin: 0 auto !important;
	padding: 32px 0 !important;
	border-radius: 8px;
	background: #071f76 !important;
	color: #fff !important;
}

body.page-template-page-contact .wts-cta-section::before,
body.page-template-page-contact .wts-cta-section::after {
	display: none;
}

body.page-template-page-contact .wts-cta-section h2,
body.page-template-page-contact .wts-cta-section p {
	color: #fff !important;
}

body.page-template-page-contact .wts-cta-section .wts-btn-white {
	background: #fff !important;
	color: #0b68f0 !important;
}

body.page-template-page-contact .wts-cta-section .wts-btn-white svg {
	color: #0b68f0;
}

@media (max-width: 1020px) {
	.wts-contact-page .wts-container {
		width: min(90%, 960px);
	}

	.wts-contact-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.wts-contact-cards,
	.wts-contact-info > p:not(.wts-contact-pill) {
		max-width: none;
	}

	.wts-contact-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wts-contact-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 0;
	}

	.wts-contact-trust article:nth-child(2)::after {
		display: none;
	}
}

@media (max-width: 700px) {
	body.page-template-page-contact .wts-primary-nav > a:nth-child(5)::after {
		display: none;
	}

	.wts-contact-page .wts-container,
	body.page-template-page-contact .wts-cta-section {
		width: min(100% - 28px, 560px);
	}

	.wts-contact-hero {
		min-height: auto;
		padding: 46px 0;
		background-position: 64% center;
	}

	.wts-contact-hero-copy {
		padding: 20px;
		border-radius: 8px;
		background: rgba(5, 22, 82, .72);
		backdrop-filter: blur(4px);
	}

	.wts-contact-badges,
	.wts-contact-cards,
	.wts-form-row,
	.wts-contact-trust {
		grid-template-columns: 1fr;
	}

	.wts-contact-form {
		padding: 28px 22px;
	}

	.wts-contact-trust article::after {
		display: none;
	}
}

/* About page reference layout. */
body.page-template-page-about .wts-primary-nav > a:first-child {
	color: #111827;
}

body.page-template-page-about .wts-primary-nav > a:first-child::after {
	display: none;
}

body.page-template-page-about .wts-primary-nav > a:nth-child(2) {
	color: #e31e24;
}

body.page-template-page-about .wts-primary-nav > a:nth-child(2)::after {
	content: "";
	height: 3px;
	background: #e31e24;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 22px;
	border-radius: 2px;
}

.wts-about-page {
	background: #fff;
	color: #101a31;
}

.wts-about-page .wts-container {
	width: min(88%, 1260px);
	max-width: 1260px;
}

.wts-about-hero {
	position: relative;
	min-height: 500px;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgb(20 77 157) 0%, rgba(4, 26, 78, .9) 38%, rgba(3, 25, 74, .32) 100%), url(assets/images/about-hero-bg.png) center right / cover no-repeat;
}

.wts-about-hero .wts-container {
	position: relative;
	min-height: 500px;
	display: grid;
	grid-template-columns: .74fr 1fr;
	align-items: center;
	gap: 40px;
	z-index: 1;
}

.wts-about-hero-copy {
	max-width: 430px;
	color: #fff;
}

.wts-about-hero-copy > p:first-child,
.wts-about-kicker {
	margin: 0 0 16px;
	color: #f5a623;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .4px;
}

.wts-about-hero-copy h1 {
	color: #fff;
	font-size: clamp(50px, 5.5vw, 72px);
	font-weight: 900;
	line-height: 1.02;
	margin-bottom: 20px;
}

.wts-about-hero-copy h1 span {
	color: #f5a623;
}

.wts-about-hero-copy > div {
	width: 58px;
	height: 4px;
	margin-bottom: 24px;
	background: #e31e24;
	border-radius: 4px;
}

.wts-about-hero-copy p:not(:first-child) {
	max-width: 380px;
	margin-bottom: 24px;
	color: #fff;
	font-size: 18px;
	line-height: 1.65;
}

.wts-about-hero-brand {
	position: relative;
	min-height: 430px;
}

.wts-about-hero-logo {
	position: absolute;
	left: 55%;
	top: 43%;
	transform: translate(-50%, -38%);
	display: grid;
	justify-items: center;
	line-height: 1;
}

.wts-about-hero-logo span {
	font-size: clamp(58px, 8vw, 104px);
	font-weight: 900;
	letter-spacing: 2px;
}

.wts-about-hero-logo small {
	margin-top: 8px;
	color: #fff;
	font-size: clamp(15px, 1.6vw, 24px);
	font-weight: 700;
	letter-spacing: 7px;
}

.wts-about-floating {
	position: absolute;
	width: 92px;
	height: 92px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 25%, #49a2ff, #0b68f0 72%);
	color: #fff;
	box-shadow: 0 20px 44px rgba(0, 76, 190, .45);
}

.wts-about-floating svg {
	width: 48px;
	height: 48px;
	stroke-width: 2.4;
}

.wts-about-floating.cloud {
	left: 42%;
	top: 34px;
}

.wts-about-floating.shield {
	right: 12%;
	top: 112px;
}

.wts-about-floating.gear {
	left: 24%;
	bottom: 76px;
}

.wts-about-floating.users {
	right: 16%;
	bottom: 64px;
}

.wts-about-intro {
	padding: 34px 0 22px;
}

.wts-about-intro-grid {
	display: grid;
	grid-template-columns: minmax(420px, .92fr) 1fr;
	gap: 64px;
	align-items: center;
}

.wts-about-intro-grid > img {
	width: 100%;
	aspect-ratio: 1.62;
	display: block;
	object-fit: cover;
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(18, 43, 84, .12);
}

.wts-about-intro-copy h2 {
	color: #101a31;
	font-size: clamp(32px, 3.2vw, 42px);
	line-height: 1.14;
	margin-bottom: 18px;
}

.wts-about-intro-copy > p:not(.wts-about-kicker) {
	max-width: 610px;
	margin-bottom: 22px;
	color: #40506a;
	font-size: 16px;
	line-height: 1.75;
}

.wts-about-kicker {
	color: #e31e24;
}

.wts-about-check-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 34px;
}

.wts-about-check-grid span {
	position: relative;
	padding-left: 30px;
	color: #101827;
	font-weight: 600;
}

.wts-about-check-grid span::before {
	content: "";
	position: absolute;
	left: 0;
	top: .12em;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #0b68f0;
}

.wts-about-check-grid span::after {
	content: "";
	position: absolute;
	left: 5px;
	top: .45em;
	width: 7px;
	height: 4px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}

.wts-about-cards-section {
	padding: 0 0 34px;
}

.wts-about-card-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

.wts-about-info-card {
	display: grid;
	grid-template-columns: minmax(320px, .52fr) minmax(0, 1fr);
	align-items: stretch;
	min-height: 286px;
	padding: 0;
	border: 1px solid #dbe7f5;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 52px rgba(20, 48, 90, .07);
	overflow: hidden;
}

.wts-about-info-card:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(320px, .52fr);
}

.wts-about-info-card:nth-child(even) .wts-about-card-visual {
	order: 2;
}

.wts-about-card-visual {
	position: relative;
	min-height: 286px;
	display: grid;
	place-items: center;
}

.wts-about-card-visual::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
	background-size: 34px 34px;
	opacity: .35;
}


.wts-about-info-card:nth-child(even) .wts-about-card-visual::after {
	right: auto;
	left: -48px;
}

.wts-about-info-card.tone-blue .wts-about-card-visual {
	color: #0b68f0;
}

.wts-about-info-card.tone-gold .wts-about-card-visual {
	color: #f5a623;
}

.wts-about-visual-symbol {
	position: relative;
	z-index: 1;
	width: 150px;
	height: 150px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 12px solid rgba(255,255,255,.22);
	background: rgba(255,255,255,.95);
	color: currentColor;
	box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

.wts-about-visual-symbol svg {
	width: 82px;
	height: 82px;
	stroke-width: 1.8;
}

.wts-about-card-copy {
	position: relative;
	padding: 36px 44px;
}

.wts-about-card-copy::after {
	content: "";
	position: absolute;
	top: 24px;
	right: 28px;
	width: 88px;
	height: 70px;
	background-image: radial-gradient(currentColor 1.5px, transparent 1.5px);
	background-size: 14px 14px;
	opacity: .2;
}

.wts-about-info-card:nth-child(even) .wts-about-card-copy::after {
	left: 28px;
	right: auto;
}

.wts-about-card-kicker {
	margin: 0 0 10px;
	color: currentColor;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .3px;
}


.wts-about-info-card.tone-blue .wts-about-card-copy {
	color: #0b68f0;
}

.wts-about-info-card.tone-gold .wts-about-card-copy {
	color: #f5a623;
}

.wts-about-info-card h2 {
	color: #101a31;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.15;
	margin: 0 0 14px;
}

.wts-about-card-line {
	display: block;
	width: 64px;
	height: 3px;
	margin-bottom: 20px;
	background: currentColor;
	border-radius: 4px;
}

.wts-about-card-copy > p:not(.wts-about-card-kicker) {
	margin: 0 0 20px;
	color: #263751;
	font-size: 16px;
	line-height: 1.7;
}

.wts-about-card-copy ul {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #263751;
	font-size: 15px;
	line-height: 1.55;
}

.wts-about-card-copy li {
	display: grid;
	grid-template-columns: 28px 1fr;
	column-gap: 12px;
	align-items: start;
}

.wts-about-card-copy li > span {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: currentColor;
	color: #fff;
}

.wts-about-card-copy li svg {
	width: 15px;
	height: 15px;
}

.wts-about-card-copy li strong {
	color: #101a31;
}

/* About mission / vision / values image-card layout. */
.wts-about-info-card {
	grid-template-columns: minmax(360px, .52fr) minmax(0, 1fr);
	min-height: 334px;
}

.wts-about-info-card:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(360px, .52fr);
}



.wts-about-card-visual::before {
	display: none;
}


.wts-about-card-visual img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	/* object-fit: cover; */
	border-radius: 8px 61px 68px 8px;
	z-index: 1;
}

.wts-about-info-card:nth-child(even) .wts-about-card-visual img {
	border-radius: 120px 8px 8px 120px;
}

.wts-about-visual-badge {
	position: absolute;
	top: 50%;
	right: -52px;
	z-index: 3;
	width: 108px;
	height: 108px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 3px solid currentColor;
	border-radius: 50%;
	background: #fff;
	color: currentColor;
	box-shadow: 0 16px 36px rgba(20, 48, 90, .14);
	transform: translateY(-50%);
}

.wts-about-info-card:nth-child(even) .wts-about-visual-badge {
	left: -52px;
	right: auto;
}

.wts-about-visual-badge svg {
	width: 56px;
	height: 56px;
	stroke-width: 1.9;
}

.wts-about-card-copy {
	padding: 38px 62px 38px 76px;
}

.wts-about-info-card:nth-child(even) .wts-about-card-copy {
	padding: 38px 76px 38px 62px;
}

.wts-about-card-copy ul {
	gap: 4px;
}

.wts-about-card-copy li {
	grid-template-columns: 30px minmax(0, 1fr);
}

.wts-about-card-copy li > span {
	width: 30px;
	height: 30px;
}

.wts-about-card-copy li > div {
	min-width: 0;
}

.wts-about-choose {
	padding: 0 0 28px;
}

.wts-about-choose .wts-container {
	position: relative;
	overflow: hidden;
	padding: 28px 48px 38px;
	border: 1px solid #cfe1f7;
	border-radius: 8px;
	background: linear-gradient(100deg, #eef7ff 0%, #ffffff 54%, #eef7ff 100%);
}

.wts-about-choose h2 {
	text-align: center;
	color: #101a31;
	font-size: clamp(28px, 3vw, 34px);
	margin-bottom: 10px;
}

.wts-about-choose h2 span:nth-child(1) {
	color: #e31e24;
}

.wts-about-choose h2 span:nth-child(2) {
	color: #f5a623;
}

.wts-about-choose h2 span:nth-child(3) {
	color: #0b68f0;
}

.wts-about-title-mark {
	width: 56px;
	height: 3px;
	margin: 0 auto 28px;
	background: #0b68f0;
	border-radius: 4px;
}

.wts-about-choose-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}

.wts-about-choose-grid article {
	position: relative;
	display: grid;
	grid-template-columns: 82px 1fr;
	grid-template-rows: auto auto;
	column-gap: 18px;
	align-items: center;
}

.wts-about-choose-grid article:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -13px;
	top: 10px;
	bottom: 10px;
	width: 1px;
	background: #d8e5f5;
}

.wts-about-choose-grid article > div {
	grid-row: 1 / 3;
	width: 76px;
	height: 76px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #74a9ff;
	border-radius: 50%;
	background: #eaf3ff;
	color: #0b68f0;
}

.wts-about-choose-grid article svg {
	width: 42px;
	height: 42px;
}

.wts-about-choose-grid strong {
	color: #101827;
	font-size: 15px;
}

.wts-about-choose-grid p {
	margin: 4px 0 0;
	color: #263751;
	font-size: 13px;
	line-height: 1.6;
}

@media (max-width: 1100px) {
	.wts-about-intro-grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

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

	.wts-about-info-card,
	.wts-about-info-card:nth-child(even) {
		grid-template-columns: 1fr;
	}

	.wts-about-info-card:nth-child(even) .wts-about-card-visual {
		order: 0;
	}

	.wts-about-card-visual {
		min-height: 240px;
		overflow: hidden;
	}

	.wts-about-card-visual img,
	.wts-about-info-card:nth-child(even) .wts-about-card-visual img {
		border-radius: 8px 8px 0 0;
	}

	.wts-about-card-visual::after,
	.wts-about-info-card:nth-child(even) .wts-about-card-visual::after {
		display: none;
	}

	.wts-about-visual-badge,
	.wts-about-info-card:nth-child(even) .wts-about-visual-badge {
		left: 50%;
		right: auto;
		top: auto;
		bottom: -42px;
		width: 84px;
		height: 84px;
		transform: translateX(-50%);
	}

	.wts-about-visual-badge svg {
		width: 44px;
		height: 44px;
	}

	.wts-about-choose-grid article:nth-child(2)::after {
		display: none;
	}
}

@media (max-width: 820px) {
	.wts-about-hero,
	.wts-about-hero .wts-container {
		min-height: auto;
	}

	.wts-about-hero .wts-container {
		grid-template-columns: 1fr;
		padding: 54px 0;
	}

	.wts-about-hero-brand {
		min-height: 280px;
	}

	.wts-about-floating {
		width: 70px;
		height: 70px;
	}

	.wts-about-floating svg {
		width: 34px;
		height: 34px;
	}

	.wts-about-hero-logo span {
		font-size: 58px;
	}

	.wts-about-hero-logo small {
		font-size: 13px;
		letter-spacing: 5px;
	}

	.wts-about-check-grid {
		grid-template-columns: 1fr;
	}

	.wts-about-card-copy {
		padding: 56px 28px 30px;
	}

	.wts-about-info-card:nth-child(even) .wts-about-card-copy {
		padding: 56px 28px 30px;
	}
}

@media (max-width: 620px) {
	body.page-template-page-about .wts-primary-nav > a:nth-child(2)::after {
		display: none;
	}

	.wts-about-page .wts-container {
		width: min(100% - 28px, 520px);
	}

	.wts-about-hero-copy h1 {
		font-size: 46px;
	}

	.wts-about-card-grid,
	.wts-about-choose-grid {
		grid-template-columns: 1fr;
	}

	.wts-about-info-card,
	.wts-about-choose-grid article {
		grid-template-columns: 1fr;
	}

	.wts-about-card-visual {
		min-height: 210px;
	}

	.wts-about-visual-symbol {
		width: 118px;
		height: 118px;
	}

	.wts-about-visual-symbol svg {
		width: 62px;
		height: 62px;
	}

	.wts-about-visual-badge,
	.wts-about-info-card:nth-child(even) .wts-about-visual-badge {
		width: 74px;
		height: 74px;
		bottom: -37px;
	}

	.wts-about-visual-badge svg {
		width: 38px;
		height: 38px;
	}

	.wts-about-choose .wts-container {
		padding: 26px;
	}

	.wts-about-choose-grid article::after {
		display: none;
	}
}

/* Final homepage interaction polish: autoplay-ready sliders, CTA icon alignment, smooth scroll, newsletter sizing. */
html {
	scroll-behavior: smooth;
}

.testimonials-section .wts-slider {
	appearance: none !important;
	-webkit-appearance: none !important;
	aspect-ratio: 1 / 1 !important;
	padding: 0 !important;
	border-radius: 999px !important;
	line-height: 1 !important;
	box-shadow: 0 12px 28px rgba(227, 30, 36, .22) !important;
}

.testimonials-section .wts-slider:hover,
.testimonials-section .wts-slider:focus-visible {
	background: #d71920 !important;
	outline: none !important;
}

.wts-cta-section .wts-btn-white {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	line-height: 1 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.wts-cta-section .wts-btn-white svg {
	width: 19px !important;
	height: 19px !important;
	display: block !important;
	margin: 0 !important;
	transform: translateY(1px) !important;
}

.wts-newsletter {
	min-height: 56px !important;
	max-width: 260px !important;
	align-items: stretch !important;
}

.wts-newsletter input {
	width: 100% !important;
	height: 56px !important;
	padding: 0 14px !important;
	line-height: 56px !important;
}

.wts-newsletter button {
	width: 60px !important;
	height: 56px !important;
	flex: 0 0 60px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
}

.wts-newsletter button svg {
	width: 23px !important;
	height: 23px !important;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

@media (min-width: 1101px) {
	.wts-footer-grid {
		grid-template-columns: 1.25fr .8fr .8fr 1.15fr 1.4fr !important;
	}
}

/* Reference testimonial redesign. */
.testimonials-section {
	position: relative !important;
	overflow: hidden !important;
	padding: 30px 0 55px !important;
	background:
		radial-gradient(circle at 50% 0%, rgba(255,255,255,.98) 0 34%, rgba(255,255,255,0) 56%),
		linear-gradient(180deg, #f7fcff 0%, #eef8ff 100%) !important;
}

.testimonials-section::before,
.testimonials-section::after {
	content: "" !important;
	position: absolute !important;
	width: 92px !important;
	height: 142px !important;
	background-image: radial-gradient(rgba(8, 103, 246, .18) 2px, transparent 2px) !important;
	background-size: 16px 16px !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

.testimonials-section::before {
	left: max(46px, calc((100% - 1120px) / 2 + 66px)) !important;
	bottom: 104px !important;
}

.testimonials-section::after {
	right: max(46px, calc((100% - 1120px) / 2 - 8px)) !important;
	top: 254px !important;
}

.testimonials-section .wts-container {
	position: relative !important;
	z-index: 1 !important;
	width: min(1120px, calc(100% - 96px)) !important;
}

.testimonials-section .wts-container::after {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	bottom: -170px !important;
	width: 150vw !important;
	height: 190px !important;
	transform: translateX(-50%) !important;
	background: #fff !important;
	border-radius: 50% 50% 0 0 / 100% 100% 0 0 !important;
	z-index: -1 !important;
}

.testimonials-section .wts-kicker {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	color: #176bdc !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	letter-spacing: .8px !important;
	margin-bottom: 20px !important;
}

.testimonials-section .wts-kicker::before,
.testimonials-section .wts-kicker::after {
	content: "" !important;
	width: 45px !important;
	height: 1px !important;
	background: #9bc8f8 !important;
	box-shadow: -8px 0 0 -5px #176bdc, 53px 0 0 -5px #176bdc !important;
}

.testimonials-section h2 {
	color: #080808 !important;
	font-size: clamp(34px, 4vw, 48px) !important;
	font-weight: 900 !important;
	text-align: center !important;
	letter-spacing: 0 !important;
	margin-bottom: 52px !important;
}

.testimonials-section .wts-heading-red {
	color: #e31e24 !important;
}

.testimonials-section .wts-heading-blue {
	color: #176bdc !important;
}

.testimonials-section .wts-testimonial-track {
	display: grid !important;
	grid-auto-flow: column !important;
	grid-auto-columns: calc((100% - 56px) / 3) !important;
	grid-template-columns: none !important;
	gap: 28px !important;
	margin: 0 !important;
	padding: 0 0 22px !important;
	overflow-x: auto !important;
	overflow-y: visible !important;
	scroll-snap-type: x mandatory !important;
	scroll-behavior: smooth !important;
	scrollbar-width: none !important;
}

.testimonials-section .wts-testimonial-track::-webkit-scrollbar {
	display: none !important;
}

.testimonials-section .wts-testimonial {
	position: relative !important;
	min-height: 280px !important;
	padding: 30px 30px 28px !important;
	border: 1px solid rgba(23, 107, 220, .45) !important;
	border-top-color: rgba(23, 107, 220, .72) !important;
	border-radius: 10px !important;
	background: rgba(255,255,255,.88) !important;
	box-shadow: 0 16px 36px rgba(23, 65, 125, .08) !important;
	scroll-snap-align: start !important;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.testimonials-section .wts-testimonial:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 22px 46px rgba(23, 65, 125, .12) !important;
	border-color: rgba(23, 107, 220, .8) !important;
}

.testimonials-section .wts-testimonial::before {
	content: "" !important;
	position: absolute !important;
	top: -1px !important;
	left: 48% !important;
	width: 59px !important;
	height: 4px !important;
	background: #e31e24 !important;
	border-radius: 21%;
	transform: translateX(-50%) !important;
}

.testimonials-section .wts-testimonial-top {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 18px !important;
	margin-bottom: 26px !important;
}

.testimonials-section .wts-testimonial b {
	color: #4b91f3 !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 76px !important;
	line-height: .62 !important;
	height: 44px !important;
}

.testimonials-section .wts-rating {
	color: #f5a400 !important;
	font-size: 18px !important;
	letter-spacing: 2px !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	padding-top: 13px !important;
}

.testimonials-section .wts-testimonial p {
	color: #1f2937 !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
	margin: 0 !important;
	min-height: 98px !important;
}

.testimonials-section .wts-testimonial-author {
	display: grid !important;
	grid-template-columns: 54px 1fr !important;
	align-items: center !important;
	gap: 16px !important;
	margin-top: 28px !important;
	padding-top: 22px !important;
	border-top: 1px dashed #d6e3ef !important;
}

.testimonials-section .wts-testimonial .avatar {
	width: 50px !important;
	height: 50px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	background: linear-gradient(135deg, #ed585d 0%, #001b40 100%) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	box-shadow: 0 10px 20px rgba(8, 103, 246, .24) !important;
}

.testimonials-section .wts-testimonial strong {
	display: block !important;
	color: #1c1c1c !important;
	font-size: 17px !important;
	line-height: 1.25 !important;
	margin-bottom: 6px !important;
}

.testimonials-section .wts-testimonial small {
	display: block !important;
	margin: 0 !important;
	color: #2f3742 !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
}

.testimonials-section .wts-slider {
	top: 57% !important;
	width: 50px !important;
	height: 50px !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: #e31e24 !important;
	border: 0 !important;
	box-shadow: 0 16px 36px rgba(18, 43, 84, .13) !important;
	font-size: 40px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.testimonials-section .wts-slider:hover,
.testimonials-section .wts-slider:focus-visible {
	background: #e31e24 !important;
	color: #fff !important;
	box-shadow: 0 18px 42px rgba(227, 30, 36, .24) !important;
}

.testimonials-section .wts-slider.prev {
	left: -78px !important;
}

.testimonials-section .wts-slider.next {
	right: -78px !important;
}

.wts-testimonial-dots {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	margin-top: 18px !important;
}

.wts-testimonial-dots button {
	width: 12px !important;
	height: 12px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #b8c0c8 !important;
	cursor: pointer !important;
	transition: background .2s ease, border .2s ease, transform .2s ease !important;
}

.wts-testimonial-dots button.active {
	background: #e31e24 !important;
	transform: scale(1.05) !important;
}

.wts-testimonial-dots button:not(.active):focus-visible,
.wts-testimonial-dots button:not(.active):hover {
	background: #fff !important;
	border: 2px solid #e31e24 !important;
}

@media (max-width: 1280px) {
	.testimonials-section .wts-slider.prev {
		left: -24px !important;
	}

	.testimonials-section .wts-slider.next {
		right: -24px !important;
	}
}

@media (max-width: 980px) {
	.testimonials-section {
		padding: 86px 0 98px !important;
	}

	.testimonials-section .wts-container {
		width: min(100% - 54px, 760px) !important;
	}

	.testimonials-section h2 {
		margin-bottom: 38px !important;
	}

	.testimonials-section .wts-testimonial-track {
		grid-auto-columns: calc((100% - 24px) / 2) !important;
		gap: 24px !important;
	}

	.testimonials-section .wts-slider {
		width: 50px !important;
		height: 50px !important;
		font-size: 36px !important;
	}
}

@media (max-width: 680px) {
	.testimonials-section {
		padding: 72px 0 84px !important;
	}

	.testimonials-section::before,
	.testimonials-section::after {
		opacity: .55 !important;
	}

	.testimonials-section .wts-container {
		width: min(100% - 34px, 480px) !important;
	}

	.testimonials-section .wts-kicker::before,
	.testimonials-section .wts-kicker::after {
		width: 28px !important;
	}

	.testimonials-section h2 {
		font-size: 34px !important;
	}

	.testimonials-section .wts-testimonial-track {
		grid-auto-columns: 100% !important;
	}

	.testimonials-section .wts-slider {
		display: inline-flex !important;
		top: auto !important;
		bottom: -48px !important;
		width: 44px !important;
		height: 44px !important;
		font-size: 32px !important;
	}

	.testimonials-section .wts-slider.prev {
		left: 0 !important;
	}

	.testimonials-section .wts-slider.next {
		right: 0 !important;
	}

	.wts-testimonial-dots {
		margin-top: 74px !important;
		padding: 0 58px !important;
	}
}

/* Partner landing, dashboard, and navigation. */
.wts-primary-nav .wts-nav-partner {
	color: #e31e24 !important;
	padding: 10px 14px !important;
	border: 1px solid rgba(227, 30, 36, .18);
	border-radius: 6px;
	background: rgba(227, 30, 36, .06);
}

.wts-primary-nav .wts-nav-partner::after {
	display: none !important;
}

.wts-primary-nav .wts-nav-partner:hover,
.wts-primary-nav .wts-nav-partner:focus-visible {
	background: #e31e24;
	color: #fff !important;
}

.wts-partner-hero {
	padding: 80px 0 48px;
	background: #fff;
}

.wts-partner-hero .wts-container,
.wts-partner-benefits .wts-container,
.wts-partner-auth .wts-container,
.wts-partner-dashboard .wts-container {
	width: min(86%, 1260px);
	max-width: 1260px;
}

.wts-partner-hero-grid {
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	gap: 46px;
	align-items: center;
	min-height: 430px;
}

.wts-partner-copy h1 {
	max-width: 440px;
	margin-bottom: 22px;
	color: #07122a;
	font-size: clamp(52px, 5.6vw, 76px);
	font-weight: 900;
	line-height: 1.05;
}

.wts-partner-word {
	display: block;
}

.wts-partner-word span:nth-child(1),
.wts-partner-word span:nth-child(3),
.wts-partner-word span:nth-child(5) {
	color: #e31e24;
}

.wts-partner-word span:nth-child(2) {
	color: #07122a;
}

.wts-partner-word span:nth-child(4),
.wts-partner-word span:nth-child(6) {
	color: #0867f6;
}

.wts-partner-word span:nth-child(7) {
	color: #8a93a3;
}

.wts-partner-copy p {
	max-width: 470px;
	color: #526079;
	font-size: 17px;
	line-height: 1.7;
}

.wts-partner-copy .wts-btn-outline-red {
	min-width: 138px;
}

.wts-partner-visual {
	position: relative;
	min-height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.wts-partner-visual img {
	position: relative;
	z-index: 2;
	width: min(100%, 620px);
	display: block;
}

.wts-partner-orbit {
	position: absolute;
	z-index: 1;
	width: min(76%, 440px);
	aspect-ratio: 1;
	border: 3px dotted rgba(8, 103, 246, .2);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(8, 103, 246, .06), rgba(8, 103, 246, 0) 65%);
}

.wts-partner-badge {
	position: absolute;
	z-index: 3;
	width: 58px;
	height: 58px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #fff;
	box-shadow: 0 16px 34px rgba(18, 43, 84, .18);
}

.wts-partner-badge svg {
	width: 28px;
	height: 28px;
	stroke-width: 2.3;
}

.wts-partner-badge.red {
	top: 42px;
	left: 50%;
	background: #e31e24;
}

.wts-partner-badge.gold {
	left: 18%;
	bottom: 72px;
	background: #f5a623;
}

.wts-partner-badge.blue {
	right: 16%;
	bottom: 52px;
	background: #0867f6;
}

.wts-partner-benefits {
	padding: 42px 0 30px;
	background: #fff;
}

.wts-partner-section-head {
	text-align: center;
	margin-bottom: 30px;
}

.wts-partner-section-head p {
	margin: 0 0 10px;
	color: #e31e24;
	font-weight: 900;
}

.wts-partner-section-head h2 {
	color: #07122a;
	font-size: clamp(32px, 3.2vw, 42px);
}

.wts-partner-benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
}

.wts-partner-benefit-card {
	min-height: 290px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 34px 28px 28px;
	text-align: center;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
}

.wts-partner-benefit-card > span {
	width: 78px;
	height: 78px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
	border-radius: 10px;
}

.wts-partner-benefit-card svg {
	width: 44px;
	height: 44px;
}

.wts-partner-benefit-card h3 {
	color: #07122a;
	margin-bottom: 14px;
	font-size: 17px;
}

.wts-partner-benefit-card p {
	color: #536078;
	font-size: 14px;
	line-height: 1.75;
}

.wts-partner-benefit-card i {
	width: 45px;
	height: 3px;
	margin-top: auto;
	border-radius: 4px;
	background: currentColor;
}

.wts-partner-benefit-card.tone-red {
	color: #e31e24;
}

.wts-partner-benefit-card.tone-red > span {
	background: #fde9ea;
}

.wts-partner-benefit-card.tone-gold {
	color: #f5a623;
}

.wts-partner-benefit-card.tone-gold > span {
	background: #fff2dd;
}

.wts-partner-benefit-card.tone-blue {
	color: #0867f6;
}

.wts-partner-benefit-card.tone-blue > span {
	background: #eaf3ff;
}

.wts-partner-auth {
	padding: 0 0 90px;
	background: #fff;
}

.wts-partner-auth-card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	gap: 48px;
	padding: 38px 42px 46px;
	border: 1px solid #dfe6ef;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 20px 45px rgba(18, 43, 84, .05);
}

.wts-partner-form-panel h2 {
	margin-bottom: 8px;
	color: #07122a;
	font-size: 28px;
}

.wts-partner-form-panel > p {
	margin-bottom: 28px;
	color: #6b768c;
	font-size: 15px;
}

.wts-partner-form {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.wts-partner-form.login {
	grid-template-columns: 1fr;
}

.wts-partner-form label {
	position: relative;
	margin: 0;
}

.wts-partner-form label span {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	color: #8490a3;
}

.wts-partner-form label svg {
	width: 18px;
	height: 18px;
}

.wts-partner-form input,
.wts-partner-form select {
	width: 100%;
	height: 54px;
	padding: 0 16px 0 46px;
	border: 1px solid #dce4ef;
	border-radius: 6px;
	color: #07122a;
	font: inherit;
	background: #fff;
}

.wts-partner-form .wide,
.wts-partner-form small,
.wts-partner-form .wts-forgot-link {
	grid-column: 1 / -1;
}

.wts-partner-form button.wide {
	width: 100%;
	margin-top: 18px;
}

.wts-partner-form small {
	text-align: center;
	color: #526079;
	font-weight: 600;
}

.wts-partner-form a,
.wts-forgot-link {
	color: #e31e24;
	font-weight: 800;
}

.wts-forgot-link {
	justify-self: end;
	font-size: 14px;
}

.wts-partner-form-panel .wts-partner-reset {
	display: none;
}

.wts-partner-form-panel.is-resetting .wts-login-view {
	display: none;
}

.wts-partner-form-panel.is-resetting .wts-partner-reset {
	display: block;
}

.wts-partner-auth-divider {
	position: relative;
	width: 1px;
	background: #dfe6ef;
}

.wts-partner-auth-divider span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform: translate(-50%, -50%);
	border: 1px solid #dfe6ef;
	border-radius: 50%;
	background: #fff;
	color: #07122a;
	font-weight: 800;
}

.wts-partner-dashboard {
	min-height: 680px;
	padding: 58px 0 90px;
	background: linear-gradient(180deg, #f7fbff 0%, #fff 100%);
}

.wts-dashboard-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
	padding: 24px;
	border: 1px solid #dfe6ef;
	border-radius: 8px;
	background: #fff;
}

.wts-dashboard-header > div {
	display: flex;
	align-items: center;
	gap: 18px;
}

.wts-dashboard-avatar {
	width: 62px;
	height: 62px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #e31e24;
	color: #fff;
	font-size: 24px;
	font-weight: 900;
}

.wts-dashboard-header h1 {
	margin: 0;
	font-size: clamp(28px, 3vw, 40px);
}

.wts-dashboard-tabs {
	display: flex;
	gap: 12px;
	margin-bottom: 22px;
}

.wts-dashboard-tabs a {
	padding: 13px 18px;
	border: 1px solid #dfe6ef;
	border-radius: 6px;
	background: #fff;
	color: #07122a;
	font-weight: 800;
}

.wts-dashboard-tabs a.active {
	background: #e31e24;
	border-color: #e31e24;
	color: #fff;
}

.wts-dashboard-panel {
	padding: 28px;
	border: 1px solid #dfe6ef;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 38px rgba(18, 43, 84, .06);
}

.wts-dashboard-form {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.wts-dashboard-form label {
	display: grid;
	gap: 8px;
	color: #07122a;
	font-weight: 800;
}

.wts-dashboard-form .wide {
	grid-column: 1 / -1;
}

.wts-dashboard-form input,
.wts-dashboard-form textarea {
	width: 100%;
	border: 1px solid #dce4ef;
	border-radius: 6px;
	padding: 13px 14px;
	color: #07122a;
	font:caption;
}

.wts-dashboard-form input[readonly] {
	background: #f6f8fb;
	color: #64748b;
}

.wts-update-list {
	display: grid;
	gap: 18px;
}

.wts-update-card {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px 18px;
	padding: 22px;
	border: 1px solid #dfe6ef;
	border-radius: 8px;
	background: #fff;
}

.wts-update-card.is-unread {
	border-color: rgba(227, 30, 36, .45);
	background: #fffafa;
}

.wts-update-card h3 {
	margin-bottom: 6px;
}

.wts-update-card time {
	color: #64748b;
	font-size: 14px;
}

.wts-update-card strong {
	align-self: start;
	padding: 5px 10px;
	border-radius: 999px;
	background: #eef2f7;
	color: #07122a;
	font-size: 12px;
}

.wts-update-card.is-unread strong {
	background: #e31e24;
	color: #fff;
}

.wts-update-body {
	grid-column: 1 / -1;
	color: #334155;
}

.wts-update-body p:last-child {
	margin-bottom: 0;
}

.wts-empty-updates {
	margin: 0;
	padding: 34px;
	border: 1px dashed #d5deea;
	border-radius: 8px;
	text-align: center;
	color: #64748b;
	font-weight: 800;
}

@media (max-width: 1100px) {
	.wts-partner-hero-grid,
	.wts-partner-auth-card {
		grid-template-columns: 1fr;
	}

	.wts-partner-auth-divider {
		width: 100%;
		height: 1px;
	}

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

@media (max-width: 680px) {
	.wts-partner-hero {
		padding-top: 48px;
	}

	.wts-partner-hero .wts-container,
	.wts-partner-benefits .wts-container,
	.wts-partner-auth .wts-container,
	.wts-partner-dashboard .wts-container {
		width: min(100% - 28px, 520px);
	}

	.wts-partner-copy h1 {
		font-size: 44px;
	}

	.wts-partner-visual {
		min-height: 270px;
	}

	.wts-partner-badge {
		width: 46px;
		height: 46px;
	}

	.wts-partner-badge svg {
		width: 22px;
		height: 22px;
	}

	.wts-partner-benefit-grid,
	.wts-partner-form,
	.wts-dashboard-form {
		grid-template-columns: 1fr;
	}

	.wts-partner-auth-card,
	.wts-dashboard-panel,
	.wts-dashboard-header {
		padding: 22px;
	}

	.wts-dashboard-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.wts-dashboard-tabs {
		flex-direction: column;
	}
}

/* Partner form feedback and password reset. */
.wts-form-message {
	grid-column: 1 / -1;
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: 6px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.5;
}

.wts-form-message.error {
	border: 1px solid rgba(227, 30, 36, .28);
	background: #fff0f1;
	color: #b51218;
}

.wts-form-message.success {
	border: 1px solid rgba(18, 160, 87, .28);
	background: #effaf4;
	color: #087443;
}

.wts-partner-reset {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.wts-partner-reset .wts-reset-back {
	display: block;
	margin-top: 16px;
	text-align: center;
	color: #526079;
	font-weight: 600;
}

.wts-reset-code-form {
	margin-top: 16px;
}

/* Partner dashboard reference layout. */
body.wts-partner-dashboard-body {
	background: #f8fbff;
	color: #111827;
}

body.wts-partner-dashboard-body .wts-dash-shell {
	min-height: 100vh;
	display: grid;
	grid-template-columns: 280px 1fr;
	background: #f8fbff;
	font-family: Arial, Helvetica, sans-serif;
}

.wts-dash-sidebar {
	position: sticky;
	top: 0;
	height: 100vh;
	padding: 32px 28px;
	border-right: 1px solid #e5edf7;
	background: #fff;
}

.wts-dash-sidebar .wts-logo {
	margin-bottom: 58px;
}

.wts-dash-nav {
	display: grid;
	gap: 16px;
}

.wts-dash-nav a {
	min-height: 64px;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 0 6px;
	border-radius: 8px;
	color: #101827;
	font-weight: 600;
}

.wts-dash-nav a svg {
	width: 26px;
	height: 26px;
	color: #48627f;
}

.wts-dash-nav a.active {
	background: #eaf3ff;
	color: #0867f6;
}

.wts-dash-nav a.active svg {
	color: #0867f6;
}

.wts-dash-nav a.logout {
	margin-top: 30px;
	padding-top: 26px;
	border-top: 1px solid #e5edf7;
	color: #101827;
}

.wts-dash-nav a.logout svg {
	color: #e31e24;
}

.wts-dash-main {
	min-width: 0;
}

.wts-dash-topbar {
	height: 136px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 48px;
	border-bottom: 1px solid #e5edf7;
	background: #fff;
}

.wts-dash-topbar button {
	width: 42px;
	height: 42px;
	border: 0;
	background: transparent;
	color: #48627f;
}

.wts-dash-top-actions {
	display: flex;
	align-items: center;
	gap: 44px;
}

.wts-dash-top-actions > a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #07122a;
	font-size: 18px;
	font-weight: 700;
}

.wts-dash-top-actions > a svg {
	color: #0867f6;
}

.wts-dash-user {
	display: flex;
	align-items: center;
	gap: 16px;
}

.wts-dash-user > span,
.wts-dashboard-avatar.blue {
	width: 65px;
	height: 65px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f5bb5c;
	color: #000000;
	font-size: 18px;
	font-weight: 800;
}

.wts-dash-user strong,
.wts-dash-user small {
	display: block;
}

.wts-dash-user strong {
	font-size: 18px;
}

.wts-dash-user small {
	color: #64748b;
	font-size: 14px;
}

.wts-dash-content {
	padding: 40px 48px 20px;
}

.wts-dash-hero {
	min-height: 258px;
	display: grid;
	grid-template-columns: 80px 1fr 420px;
	align-items: center;
	gap: 24px;
	margin-bottom: 38px;
	padding: 42px;
	border: 1px solid #dbe8f8;
	border-radius: 8px;
	background:
		linear-gradient(100deg, rgb(255 255 255), rgb(81 168 255 / 82%)), radial-gradient(circle at 84% 45%, #b1c9ff 0, #ffffff 48%, #fff 72%);
	box-shadow: 0 18px 38px rgba(22, 52, 91, .06);
}

.wts-dash-hero p {
	margin: 0 0 6px;
	color: #07122a;
	font-size: 18px;
	line-height: 1.3;
}

.wts-dash-hero h1 {
	font-size: 34px;
	margin-bottom: 20px;
}

.wts-dash-hero small {
	color: #53627b;
	font-size: 18px;
}

.wts-dash-hero article {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 28px;
	align-items: center;
	justify-self: end;
	width: min(100%, 410px);
	padding: 32px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 44px rgba(22, 52, 91, .12);
}

.wts-dash-hero article > span,
.wts-card-title > span,
.wts-dash-help-icon,
.wts-support-phone > svg {
	width: 76px;
	height: 76px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: #eaf3ff;
	color: #0867f6;
}

.wts-dash-hero article svg,
.wts-card-title svg,
.wts-dash-help-icon svg,
.wts-support-phone > svg {
	width: 38px;
	height: 38px;
}

.wts-dash-hero article strong {
	display: block;
	color: #314058;
	font-size: 18px;
}

.wts-dash-hero article b {
	display: block;
	color: #07122a;
	font-size: 42px;
	line-height: 1.1;
}

.wts-dash-hero article a,
.wts-dash-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #0867f6;
	font-weight: 900;
}

.wts-dash-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(340px, 1fr);
	gap: 36px;
}

.wts-dash-card {
	padding: 32px;
	border: 1px solid #dfe8f4;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 38px rgba(22, 52, 91, .05);
}

.wts-card-title {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 30px;
}

.wts-card-title h2,
.wts-dash-card h2,
.wts-dash-card h1 {
	margin-bottom: 8px;
	color: #07122a;
}

.wts-card-title p,
.wts-dash-card p {
	color: #526079;
}

.wts-dash-update-mini {
	display: grid;
	gap: 16px;
}

.wts-dash-update-mini > div {
	min-height: 72px;
	display: grid;
	grid-template-columns: 50px 1fr auto;
	align-items: center;
	gap: 18px;
	padding: 12px 16px;
	border-radius: 8px;
	background: #f7faff;
}

.wts-dash-update-mini span {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #eaf3ff;
	color: #0867f6;
}

.wts-dash-update-mini p,
.wts-dash-update-mini time {
	margin: 0;
}

.wts-dash-update-mini time {
	color: #64748b;
	font-size: 14px;
}

.wts-dash-link {
	margin-top: 28px;
}

.wts-dash-link.left {
	justify-content: flex-start;
}

.wts-support-phone {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 24px 0;
	padding: 24px;
	border-radius: 8px;
	background: #f0f6ff;
}

.wts-support-phone strong,
.wts-support-phone small {
	display: block;
}

.wts-support-phone strong {
	color: #07122a;
	font-size: 20px;
}

.wts-support-phone small {
	color: #64748b;
}

.wts-support-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
	gap: 30px;
}

.wts-dashboard-form.single {
	grid-template-columns: 1fr;
}

.wts-ticket-list {
	display: grid;
	gap: 16px;
}

.wts-ticket-list article {
	padding: 18px;
	border: 1px solid #dfe8f4;
	border-radius: 8px;
	background: #f8fbff;
}

.wts-ticket-list header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
}

.wts-ticket-list span {
	padding: 4px 10px;
	border-radius: 999px;
	background: #eaf3ff;
	color: #0867f6;
	font-size: 12px;
	font-weight: 900;
}

.wts-ticket-list .reply {
	margin-top: 12px;
	padding: 12px;
	border-left: 3px solid #0867f6;
	background: #fff;
}

.wts-ticket-list .reply b {
	display: block;
	margin-bottom: 6px;
}

.wts-dash-footer {
	padding: 36px;
	text-align: center;
	color: #64748b;
}

@media (max-width: 1180px) {
	body.wts-partner-dashboard-body .wts-dash-shell {
		grid-template-columns: 1fr;
	}

	.wts-dash-sidebar {
		position: static;
		height: auto;
	}

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

	.wts-dash-hero,
	.wts-dash-grid,
	.wts-support-layout {
		grid-template-columns: 1fr;
	}

	.wts-dash-hero article {
		justify-self: stretch;
	}
}

@media (max-width: 680px) {
	.wts-dash-topbar,
	.wts-dash-content {
		padding-left: 18px;
		padding-right: 18px;
	}

	.wts-dash-topbar {
		height: auto;
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.wts-dash-top-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.wts-dash-nav {
		grid-template-columns: 1fr;
	}

	.wts-dash-hero,
	.wts-dash-card {
		padding: 22px;
	}

.wts-dash-update-mini > div,
	.wts-dash-hero article {
		grid-template-columns: 1fr;
	}
}

/* Primary navigation active state. */
.wts-primary-nav > a,
.wts-primary-nav .wts-solutions-link {
	position: relative;
}

.wts-primary-nav a:first-child,
body.page-template-page-about .wts-primary-nav > a:first-child,
body.page-template-page-services .wts-primary-nav > a:first-child,
body.page-template-page-solutions .wts-primary-nav a:first-child,
body:has(.wts-solutions-page) .wts-primary-nav a:first-child,
.wts-primary-nav > a:not(.is-active),
.wts-primary-nav .wts-solutions-link:not(.is-active) {
	color: #111827 !important;
}

.wts-primary-nav > a::after,
.wts-primary-nav .wts-solutions-link::after,
.wts-primary-nav a:first-child::after,
body.page-template-page-about .wts-primary-nav > a:nth-child(2)::after,
body.page-template-page-services .wts-primary-nav > a:nth-child(3)::after,
body.page-template-page-solutions .wts-primary-nav a:nth-child(4)::after,
body:has(.wts-solutions-page) .wts-primary-nav a:nth-child(4)::after {
	display: none !important;
}

.wts-primary-nav > a:hover,
.wts-primary-nav > a:focus-visible,
.wts-primary-nav .wts-solutions-link:hover,
.wts-primary-nav .wts-solutions-link:focus-visible,
.wts-primary-nav > a.is-active,
.wts-primary-nav .wts-solutions-link.is-active {
	color: #e31e24 !important;
}

.wts-primary-nav > a.is-active:not(.wts-nav-partner)::after,
.wts-primary-nav .wts-solutions-link.is-active::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 7px !important;
	height: 3px !important;
	border-radius: 2px !important;
	background: #e31e24 !important;
}

body.wts-site-body .wts-primary-nav > a.wts-nav-link.is-active,
body.wts-site-body .wts-primary-nav .wts-solutions-link.is-active {
	color: #e31e24 !important;
}

body.wts-site-body .wts-primary-nav > a.wts-nav-link.is-active:not(.wts-nav-partner)::after,
body.wts-site-body .wts-primary-nav .wts-solutions-link.is-active::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 7px !important;
	height: 3px !important;
	border-radius: 2px !important;
	background: #e31e24 !important;
}
