:root {
	--gsw-bg: #f6f8fb;
	--gsw-text: #0f172a;
	--gsw-accent: #0f766e;
	--gsw-card: #ffffff;
	--gsw-border: #e2e8f0;
	--gsw-header-bg: #ffffffcc;
	--gsw-header-border: #e2e8f0;
	--gsw-footer-bg: #ffffff;
	--gsw-footer-color: #0f172a;
	--gsw-footer-border: #e2e8f0;
}

body {
	margin: 0;
	color: var(--gsw-text);
	background: radial-gradient(circle at top right, #dbeafe, transparent 45%), var(--gsw-bg);
	font-family: "Segoe UI", sans-serif;
}

.gsw-design-style-1 {
	--gsw-bg: #f6f8fb;
	--gsw-accent: #0f766e;
	--gsw-text: #0f172a;
}

.gsw-design-style-2 {
	--gsw-bg: #f8fafc;
	--gsw-accent: #1d4ed8;
	--gsw-text: #0f172a;
}

.gsw-design-style-3 {
	--gsw-bg: #faf7f2;
	--gsw-accent: #b45309;
	--gsw-text: #1f2937;
}

.gsw-design-style-4 {
	--gsw-bg: #f5f3ff;
	--gsw-accent: #7c3aed;
	--gsw-text: #1e1b4b;
}

.gsw-design-style-5 {
	--gsw-bg: #f0fdf4;
	--gsw-accent: #15803d;
	--gsw-text: #052e16;
}

.gsw-design-style-6 {
	--gsw-bg: #fff1f2;
	--gsw-accent: #be123c;
	--gsw-text: #4c0519;
}

.gsw-design-style-7 {
	--gsw-bg: #eff6ff;
	--gsw-accent: #0369a1;
	--gsw-text: #082f49;
}

.gsw-design-style-8 {
	--gsw-bg: #f7fee7;
	--gsw-accent: #4d7c0f;
	--gsw-text: #1a2e05;
}

.gsw-design-style-9 {
	--gsw-bg: #fefce8;
	--gsw-accent: #ca8a04;
	--gsw-text: #422006;
}

.gsw-design-style-10 {
	--gsw-bg: #f8fafc;
	--gsw-accent: #0f172a;
	--gsw-text: #0f172a;
}

.gsw-container {
	width: min(var(--gsw-content-width, 1200px), calc(100% - calc(var(--gsw-content-padding, 20px) * 2)));
	margin-inline: auto;
}

.gsw-layout-boxed .gsw-main {
	width: min(1280px, calc(100% - 32px));
	margin: 16px auto;
	background: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 18px 38px rgb(15 23 42 / 8%);
}

.gsw-top-header {
	border-bottom: 1px solid #1f2937;
	font-size: 13px;
}

.gsw-top-header__inner {
	min-height: 38px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.gsw-top-header-style-1 {
	background: #0f172a;
	color: #e2e8f0;
}

.gsw-top-header-style-2 {
	background: #1d4ed8;
	color: #e0e7ff;
}

.gsw-top-header-style-3 {
	background: #7c2d12;
	color: #ffedd5;
}

.gsw-top-header-style-4 {
	background: #312e81;
	color: #e0e7ff;
}

.gsw-top-header-style-5 {
	background: #14532d;
	color: #dcfce7;
}

.gsw-top-header-style-6 {
	background: #9f1239;
	color: #ffe4e6;
}

.gsw-top-header-style-7 {
	background: #0c4a6e;
	color: #e0f2fe;
}

.gsw-top-header-style-8 {
	background: #365314;
	color: #ecfccb;
}

.gsw-top-header-style-9 {
	background: #713f12;
	color: #fef9c3;
}

.gsw-top-header-style-10 {
	background: #111827;
	color: #f3f4f6;
}

.gsw-header {
	background: var(--gsw-header-bg);
	border-bottom: 1px solid var(--gsw-header-border);
}

.gsw-header-style-1 {
	--gsw-header-bg: #ffffffcc;
	--gsw-header-border: #e2e8f0;
	backdrop-filter: blur(8px);
}

.gsw-header-style-2 {
	--gsw-header-bg: #0f172a;
	--gsw-header-border: #1e293b;
	color: #e2e8f0;
}

.gsw-header-style-3 {
	--gsw-header-bg: #1d4ed8;
	--gsw-header-border: #1e40af;
	color: #dbeafe;
}

.gsw-header-style-4 {
	--gsw-header-bg: #7c3aed;
	--gsw-header-border: #6d28d9;
	color: #ede9fe;
}

.gsw-header-style-5 {
	--gsw-header-bg: #14532d;
	--gsw-header-border: #166534;
	color: #dcfce7;
}

.gsw-header-style-6 {
	--gsw-header-bg: #be123c;
	--gsw-header-border: #9f1239;
	color: #ffe4e6;
}

.gsw-header-style-7 {
	--gsw-header-bg: #ffffff;
	--gsw-header-border: #cbd5e1;
	box-shadow: 0 12px 30px rgb(2 6 23 / 8%);
}

.gsw-header-style-8 {
	--gsw-header-bg: linear-gradient(120deg, #0f172a, #1d4ed8);
	--gsw-header-border: #1d4ed8;
	color: #e2e8f0;
}

.gsw-header-style-9 {
	--gsw-header-bg: linear-gradient(120deg, #111827, #7c3aed);
	--gsw-header-border: #7c3aed;
	color: #ede9fe;
}

.gsw-header-style-10 {
	--gsw-header-bg: #f8fafc;
	--gsw-header-border: #94a3b8;
}

.gsw-header.is-sticky {
	position: sticky;
	top: 0;
	z-index: 50;
}

.gsw-header__inner {
	min-height: var(--gsw-header-height, 78px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.gsw-brand {
	max-width: var(--gsw-logo-maxw, 220px);
}

.gsw-brand img {
	max-width: 100%;
	height: auto;
}

.gsw-site-title {
	font-size: 24px;
	font-weight: 700;
	color: inherit;
	text-decoration: none;
}

.gsw-nav {
	flex: 1;
}

.gsw-nav-align-left .gsw-menu {
	justify-content: flex-start;
}

.gsw-nav-align-center .gsw-menu {
	justify-content: center;
}

.gsw-nav-align-right .gsw-menu {
	justify-content: flex-end;
}

.gsw-nav-align-space .gsw-menu {
	justify-content: space-between;
}

.gsw-menu,
.gsw-footer-menu {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.gsw-menu a,
.gsw-footer-menu a {
	color: inherit;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.2s ease;
}

.gsw-menu-style-1 a {
	padding: 6px 2px;
}

.gsw-menu-style-2 a {
	padding: 6px 4px;
	border-bottom: 2px solid transparent;
}

.gsw-menu-style-2 a:hover {
	border-color: var(--gsw-accent);
}

.gsw-menu-style-3 a {
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid var(--gsw-border);
}

.gsw-menu-style-4 a {
	padding: 8px 14px;
	border-radius: 8px;
	background: #0f172a;
	color: #f8fafc;
}

.gsw-menu-style-5 a {
	padding: 8px 14px;
	border-left: 3px solid var(--gsw-accent);
	background: #f8fafc;
}

.gsw-menu-style-6 a {
	padding: 6px 2px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 12px;
}

.gsw-menu-style-7 a {
	padding: 8px 10px;
	border-radius: 6px;
	background: #f1f5f9;
}

.gsw-menu-style-8 a {
	padding: 8px 12px;
	border: 1px dashed #94a3b8;
	border-radius: 6px;
}

.gsw-menu-style-9 a {
	padding: 8px 14px;
	color: #f8fafc;
	background: var(--gsw-accent);
	border-radius: 999px;
}

.gsw-menu-style-10 a {
	padding: 8px 12px;
	border-radius: 0;
	border-bottom: 2px solid #334155;
}

.gsw-header__actions .search-form {
	display: flex;
	align-items: center;
	gap: 6px;
}

.gsw-header__actions .search-field {
	height: 36px;
	padding: 0 10px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	min-width: 150px;
}

.gsw-header__actions .search-submit {
	height: 36px;
	padding: 0 12px;
	border: 0;
	border-radius: 8px;
	background: var(--gsw-accent);
	color: #fff;
	cursor: pointer;
}

.gsw-header__cta {
	min-height: 36px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	border-radius: var(--gsw-button-radius, 10px);
	border: 1px solid transparent;
}

.gsw-header__cta-solid {
	background: var(--gsw-accent);
	color: #fff;
}

.gsw-header__cta-outline {
	background: transparent;
	border-color: currentcolor;
	color: inherit;
}

.gsw-header__cta-light {
	background: #ffffff;
	color: #0f172a;
}

.gsw-hero {
	padding-top: var(--gsw-hero-pt, 96px);
	padding-bottom: var(--gsw-hero-pb, 96px);
	background: linear-gradient(140deg, var(--gsw-accent), #0f172a);
	position: relative;
	overflow: hidden;
	color: #fff;
}

.gsw-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgb(2 6 23 / var(--gsw-hero-overlay, .45)), rgb(15 23 42 / var(--gsw-hero-overlay, .45)));
	opacity: var(--gsw-hero-gradient-strength, .55);
	z-index: 0;
}

.gsw-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--gsw-hero-image, none);
	background-size: cover;
	background-position: center;
	opacity: 0.22;
	z-index: 0;
}

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

.gsw-hero__content {
	display: flex;
	flex-direction: column;
	gap: var(--gsw-hero-gap, 14px);
	max-width: var(--gsw-hero-maxw, 760px);
}

.gsw-hero__badge {
	display: inline-flex;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	background: rgb(255 255 255 / 18%);
	border: 1px solid rgb(255 255 255 / 24%);
	backdrop-filter: blur(3px);
}

.gsw-hero__title {
	margin: 0;
	line-height: 1.08;
}

.gsw-hero__subtitle {
	margin: 0;
	opacity: .95;
}

.gsw-hero-title-sm {
	font-size: clamp(28px, 4vw, 42px);
}

.gsw-hero-title-md {
	font-size: clamp(34px, 5vw, 54px);
}

.gsw-hero-title-lg {
	font-size: clamp(42px, 6vw, 66px);
}

.gsw-hero-title-xl {
	font-size: clamp(50px, 7vw, 78px);
}

.gsw-hero-subtitle-sm {
	font-size: 16px;
}

.gsw-hero-subtitle-md {
	font-size: 19px;
}

.gsw-hero-subtitle-lg {
	font-size: 22px;
}

.gsw-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 8px;
}

.gsw-hero__actions-row {
	flex-direction: row;
}

.gsw-hero__actions-stack {
	flex-direction: column;
	align-items: flex-start;
}

.gsw-hero__actions-size-sm .gsw-hero__btn {
	min-height: 36px;
	padding: 0 14px;
	font-size: 13px;
}

.gsw-hero__actions-size-md .gsw-hero__btn {
	min-height: 42px;
	padding: 0 18px;
	font-size: 14px;
}

.gsw-hero__actions-size-lg .gsw-hero__btn {
	min-height: 48px;
	padding: 0 24px;
	font-size: 15px;
}

.gsw-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 10px;
	text-decoration: none;
	font-weight: 700;
	border: 1px solid transparent;
}

.gsw-hero__btn-primary {
	background: #ffffff;
	color: #0f172a;
}

.gsw-hero__btn-secondary {
	background: transparent;
	color: #ffffff;
	border-color: rgb(255 255 255 / 35%);
}

.gsw-hero-align-left .gsw-hero__content {
	margin-right: auto;
	text-align: left;
	align-items: flex-start;
}

.gsw-hero-align-center .gsw-hero__content {
	margin-inline: auto;
	text-align: center;
	align-items: center;
}

.gsw-hero-align-right .gsw-hero__content {
	margin-left: auto;
	text-align: right;
	align-items: flex-end;
}

.gsw-hero-content-top {
	align-items: flex-start !important;
}

.gsw-hero-content-center {
	align-items: center !important;
}

.gsw-hero-content-bottom {
	align-items: flex-end !important;
}

.gsw-hero-width-narrow .gsw-hero__content {
	max-width: min(520px, var(--gsw-hero-maxw, 520px));
}

.gsw-hero-width-normal .gsw-hero__content {
	max-width: min(760px, var(--gsw-hero-maxw, 760px));
}

.gsw-hero-width-wide .gsw-hero__content {
	max-width: min(980px, var(--gsw-hero-maxw, 980px));
}

.gsw-hero-width-full .gsw-hero__content {
	max-width: min(1120px, var(--gsw-hero-maxw, 1120px));
}

.gsw-hero-height-compact {
	min-height: 320px;
	display: flex;
	align-items: center;
}

.gsw-hero-height-normal {
	min-height: 430px;
	display: flex;
	align-items: center;
}

.gsw-hero-height-tall {
	min-height: 560px;
	display: flex;
	align-items: center;
}

.gsw-hero-height-full {
	min-height: calc(100vh - 80px);
	display: flex;
	align-items: center;
}

.gsw-hero-box-none .gsw-hero__content {
	padding: 0;
}

.gsw-hero-box-soft .gsw-hero__content {
	background: rgb(255 255 255 / 12%);
	padding: 28px;
	border: 1px solid rgb(255 255 255 / 22%);
}

.gsw-hero-box-glass .gsw-hero__content {
	background: rgb(15 23 42 / 26%);
	padding: 30px;
	border: 1px solid rgb(255 255 255 / 30%);
	backdrop-filter: blur(10px);
}

.gsw-hero-box-strong .gsw-hero__content {
	background: rgb(15 23 42 / 62%);
	padding: 30px;
	border: 1px solid rgb(148 163 184 / 35%);
}

.gsw-hero-shadow-none .gsw-hero__content {
	box-shadow: none;
}

.gsw-hero-shadow-soft .gsw-hero__content {
	box-shadow: 0 14px 30px rgb(2 6 23 / 14%);
}

.gsw-hero-shadow-medium .gsw-hero__content {
	box-shadow: 0 20px 44px rgb(2 6 23 / 20%);
}

.gsw-hero-shadow-strong .gsw-hero__content {
	box-shadow: 0 28px 58px rgb(2 6 23 / 26%);
}

.gsw-hero-corner-sharp .gsw-hero__content {
	border-radius: 0;
}

.gsw-hero-corner-rounded .gsw-hero__content {
	border-radius: 16px;
}

.gsw-hero-corner-pill .gsw-hero__content {
	border-radius: 36px;
}

.gsw-hero-style-1 {
	background: linear-gradient(140deg, #0f766e, #0f172a);
}

.gsw-hero-style-2 {
	background: linear-gradient(140deg, #1d4ed8, #0f172a);
}

.gsw-hero-style-3 {
	background: linear-gradient(140deg, #b45309, #422006);
}

.gsw-hero-style-4 {
	background: linear-gradient(140deg, #7c3aed, #1e1b4b);
}

.gsw-hero-style-5 {
	background: linear-gradient(140deg, #15803d, #052e16);
}

.gsw-hero-style-6 {
	background: linear-gradient(140deg, #be123c, #4c0519);
}

.gsw-hero-style-7 {
	background: linear-gradient(140deg, #0369a1, #082f49);
}

.gsw-hero-style-8 {
	background: linear-gradient(140deg, #4d7c0f, #1a2e05);
}

.gsw-hero-style-9 {
	background: linear-gradient(140deg, #ca8a04, #422006);
}

.gsw-hero-style-10 {
	background: linear-gradient(140deg, #0f172a, #334155);
}

.gsw-hero-style-2 .gsw-hero__btn-primary,
.gsw-hero-style-4 .gsw-hero__btn-primary,
.gsw-hero-style-6 .gsw-hero__btn-primary,
.gsw-hero-style-9 .gsw-hero__btn-primary {
	color: #111827;
}

.gsw-hero-style-10 .gsw-hero__btn-primary {
	background: #22d3ee;
	color: #082f49;
}

.gsw-hero-style-3 .gsw-hero__badge,
.gsw-hero-style-8 .gsw-hero__badge,
.gsw-hero-style-9 .gsw-hero__badge {
	background: rgb(15 23 42 / 30%);
}

.gsw-hero-style-5 .gsw-hero__btn-secondary,
.gsw-hero-style-8 .gsw-hero__btn-secondary {
	border-color: rgb(220 252 231 / 38%);
}

.gsw-hero-style-7 .gsw-hero__btn-secondary {
	border-color: rgb(224 242 254 / 40%);
}

.gsw-hero-style-6 .gsw-hero__btn-primary {
	background: #ffe4e6;
	color: #9f1239;
}

.gsw-hero-style-4 .gsw-hero__btn-primary {
	background: #ede9fe;
	color: #5b21b6;
}

.gsw-hero-style-2 .gsw-hero__btn-primary {
	background: #dbeafe;
	color: #1e3a8a;
}

.gsw-hero-style-3 .gsw-hero__btn-primary {
	background: #ffedd5;
	color: #7c2d12;
}

.gsw-hero__scroll-hint {
	padding-top: 10px;
	font-size: 13px;
	opacity: .9;
}

.gsw-module-grid {
	margin-top: -36px;
	padding-bottom: 48px;
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.gsw-module-card {
	background: var(--gsw-card);
	border: 1px solid var(--gsw-border);
	border-radius: 14px;
	padding: 20px;
	box-shadow: 0 8px 24px rgb(15 23 42 / 6%);
}

.gsw-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	padding-bottom: 56px;
}

.gsw-card {
	background: var(--gsw-card);
	border: 1px solid var(--gsw-border);
	border-radius: 14px;
	padding: 20px;
}

.gsw-card__link {
	text-decoration: none;
	color: inherit;
}

.gsw-card__title {
	margin: 0 0 10px;
	font-size: 20px;
}

.gsw-footer {
	background: var(--gsw-footer-bg);
	color: var(--gsw-footer-color);
	border-top: 1px solid var(--gsw-footer-border);
}

.gsw-footer-style-1 {
	--gsw-footer-bg: #ffffff;
	--gsw-footer-color: #0f172a;
	--gsw-footer-border: #e2e8f0;
}

.gsw-footer-style-2 {
	--gsw-footer-bg: #0f172a;
	--gsw-footer-color: #e2e8f0;
	--gsw-footer-border: #1e293b;
}

.gsw-footer-style-3 {
	--gsw-footer-bg: #1d4ed8;
	--gsw-footer-color: #dbeafe;
	--gsw-footer-border: #1e40af;
}

.gsw-footer-style-4 {
	--gsw-footer-bg: #7c3aed;
	--gsw-footer-color: #ede9fe;
	--gsw-footer-border: #6d28d9;
}

.gsw-footer-style-5 {
	--gsw-footer-bg: #14532d;
	--gsw-footer-color: #dcfce7;
	--gsw-footer-border: #166534;
}

.gsw-footer-style-6 {
	--gsw-footer-bg: #be123c;
	--gsw-footer-color: #ffe4e6;
	--gsw-footer-border: #9f1239;
}

.gsw-footer-style-7 {
	--gsw-footer-bg: #111827;
	--gsw-footer-color: #f3f4f6;
	--gsw-footer-border: #1f2937;
}

.gsw-footer-style-8 {
	--gsw-footer-bg: #334155;
	--gsw-footer-color: #e2e8f0;
	--gsw-footer-border: #475569;
}

.gsw-footer-style-9 {
	--gsw-footer-bg: #f8fafc;
	--gsw-footer-color: #0f172a;
	--gsw-footer-border: #cbd5e1;
}

.gsw-footer-style-10 {
	--gsw-footer-bg: linear-gradient(120deg, #0f172a, #1d4ed8);
	--gsw-footer-color: #f8fafc;
	--gsw-footer-border: #1d4ed8;
}

.gsw-footer__inner {
	min-height: 86px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: var(--gsw-footer-pt, 26px);
	padding-bottom: var(--gsw-footer-pb, 26px);
}

.gsw-footer__left {
	display: grid;
	gap: 4px;
}

.gsw-footer__tagline {
	font-size: 13px;
	opacity: .85;
}

.gsw-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gsw-footer__social a {
	color: inherit;
	text-decoration: none;
	padding: 6px 10px;
	border: 1px solid currentcolor;
	border-radius: var(--gsw-button-radius, 10px);
	font-size: 12px;
}

.gsw-footer__inner--corp {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr 1fr;
	gap: 22px;
	align-items: start;
	padding-top: max(30px, var(--gsw-footer-pt, 26px));
	padding-bottom: 20px;
}

.gsw-footer-col h3 {
	margin: 0 0 10px;
	font-size: 16px;
}

.gsw-footer-col--brand .gsw-footer__brand {
	font-size: 28px;
	font-weight: 800;
	line-height: 1.05;
}

.gsw-footer-col--brand .gsw-footer__tagline {
	max-width: 360px;
	font-size: 14px;
	line-height: 1.6;
}

.gsw-footer__contact-line {
	font-size: 14px;
	line-height: 1.6;
	opacity: .92;
}

.gsw-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.gsw-footer-list a {
	color: inherit;
	text-decoration: none;
	font-size: 14px;
	opacity: .92;
}

.gsw-footer-list a:hover {
	opacity: 1;
	text-decoration: underline;
}

.gsw-footer-list--social {
	margin-top: 8px;
}

.gsw-footer__bottom-menu {
	padding-top: 2px;
	padding-bottom: 10px;
	border-top: 1px solid rgb(148 163 184 / 22%);
}

.gsw-footer__bottom-menu .gsw-footer-menu {
	gap: 14px;
}

.gsw-footer__bottom {
	padding-top: 10px;
	padding-bottom: max(16px, var(--gsw-footer-pb, 26px));
	border-top: 1px solid rgb(148 163 184 / 22%);
}

.gsw-backtop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 42px;
	height: 42px;
	border: 0;
	background: var(--gsw-accent);
	color: #fff;
	border-radius: 999px;
	cursor: pointer;
	display: none;
}

.gsw-post {
	padding: 24px;
	background: #fff;
	border: 1px solid var(--gsw-border);
	border-radius: 14px;
	margin-bottom: 16px;
}

.gsw-post__title {
	margin-top: 0;
}

.gsw-spacing-compact section {
	margin-bottom: 24px;
}

.gsw-spacing-normal section {
	margin-bottom: 40px;
}

.gsw-spacing-relaxed section {
	margin-bottom: 64px;
}

.gsw-card-style-flat .gsw-card,
.gsw-card-style-flat .gsw-module-card,
.gsw-card-style-flat .gsw-post {
	box-shadow: none;
}

.gsw-card-style-soft .gsw-card,
.gsw-card-style-soft .gsw-module-card,
.gsw-card-style-soft .gsw-post {
	box-shadow: 0 8px 24px rgb(15 23 42 / 6%);
}

.gsw-card-style-glass .gsw-card,
.gsw-card-style-glass .gsw-module-card,
.gsw-card-style-glass .gsw-post {
	background: rgb(255 255 255 / 62%);
	backdrop-filter: blur(8px);
}

.gsw-card-style-strong .gsw-card,
.gsw-card-style-strong .gsw-module-card,
.gsw-card-style-strong .gsw-post {
	border-width: 2px;
}

.gsw-button-style-outline .gsw-hero__btn-primary {
	background: transparent;
	border-color: #fff;
	color: #fff;
}

.gsw-button-style-soft .gsw-hero__btn-primary {
	background: rgb(255 255 255 / 22%);
	color: #fff;
}

.gsw-button-style-ghost .gsw-hero__btn-primary {
	background: transparent;
	color: #fff;
	border-color: rgb(255 255 255 / 38%);
}

.gsw-form-style-bordered input,
.gsw-form-style-bordered textarea,
.gsw-form-style-bordered select {
	border-radius: var(--gsw-radius, 14px);
	border: 1px solid var(--gsw-border);
}

.gsw-form-style-filled input,
.gsw-form-style-filled textarea,
.gsw-form-style-filled select {
	background: #f8fafc;
	border: 1px solid transparent;
}

.gsw-form-style-underline input,
.gsw-form-style-underline textarea,
.gsw-form-style-underline select {
	border: 0;
	border-bottom: 1px solid var(--gsw-border);
	border-radius: 0;
}

.gsw-anim-subtle * {
	transition: all .2s ease;
}

.gsw-anim-rich * {
	transition: all .28s cubic-bezier(.2, .65, .2, 1);
}

@media (max-width: 980px) {
	.gsw-hero {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.gsw-hero__content {
		max-width: 100%;
	}

	.gsw-hero__actions {
		width: 100%;
	}

	.gsw-hero__btn {
		flex: 1 1 auto;
	}

	.gsw-hero-height-full {
		min-height: 72vh;
	}

	.gsw-header__inner {
		flex-direction: column;
		padding: 16px 0;
	}

	.gsw-nav {
		width: 100%;
	}

	.gsw-menu {
		justify-content: center;
	}

	.gsw-top-header__inner {
		flex-direction: column;
		justify-content: center;
		padding: 8px 0;
		text-align: center;
	}

	.gsw-footer__inner {
		flex-direction: column;
		padding: 16px 0;
	}

	.gsw-footer__inner--corp {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 720px) {
	.gsw-footer__inner--corp {
		grid-template-columns: 1fr;
	}
}

.gsw-page-head {
	padding: 52px 0 26px;
	background: linear-gradient(135deg, #0f172a, #1e293b);
	color: #f8fafc;
}

.gsw-page-head__eyebrow {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	opacity: .85;
	margin-bottom: 8px;
}

.gsw-page-head__title {
	margin: 0;
	font-size: clamp(30px, 4vw, 50px);
	line-height: 1.08;
}

.gsw-page-head .gsw-page-head__eyebrow,
.gsw-page-head .gsw-page-head__title,
.gsw-page-head .gsw-page-head__lead,
.gsw-page-head .gsw-page-head__meta {
	color: var(--elite-light, #f8fafc) !important;
}

.gsw-page-head__lead {
	max-width: 760px;
	font-size: 17px;
	opacity: .9;
	margin: 12px 0 0;
}

.gsw-page-head__meta {
	margin-top: 10px;
	font-size: 13px;
	opacity: .85;
}

.gsw-page-content {
	padding: 44px 0 68px;
}

.gsw-page-entry {
	background: #fff;
	border: 1px solid var(--gsw-border);
	border-radius: 16px;
	padding: 30px;
	box-shadow: 0 18px 34px rgb(15 23 42 / 7%);
}

.gsw-entry-content>*:first-child {
	margin-top: 0;
}

.gsw-entry-content>*:last-child {
	margin-bottom: 0;
}

.gsw-entry-thumb {
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 20px;
}

.gsw-entry-thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.gsw-single-layout {
	max-width: 900px;
}

.gsw-corp-hero {
	padding-top: var(--gsw-hero-pt, 64px);
	padding-bottom: var(--gsw-hero-pb, 54px);
}

.gsw-corp-hero__grid {
	display: grid;
	grid-template-columns: 1.3fr .7fr;
	gap: 24px;
	align-items: stretch;
}

.gsw-corp-hero__content {
	padding: 36px;
	background: #ffffff;
	border: 1px solid #dbe3ef;
	border-radius: 20px;
	box-shadow: 0 26px 44px rgb(15 23 42 / 10%);
}

.gsw-corp-hero__tag {
	display: inline-flex;
	padding: 7px 12px;
	border-radius: 999px;
	background: #e2e8f0;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 14px;
}

.gsw-corp-hero__content .gsw-hero__badge {
	background: #e2e8f0;
	color: #0f172a;
	border-color: #d5deea;
	backdrop-filter: none;
}

.gsw-corp-hero__content .gsw-hero__title {
	margin: 0;
	line-height: 1.04;
	color: #0f172a;
}

.gsw-corp-hero__content .gsw-hero__subtitle {
	margin: 14px 0 0;
	max-width: 650px;
	color: #334155;
}

.gsw-corp-hero__actions {
	margin-top: 24px;
}

.gsw-corp-hero .gsw-hero__btn-secondary {
	background: #e2e8f0;
	color: #0f172a;
	border-color: #cbd5e1;
}

.gsw-corp-hero .gsw-hero__scroll-hint {
	color: #475569;
	font-weight: 600;
}

.gsw-corp-hero.gsw-hero-box-none .gsw-corp-hero__content {
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.gsw-corp-hero.gsw-hero-box-none .gsw-corp-hero__content .gsw-hero__title,
.gsw-corp-hero.gsw-hero-box-none .gsw-corp-hero__content .gsw-hero__subtitle,
.gsw-corp-hero.gsw-hero-box-none .gsw-corp-hero__content .gsw-hero__scroll-hint,
.gsw-corp-hero.gsw-hero-box-none .gsw-corp-hero__content .gsw-hero__badge {
	color: #f8fafc;
}

.gsw-corp-hero.gsw-hero-box-none .gsw-corp-hero__content .gsw-hero__badge {
	background: rgb(15 23 42 / 38%);
	border-color: rgb(226 232 240 / 35%);
}

.gsw-corp-hero.gsw-hero-box-none .gsw-hero__btn-secondary {
	background: transparent;
	color: #f8fafc;
	border-color: rgb(226 232 240 / 35%);
}

.gsw-corp-hero.gsw-hero-box-soft .gsw-corp-hero__content {
	background: rgb(255 255 255 / 90%);
	border-color: rgb(255 255 255 / 75%);
}

.gsw-corp-hero.gsw-hero-box-glass .gsw-corp-hero__content {
	background: rgb(15 23 42 / 42%);
	border-color: rgb(226 232 240 / 40%);
}

.gsw-corp-hero.gsw-hero-box-glass .gsw-corp-hero__content .gsw-hero__title,
.gsw-corp-hero.gsw-hero-box-glass .gsw-corp-hero__content .gsw-hero__subtitle,
.gsw-corp-hero.gsw-hero-box-glass .gsw-corp-hero__content .gsw-hero__scroll-hint,
.gsw-corp-hero.gsw-hero-box-glass .gsw-corp-hero__content .gsw-hero__badge {
	color: #e2e8f0;
}

.gsw-corp-hero.gsw-hero-box-glass .gsw-corp-hero__content .gsw-hero__badge {
	background: rgb(15 23 42 / 48%);
	border-color: rgb(226 232 240 / 45%);
}

.gsw-corp-hero.gsw-hero-box-strong .gsw-corp-hero__content {
	background: rgb(15 23 42 / 78%);
	border-color: rgb(226 232 240 / 25%);
}

.gsw-corp-hero.gsw-hero-box-strong .gsw-corp-hero__content .gsw-hero__title,
.gsw-corp-hero.gsw-hero-box-strong .gsw-corp-hero__content .gsw-hero__subtitle,
.gsw-corp-hero.gsw-hero-box-strong .gsw-corp-hero__content .gsw-hero__scroll-hint,
.gsw-corp-hero.gsw-hero-box-strong .gsw-corp-hero__content .gsw-hero__badge {
	color: #f8fafc;
}

.gsw-corp-hero.gsw-hero-box-strong .gsw-corp-hero__content .gsw-hero__badge {
	background: rgb(15 23 42 / 48%);
	border-color: rgb(226 232 240 / 30%);
}

.gsw-corp-hero.gsw-hero-corner-sharp .gsw-corp-hero__content {
	border-radius: 0;
}

.gsw-corp-hero.gsw-hero-corner-rounded .gsw-corp-hero__content {
	border-radius: 20px;
}

.gsw-corp-hero.gsw-hero-corner-pill .gsw-corp-hero__content {
	border-radius: 36px;
}

.gsw-corp-hero.gsw-hero-shadow-none .gsw-corp-hero__content {
	box-shadow: none;
}

.gsw-corp-hero.gsw-hero-shadow-soft .gsw-corp-hero__content {
	box-shadow: 0 18px 34px rgb(15 23 42 / 12%);
}

.gsw-corp-hero.gsw-hero-shadow-medium .gsw-corp-hero__content {
	box-shadow: 0 24px 44px rgb(15 23 42 / 18%);
}

.gsw-corp-hero.gsw-hero-shadow-strong .gsw-corp-hero__content {
	box-shadow: 0 32px 56px rgb(15 23 42 / 24%);
}

.gsw-corp-hero__panel {
	display: grid;
	gap: 12px;
}

.gsw-corp-metric {
	background: #0f172a;
	color: #e2e8f0;
	border-radius: 16px;
	padding: 24px;
	display: grid;
	gap: 6px;
}

.gsw-corp-metric span {
	font-size: 32px;
	font-weight: 800;
	line-height: 1;
}

.gsw-corp-metric p {
	margin: 0;
	font-size: 13px;
	opacity: .86;
}

.gsw-corp-section {
	padding: 58px 0;
}

.gsw-corp-section--soft {
	background: #f8fafc;
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
}

.gsw-section-head {
	margin-bottom: 20px;
}

.gsw-section-head h2 {
	margin: 0;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.12;
}

.gsw-section-head p {
	margin: 10px 0 0;
	max-width: 760px;
	color: #475569;
	font-size: 16px;
}

.gsw-corp-about__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.gsw-corp-about__items article {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 20px;
}

.gsw-corp-about__items h3 {
	margin: 0 0 8px;
	font-size: 19px;
}

.gsw-corp-about__items p {
	margin: 0;
	color: #475569;
}

.gsw-corporate-grid {
	display: grid;
	gap: 18px;
}

.gsw-corporate-grid--services {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gsw-corporate-grid--projects,
.gsw-corporate-grid--blog {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gsw-corporate-card {
	background: #fff;
	border: 1px solid #dbe3ef;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 16px 32px rgb(15 23 42 / 7%);
	transition: transform .24s ease, box-shadow .24s ease;
}

.gsw-corporate-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 40px rgb(15 23 42 / 12%);
}

.gsw-corporate-card__thumb {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.gsw-corporate-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gsw-corporate-card__body {
	padding: 18px;
}

.gsw-service-card__meta {
	margin-bottom: 8px;
}

.gsw-service-card__meta .dashicons {
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	border-radius: 8px;
	background: #dbeafe;
	color: #1d4ed8;
}

.gsw-corporate-card__title {
	margin: 0;
	font-size: 20px;
	line-height: 1.24;
}

.gsw-corporate-card__title a {
	color: #0f172a;
	text-decoration: none;
}

.gsw-corporate-card__excerpt {
	margin-top: 10px;
	font-size: 14px;
	color: #475569;
}

.gsw-corporate-card__link,
.gsw-corp-section__more {
	margin-top: 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 14px;
	border-radius: 10px;
	background: #0f172a;
	color: #f8fafc;
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
}

.gsw-corp-section__more {
	margin-top: 18px;
}

.gsw-blog-card__meta {
	font-size: 12px;
	font-weight: 700;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: 10px;
}

.gsw-process-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.gsw-process-card {
	background: #fff;
	border: 1px solid #dbe3ef;
	border-radius: 16px;
	padding: 24px;
}

.gsw-process-card span {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #0f172a;
	color: #e2e8f0;
	font-weight: 700;
	font-size: 13px;
}

.gsw-process-card h3 {
	margin: 14px 0 0;
	font-size: 21px;
}

.gsw-corp-cta {
	padding: 58px 0 74px;
}

.gsw-corp-cta__inner {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	background: linear-gradient(125deg, #0f172a, #1e293b);
	color: #f8fafc;
	border-radius: 18px;
	padding: 28px 24px;
}

.gsw-corp-cta__inner h2 {
	margin: 0 0 8px;
	font-size: clamp(24px, 3.2vw, 36px);
}

.gsw-corp-cta__inner p {
	margin: 0;
	font-size: 14px;
	opacity: .88;
}

.gsw-about-overview__grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 20px;
}

.gsw-about-overview__content,
.gsw-about-overview__values {
	background: #fff;
	border: 1px solid #dbe3ef;
	border-radius: 16px;
	padding: 24px;
}

.gsw-about-overview__values {
	display: grid;
	gap: 10px;
}

.gsw-about-overview__timeline {
	margin: 14px 0 16px;
	display: grid;
	gap: 10px;
}

.gsw-about-overview__timeline article {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 10px;
	align-items: center;
	padding: 10px 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
}

.gsw-about-overview__timeline span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	border-radius: 8px;
	background: #0f172a;
	color: #f8fafc;
	font-size: 12px;
	font-weight: 700;
}

.gsw-about-overview__timeline p {
	margin: 0;
	font-size: 14px;
	color: #334155;
}

.gsw-value-card {
	padding: 14px;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
}

.gsw-value-card h3 {
	margin: 0 0 6px;
}

.gsw-value-card p {
	margin: 0;
	color: #475569;
}

.gsw-value-card__links {
	margin-top: 8px;
	display: grid;
	gap: 6px;
}

.gsw-value-card__links a {
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
	color: #0c4a6e;
}

.gsw-contact-grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 18px;
}

.gsw-contact-card,
.gsw-contact-form {
	background: #fff;
	border: 1px solid #dbe3ef;
	border-radius: 16px;
	padding: 22px;
}

.gsw-contact-form {
	background:
		radial-gradient(circle at 86% -10%, rgb(56 189 248 / 14%), transparent 36%),
		#ffffff;
}

.gsw-contact-card h2,
.gsw-contact-form h2 {
	margin-top: 0;
	font-size: 36px;
	line-height: 1.05;
}

.gsw-contact-form__lead {
	margin: 0 0 12px;
	color: #475569;
	font-size: 14px;
}

.gsw-contact-form .gsw-hero__btn-primary {
	margin-top: 10px;
	background: #0f172a;
	color: #f8fafc;
}

.gsw-contact-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 8px;
}

.gsw-contact-card__quick {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid #e2e8f0;
	display: grid;
	gap: 8px;
}

.gsw-contact-card__quick h3 {
	margin: 0;
	font-size: 28px;
	line-height: 1;
}

.gsw-contact-card__quick p {
	margin: 0;
	font-size: 14px;
	color: #334155;
	line-height: 1.55;
}

.gsw-contact-card__legal {
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gsw-contact-card__legal a {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 10px;
	border-radius: 8px;
	background: #f1f5f9;
	color: #0f172a;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.gsw-empty-state {
	border: 1px dashed #94a3b8;
	border-radius: 14px;
	background: #f8fafc;
	padding: 22px;
}

.gsw-empty-state h3 {
	margin: 0 0 6px;
}

.gsw-empty-state p {
	margin: 0;
	color: #475569;
}

.gsw-empty-state--inline {
	padding: 14px;
}

.gsw-reference-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.gsw-reference-card {
	background: #fff;
	border: 1px solid #dbe3ef;
	border-radius: 14px;
	padding: 18px;
	display: grid;
	gap: 8px;
}

.gsw-reference-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.gsw-reference-card h2 {
	margin: 0;
	font-size: 22px;
	line-height: 1;
}

.gsw-reference-card__head span {
	display: inline-flex;
	min-height: 26px;
	padding: 0 10px;
	align-items: center;
	border-radius: 999px;
	background: #f1f5f9;
	font-size: 12px;
	font-weight: 700;
	color: #334155;
}

.gsw-reference-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #475569;
}

.gsw-reference-card a {
	font-size: 13px;
	font-weight: 800;
	color: #0c4a6e;
	text-decoration: none;
}

.gsw-pagination {
	margin-top: 20px;
}

.gsw-pagination .page-numbers {
	display: inline-flex;
	min-width: 34px;
	height: 34px;
	padding: 0 9px;
	align-items: center;
	justify-content: center;
	border: 1px solid #cbd5e1;
	border-radius: 9px;
	margin-right: 4px;
	text-decoration: none;
	color: #0f172a;
}

.gsw-pagination .page-numbers.current {
	background: #0f172a;
	color: #f8fafc;
	border-color: #0f172a;
}

@media (max-width: 1100px) {

	.gsw-corp-hero__grid,
	.gsw-about-overview__grid,
	.gsw-contact-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 980px) {

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

@media (max-width: 720px) {

	.gsw-corporate-grid--services,
	.gsw-corporate-grid--projects,
	.gsw-corporate-grid--blog,
	.gsw-process-grid,
	.gsw-corp-about__items,
	.gsw-reference-grid {
		grid-template-columns: 1fr;
	}

	.gsw-corp-cta__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

.gsw-trustbar {
	padding: 18px 0;
	background: #0f172a;
	color: #e2e8f0;
}

.gsw-trustbar .gsw-container {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
}

.gsw-trustbar__title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	opacity: .9;
}

.gsw-trustbar__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.gsw-trustbar__chip {
	padding: 7px 12px;
	border-radius: 999px;
	border: 1px solid rgb(226 232 240 / 24%);
	background: rgb(15 23 42 / 34%);
	font-size: 12px;
	font-weight: 600;
}

.gsw-corporate-grid--team {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gsw-team-card__role {
	margin-top: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #0f766e;
}

.gsw-testimonial-slider {
	position: relative;
	background: linear-gradient(125deg, #0f172a, #1e293b);
	border-radius: 18px;
	padding: 24px;
	color: #e2e8f0;
}

.gsw-testimonial-slider__track {
	position: relative;
	min-height: 160px;
}

.gsw-testimonial-slide {
	display: none;
}

.gsw-testimonial-slide.is-active {
	display: block;
	animation: gswFadeIn .35s ease;
}

.gsw-testimonial-slide__quote {
	font-size: 21px;
	line-height: 1.45;
	max-width: 900px;
}

.gsw-testimonial-slide__name {
	margin-top: 14px;
	font-size: 15px;
	font-weight: 800;
}

.gsw-testimonial-slide__role {
	margin-top: 4px;
	font-size: 13px;
	opacity: .85;
}

.gsw-testimonial-slider__nav {
	margin-top: 18px;
	display: flex;
	gap: 8px;
}

.gsw-testimonial-slider__btn {
	min-height: 36px;
	padding: 0 14px;
	border-radius: 10px;
	border: 1px solid rgb(226 232 240 / 26%);
	background: rgb(15 23 42 / 46%);
	color: #f8fafc;
	font-weight: 700;
	cursor: pointer;
}

.gsw-faq-page {
	max-width: 980px;
}

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

.gsw-faq-item {
	background: #fff;
	border: 1px solid #dbe3ef;
	border-radius: 14px;
	overflow: hidden;
}

.gsw-faq-item__question {
	width: 100%;
	min-height: 58px;
	padding: 0 18px;
	border: 0;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
	cursor: pointer;
	text-align: left;
}

.gsw-faq-item__icon {
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #f1f5f9;
	font-weight: 700;
}

.gsw-faq-item.is-open .gsw-faq-item__icon {
	background: #0f172a;
	color: #f8fafc;
}

.gsw-faq-item__answer {
	padding: 0 18px 18px;
}

.gsw-faq-item__answer p {
	margin: 0;
	color: #475569;
}

.gsw-contact-form-builder {
	display: grid;
	gap: 12px;
}

.gsw-contact-form__notice {
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 600;
}

.gsw-contact-form__notice.is-success {
	background: #dcfce7;
	color: #166534;
	border: 1px solid #86efac;
}

.gsw-contact-form__notice.is-error {
	background: #fee2e2;
	color: #b91c1c;
	border: 1px solid #fca5a5;
}

.gsw-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.gsw-contact-form__form label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 4px;
	color: #334155;
}

.gsw-contact-form__form input,
.gsw-contact-form__form textarea {
	width: 100%;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	padding: 11px 12px;
	font-size: 14px;
}

.gsw-contact-form__form textarea {
	min-height: 140px;
	resize: vertical;
}

@keyframes gswFadeIn {
	from {
		opacity: 0;
		transform: translateY(3px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 980px) {
	.gsw-corporate-grid--team {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gsw-contact-form__grid {
		grid-template-columns: 1fr;
	}
}

/* Neo Corporate Design System */
.gsw-header {
	position: relative;
}

.gsw-menu-item-services>a::after {
	content: none;
}

.gsw-menu .menu-item-has-children>a::after {
	content: none !important;
}

.gsw-menu .menu-item-has-children>a .sub-arrow,
.gsw-menu .menu-item-has-children>a .dropdown-toggle,
.gsw-menu .menu-item-has-children>a .menu-caret {
	display: none !important;
}

.gsw-mega-services {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
	z-index: 70;
}

.gsw-mega-services.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.gsw-mega-services__inner {
	background: #ffffff;
	color: #0f172a;
	border: 1px solid #dbe3ef;
	border-radius: 18px;
	box-shadow: 0 20px 44px rgb(15 23 42 / 14%);
	padding: 24px;
}

.gsw-mega-services__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e2e8f0;
}

.gsw-mega-services__eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #0369a1;
	margin-bottom: 8px;
}

.gsw-mega-services__head h3 {
	margin: 0;
	font-size: 28px;
	color: #0f172a;
}

.gsw-mega-services__head p {
	margin: 8px 0 0;
	max-width: 620px;
	color: #475569;
}

.gsw-mega-services__all {
	flex-shrink: 0;
	min-height: 38px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	border-radius: 10px;
	background: #0f172a;
	color: #f8fafc;
	font-weight: 700;
}

.gsw-mega-services__grid {
	margin-top: 16px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.gsw-mega-services__item {
	display: flex;
	gap: 12px;
	padding: 12px;
	border-radius: 12px;
	border: 1px solid #dbe3ef;
	text-decoration: none;
	background: #f8fafc;
	color: #0f172a;
	transition: border-color .2s ease, transform .2s ease, background .2s ease;
}

.gsw-mega-services__item:hover {
	border-color: #93c5fd;
	transform: translateY(-2px);
	background: #eff6ff;
}

.gsw-mega-services__icon {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	border-radius: 10px;
	background: #dbeafe;
	color: #1d4ed8;
	flex-shrink: 0;
}

.gsw-mega-services__content {
	display: grid;
	gap: 5px;
}

.gsw-mega-services__content strong {
	font-size: 14px;
	color: #0f172a;
}

.gsw-mega-services__content small {
	font-size: 12px;
	line-height: 1.45;
	color: #64748b;
}

.gsw-neo-hero {
	padding: clamp(70px, 10vw, 120px) 0 54px;
	background:
		radial-gradient(circle at 8% 18%, rgb(14 116 144 / 32%), transparent 35%),
		radial-gradient(circle at 94% 16%, rgb(30 58 138 / 32%), transparent 38%),
		linear-gradient(132deg, #020617 0%, #0f172a 55%, #111827 100%);
	color: #e2e8f0;
}

.gsw-neo-hero__grid {
	display: grid;
	grid-template-columns: 1.12fr .88fr;
	gap: 22px;
	align-items: stretch;
}

.gsw-neo-hero__left {
	padding: clamp(26px, 4vw, 40px);
	border: 1px solid rgb(148 163 184 / 28%);
	border-radius: 22px;
	background: linear-gradient(145deg, rgb(15 23 42 / 88%), rgb(15 23 42 / 62%));
	backdrop-filter: blur(10px);
}

.gsw-neo-hero__tag {
	display: inline-flex;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgb(125 211 252 / 16%);
	border: 1px solid rgb(125 211 252 / 32%);
	color: #7dd3fc;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
}

.gsw-neo-hero__left h1 {
	margin: 16px 0 0;
	font-size: clamp(38px, 5vw, 74px);
	line-height: .96;
	letter-spacing: -.02em;
	color: #f8fafc;
}

.gsw-neo-hero__left p {
	margin: 14px 0 0;
	max-width: 660px;
	font-size: clamp(16px, 2vw, 20px);
	line-height: 1.5;
	color: #cbd5e1;
}

.gsw-neo-hero__actions {
	margin-top: 26px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.gsw-neo-hero__sector {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gsw-neo-hero__sector span {
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid rgb(148 163 184 / 24%);
	background: rgb(15 23 42 / 42%);
	font-size: 12px;
	color: #dbeafe;
}

.gsw-neo-hero__right {
	display: grid;
}

.gsw-neo-matrix {
	display: grid;
	gap: 12px;
	padding: clamp(20px, 3.5vw, 32px);
	border-radius: 22px;
	border: 1px solid rgb(148 163 184 / 28%);
	background:
		linear-gradient(135deg, rgb(14 116 144 / 18%), rgb(30 64 175 / 14%)),
		rgb(15 23 42 / 66%);
}

.gsw-neo-matrix__headline {
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 800;
	color: #67e8f9;
}

.gsw-neo-matrix p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #cbd5e1;
}

.gsw-neo-matrix__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.gsw-neo-matrix__stats article {
	border-radius: 14px;
	border: 1px solid rgb(148 163 184 / 24%);
	padding: 12px;
	background: rgb(15 23 42 / 58%);
}

.gsw-neo-matrix__stats strong {
	display: block;
	font-size: 26px;
	line-height: 1;
	color: #f8fafc;
}

.gsw-neo-matrix__stats span {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: #bfdbfe;
}

.gsw-neo-brandline {
	padding: 18px 0;
	background: #0b1120;
	border-top: 1px solid #1e293b;
	border-bottom: 1px solid #1e293b;
}

.gsw-neo-brandline .gsw-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.gsw-neo-brandline__title {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #7dd3fc;
}

.gsw-neo-brandline__items {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gsw-neo-brandline__items span {
	padding: 7px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	color: #dbeafe;
	border: 1px solid rgb(148 163 184 / 24%);
	background: rgb(15 23 42 / 58%);
}

.gsw-neo-section {
	padding: clamp(56px, 9vw, 90px) 0;
}

.gsw-neo-head {
	margin-bottom: 22px;
}

.gsw-neo-head__eyebrow {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #0369a1;
}

.gsw-neo-head h2 {
	margin: 8px 0 0;
	font-size: clamp(30px, 4vw, 52px);
	line-height: 1.04;
	letter-spacing: -.02em;
}

.gsw-neo-head p {
	margin: 10px 0 0;
	max-width: 780px;
	color: #475569;
	font-size: 16px;
}

.gsw-neo-section--services {
	background:
		radial-gradient(circle at 90% 0, rgb(56 189 248 / 10%), transparent 42%),
		#f8fafc;
}

.gsw-neo-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	align-items: stretch;
}

.gsw-neo-service-card {
	background: #fff;
	border: 1px solid #dbe3ef;
	border-radius: 18px;
	padding: 18px;
	display: grid;
	gap: 10px;
	grid-template-rows: auto 1fr auto;
	min-height: 232px;
	box-shadow: 0 14px 26px rgb(15 23 42 / 6%);
	transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.gsw-neo-service-card:hover {
	transform: translateY(-5px);
	border-color: #67e8f9;
	box-shadow: 0 22px 38px rgb(14 116 144 / 18%);
}

.gsw-neo-service-card__top {
	display: flex;
	align-items: center;
	gap: 10px;
}

.gsw-neo-service-card__icon {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	background: #0f172a;
	color: #7dd3fc;
	font-size: 18px;
}

.gsw-neo-service-card h3 {
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
}

.gsw-neo-service-card h3 a {
	color: #0f172a;
	text-decoration: none;
}

.gsw-neo-service-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #475569;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gsw-neo-service-card__link {
	margin-top: 2px;
	text-decoration: none;
	font-size: 13px;
	font-weight: 800;
	color: #0c4a6e;
}

.gsw-neo-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 12px;
	font-weight: 800;
	text-decoration: none;
	border: 1px solid transparent;
}

.gsw-neo-btn--light {
	background: #f8fafc;
	color: #0f172a;
}

.gsw-neo-btn--ghost {
	background: transparent;
	color: #e2e8f0;
	border-color: rgb(226 232 240 / 36%);
}

.gsw-neo-btn--dark {
	margin-top: 18px;
	background: #0f172a;
	color: #f8fafc;
}

.gsw-neo-section--process {
	background: #0b1120;
	color: #dbeafe;
}

.gsw-neo-section--process .gsw-neo-head__eyebrow {
	color: #67e8f9;
}

.gsw-neo-section--process .gsw-neo-head h2 {
	color: #f8fafc;
}

.gsw-neo-flow {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.gsw-neo-flow article {
	padding: 20px;
	border: 1px solid rgb(148 163 184 / 26%);
	border-radius: 16px;
	background: rgb(15 23 42 / 58%);
	position: relative;
}

.gsw-neo-flow article::after {
	content: "";
	position: absolute;
	top: 34px;
	right: -9px;
	width: 18px;
	height: 2px;
	background: rgb(125 211 252 / 34%);
}

.gsw-neo-flow article:last-child::after {
	display: none;
}

.gsw-neo-flow__no {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: #7dd3fc;
	color: #0f172a;
	font-weight: 900;
	font-size: 12px;
}

.gsw-neo-flow h3 {
	margin: 10px 0 0;
	font-size: 22px;
	color: #f8fafc;
}

.gsw-neo-flow p {
	margin: 8px 0 0;
	color: #cbd5e1;
	font-size: 14px;
	line-height: 1.58;
}

.gsw-neo-section--projects {
	background:
		linear-gradient(180deg, #f8fafc, #f1f5f9);
}

.gsw-neo-project-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.gsw-neo-project-card {
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid #dbe3ef;
	background: #fff;
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 260px;
}

.gsw-neo-project-card__thumb,
.gsw-neo-project-card__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gsw-neo-project-card__body {
	padding: 16px;
	display: grid;
	gap: 8px;
	align-content: start;
}

.gsw-neo-project-card h3 {
	margin: 0;
	font-size: 20px;
	line-height: 1.2;
}

.gsw-neo-project-card h3 a {
	color: #0f172a;
	text-decoration: none;
}

.gsw-neo-project-card p {
	margin: 0;
	color: #475569;
	line-height: 1.55;
	font-size: 14px;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gsw-neo-project-card__link {
	margin-top: 2px;
	color: #0c4a6e;
	font-weight: 800;
	text-decoration: none;
	font-size: 13px;
}

.gsw-neo-section--testimonials {
	background: #0f172a;
	color: #dbeafe;
}

.gsw-neo-section--testimonials .gsw-neo-head__eyebrow {
	color: #67e8f9;
}

.gsw-neo-section--testimonials .gsw-neo-head h2 {
	color: #f8fafc;
}

.gsw-neo-section--testimonials .gsw-neo-head p {
	color: #bfdbfe;
}

.gsw-neo-section--testimonials .gsw-testimonial-slider {
	border: 1px solid rgb(148 163 184 / 24%);
	background: rgb(15 23 42 / 58%);
}

.gsw-neo-section--team {
	background: #f8fafc;
}

.gsw-neo-team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.gsw-neo-team-card {
	border: 1px solid #dbe3ef;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
}

.gsw-neo-team-card__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 4;
	object-fit: cover;
}

.gsw-neo-team-card__body {
	padding: 14px;
}

.gsw-neo-team-card h3 {
	margin: 0;
	font-size: 18px;
}

.gsw-neo-team-card__role {
	margin-top: 5px;
	font-size: 13px;
	font-weight: 800;
	color: #0369a1;
}

.gsw-neo-team-card p {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: #475569;
}

.gsw-neo-section--faq {
	background: #ffffff;
}

.gsw-neo-section--faq .gsw-faq-item {
	border-color: #cbd5e1;
}

.gsw-neo-section--blog {
	background:
		radial-gradient(circle at 86% 0, rgb(14 116 144 / 12%), transparent 38%),
		#f8fafc;
}

.gsw-neo-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.gsw-neo-blog-card {
	background: #fff;
	border: 1px solid #dbe3ef;
	border-radius: 16px;
	padding: 16px;
	display: grid;
	gap: 8px;
	grid-template-rows: auto auto 1fr auto;
	min-height: 250px;
}

.gsw-neo-blog-card__date {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	color: #0369a1;
	text-transform: uppercase;
}

.gsw-neo-blog-card h3 {
	margin: 0;
	font-size: 19px;
	line-height: 1.2;
}

.gsw-neo-blog-card h3 a {
	color: #0f172a;
	text-decoration: none;
}

.gsw-neo-blog-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #475569;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gsw-neo-blog-card__link {
	color: #0c4a6e;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.gsw-neo-cta {
	padding: 0 0 74px;
	background: #f8fafc;
}

.gsw-neo-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 26px;
	border-radius: 20px;
	border: 1px solid #1e293b;
	background:
		radial-gradient(circle at 90% 10%, rgb(125 211 252 / 24%), transparent 35%),
		linear-gradient(135deg, #020617, #0f172a);
	color: #e2e8f0;
}

.gsw-neo-cta__eyebrow {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #67e8f9;
	font-weight: 800;
}

.gsw-neo-cta h2 {
	margin: 8px 0 0;
	font-size: clamp(24px, 3vw, 40px);
	line-height: 1.08;
	color: #f8fafc;
	max-width: 820px;
}

.gsw-neo-cta p {
	margin: 10px 0 0;
	color: #bfdbfe;
}

@media (max-width: 1160px) {
	.gsw-mega-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gsw-neo-hero__grid,
	.gsw-neo-project-card {
		grid-template-columns: 1fr;
	}

	.gsw-neo-service-grid,
	.gsw-neo-team-grid,
	.gsw-neo-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.gsw-mega-services {
		display: none;
	}
}

@media (max-width: 760px) {

	.gsw-neo-service-grid,
	.gsw-neo-flow,
	.gsw-neo-project-grid,
	.gsw-neo-team-grid,
	.gsw-neo-blog-grid {
		grid-template-columns: 1fr;
	}

	.gsw-neo-matrix__stats {
		grid-template-columns: 1fr;
	}

	.gsw-neo-cta__inner,
	.gsw-mega-services__head {
		flex-direction: column;
		align-items: flex-start;
	}
}