/* Development Outsourcing Page - Custom Styles */

/* Hero Section */
.hero {
	position: relative;
	min-height: 100vh;
	isolation: isolate;
	overflow: hidden;
	background: #07100f !important;
	color: #fff !important;
	padding: 115px 24px 82px 24px !important;
	margin: 0 !important;
	display: flex;
	align-items: center;
}

.hero:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(#ffffff22 .7px, transparent .7px);
	background-size: 9px 9px;
	opacity: .3;
	mask-image: linear-gradient(90deg, transparent, black 55%);
}

.hero:after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 560px;
	height: 560px;
	right: -180px;
	top: -270px;
	border: 1px solid #00dcca38;
	border-radius: 50%;
	box-shadow: 0 0 0 60px #00dcca0b, 0 0 0 120px #00dcca07;
}

.wrap {
	width: min(1160px, calc(100% - 48px));
	margin: 0 auto;
	padding: 0 !important;
}

.hero-grid {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 55px;
	align-items: center;
}

.hero h1 {
	font-size: clamp(42px, 5.7vw, 70px);
	line-height: 1.02;
	letter-spacing: -.075em;
	margin: 22px 0 !important;
}

.hero h1 span {
	color: #00dcca;
}

.hero .eyebrow {
	color: #00dcca;
}

.hero .lead {
	color: #bdcbc6 !important;
	margin-bottom: 28px !important;
}

.actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.hero-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 32px;
	color: #aab8b2;
	font-size: 12px;
}

.hero-trust b {
	color: #fff;
}

.hero-visual {
	position: relative;
	min-height: 390px;
	border: 1px solid #ffffff25;
	border-radius: 5px 30px;
	overflow: hidden;
	background: #111d1a;
}

.hero-visual img {
	width: 100%;
	height: 390px;
	object-fit: cover;
	display: block;
	/* filter: grayscale(70%) brightness(.62); */
}

.visual-overlay {
	position: absolute;
	inset: 0;
	/* background: linear-gradient(130deg, #07100f22, #07100fba); */
}

.mock-panel {
	position: absolute;
	left: 22px;
	right: 22px;
	bottom: 22px;
	padding: 18px;
	background: #07100fe8;
	border: 1px solid #00dcca5c;
	border-radius: 5px 16px;
	backdrop-filter: blur(10px);
}

.mock-panel small {
	color: #00dcca;
	font-weight: 800;
	letter-spacing: .14em;
	font-size: 10px;
}

.mock-row {
	display: flex;
	gap: 8px;
	margin-top: 13px;
}

.mock-row span {
	flex: 1;
	text-align: center;
	padding: 12px 5px;
	background: #ffffff0c;
	border: 1px solid #ffffff22;
	border-radius: 6px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

/* Trustbar */
.trustbar {
	background: #f3f9f7 !important;
	border-bottom: 1px solid #dce7e3;
	padding: 19px 24px !important;
	margin: 0 !important;
}

.trustbar .wrap {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	color: #52645d;
	font-size: 12px;
	font-weight: 800;
}

.trustbar span:before {
	content: "✦";
	color: #009e91;
	margin-right: 8px;
}

/* Section Base */
.section {
	padding: 70px 24px !important;
	margin: 0 !important;
}

.section h2 {
	font-size: clamp(28px, 4.5vw, 53px);
	/* font-size: clamp(32px, 4.5vw, 53px); */
    font-weight: 800;
}

.section-head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 44px !important;
}

.section-head h2 {
	margin: 16px 0 !important;
	font-size: clamp(28px, 4.5vw, 53px);
}

.section-head .lead {
	margin: 0 auto !important;
}

/* Outsourcing Intro */
.outsource-intro {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 48px;
	align-items: center;
}

.outsource-art {
	position: relative;
	min-height: 350px;
	background: #f2f8f6;
	border: 1px solid #dce7e3;
	border-radius: 5px 22px;
	display: grid;
	place-items: center;
	overflow: hidden;
}

.team-window {
	width: 82%;
	background: #091411;
	color: #fff;
	padding: 22px;
	border-radius: 5px 18px;
	box-shadow: 0 20px 45px #09141124;
}

.team-window small {
	font-size: 10px;
	letter-spacing: .14em;
	color: #00dcca;
	font-weight: 800;
}

.avatars {
	display: flex;
	gap: 10px;
	margin: 22px 0;
}

.avatar {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #d7eee7;
	display: grid;
	place-items: center;
	font-size: 22px;
	border: 3px solid white;
}

.task {
	padding: 11px;
	background: #ffffff10;
	border: 1px solid #ffffff22;
	border-radius: 8px;
	margin-top: 9px;
	font-size: 12px;
	color: #d7e3df;
}

.art-tag {
	position: absolute;
	background: white;
	padding: 10px 13px;
	border: 1px solid #dce7e3;
	border-radius: 5px 12px;
	font-size: 11px;
	font-weight: 800;
	box-shadow: 0 10px 30px #07100f12;
}

.tag-a {
	top: 18px;
	left: 15px;
}

.tag-b {
	bottom: 18px;
	right: 15px;
}

h2{
	word-spacing: 0.1em;
}

.outsource-facts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 11px;
	margin-top: 20px !important;
}

.outsource-facts div {
	padding: 12px 14px;
	background: #f3f9f7;
	border-left: 2px solid #00dcca;
}

.outsource-facts b {
	display: block;
	font-size: 13px;
	margin: 0 0 8px !important;
}

.outsource-facts small {
	font-size: 11px;
	color: #64716c;
}

/* Soft Section */
.soft {
	background: #f3f9f7 !important;
}

.pain-layout {
	display: grid;
	grid-template-columns: 1fr 260px 1fr;
	gap: 18px;
	align-items: center;
	margin-top: 35px !important;
}

.pain-column {
	display: grid;
	gap: 13px;
}

.pain {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px;
	background: #fff;
	border: 1px solid #dce7e3;
	border-radius: 5px 15px;
	font-weight: 700;
	font-size: 13px;
}

.pain i {
	width: 30px;
	height: 30px;
	flex: none;
	display: grid;
	place-items: center;
	background: #e4faf6;
	color: #009e91;
	border-radius: 9px;
	font-style: normal;
}

.person {
	height: 280px;
	display: grid;
	place-items: center;
	position: relative;
}

.orbit {
	position: absolute;
	width: 220px;
	height: 220px;
	border: 1px solid #00bfae6b;
	border-radius: 50%;
	box-shadow: 0 0 0 22px #00dcca0c, 0 0 0 45px #00dcca08;
}

.person img {
	position: relative;
	width: 170px;
	height: 170px;
	object-fit: cover;
	border-radius: 50%;
	border: 5px solid white;
	box-shadow: 0 18px 50px #07100f20;
	z-index: 1;
}

.bridge {
	text-align: center;
	max-width: 780px;
	margin: 34px auto 0 !important;
	line-height: 1.8;
	color: #64716c;
}

/* Why Grid */
.why-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 35px !important;
}

.why-card {
	padding: 23px 20px;
	border: 1px solid #dce7e3;
	border-radius: 5px 20px;
	min-height: 220px;
	transition: .25s;
	background: #fff;
}

.why-card:hover {
	transform: translateY(-5px);
	border-color: #7ce9dd;
	box-shadow: 0 15px 35px #07100f0b;
}

.num {
	font: 800 27px Manrope;
	color: #009e91;
	margin: 0 !important;
}

.why-card h3 {
	font-size: 17px;
	margin: 15px 0 9px !important;
}

.why-card p {
	font-size: 13px;
	line-height: 1.75;
	margin: 0 !important;
}

.proof {
	margin-top: 22px;
	width: 50%;
	align-self: center;
	padding: 20px 24px;
	background: #07100f;
	color: #fff;
	border-radius: 5px 18px;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
}

.proof strong {
	font: 800 25px Manrope;
	color: #00dcca;
}

.proof span {
	font-size: 11px;
	color: #bdcbc6;
}

/* Process Section */
.process {
	background: #07100f !important;
	color: #fff !important;
	padding: 96px 24px !important;
}

.process .eyebrow {
	color: #00dcca;
}

.process .lead {
	color: #aebdb7 !important;
}

.process .section-head h2,
.process .section-head .lead {
	color: #fff !important;
}

.steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-top: 35px !important;
}

.step {
	padding: 23px;
	border: 1px solid #ffffff2c;
	border-radius: 5px 18px;
	background: #ffffff08;
}

.step .num {
	font-size: 30px;
	color: #00dcca;
	margin: 0 !important;
}

.step h3 {
	font-size: 18px;
	margin: 16px 0 9px !important;
	color: #fff;
}

.step p {
	font-size: 13px;
	color: #b7c4bf;
	line-height: 1.7;
	margin: 0 !important;
}

.process-table {
	margin-top: 35px;
	border: 1px solid #ffffff2c;
	border-radius: 5px 20px;
	overflow: hidden;
}

.process-row {
	display: grid;
	grid-template-columns: .7fr 1.8fr 1.4fr .7fr;
	gap: 18px;
	padding: 18px 22px;
	border-bottom: 1px solid #ffffff25;
	align-items: center;
}

.process-row:last-child {
	border: 0;
}

.process-row.head {
	background: #ffffff0a;
	color: #00dcca;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.phase {
	font: 800 15px Manrope;
	color: #fff;
	margin: 0 !important;
}

.process-row p {
	font-size: 12px;
	color: #b7c4bf;
	margin: 0 !important;
}

.time {
	font-size: 12px;
	color: #00dcca;
	font-weight: 700;
}

/* Service Grid */
.outsource-services {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.outsource-services .service-card {
	min-height: 220px;
}

.service-card {
	border: 1px solid #dce7e3;
	border-radius: 5px 20px;
	background: #fff;
	overflow: hidden;
	transition: .25s;
	grid-column: span 1 !important;
}

.service-card:hover {
	transform: translateY(-4px);
	border-color: #8cece2;
	background: #f4fffc;
}

.service-card img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
	filter: saturate(.75);
}

.service-body {
	padding: 20px 22px 23px;
}

.service-body small {
	font-size: 10px;
	color: #009e91;
	font-weight: 800;
	letter-spacing: .13em;
}

.service-body h3 {
	font-size: 18px;
	margin: 12px 0 9px !important;
}

.service-body p {
	font-size: 13px;
	line-height: 1.75;
	margin: 0 !important;
}

/* Case Study Section */
.case-section {
	background: #eaf5f2 !important;
	padding: 96px 24px !important;
	margin: 0 !important;
}

.case-card {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	overflow: hidden;
	background: #fff;
	border: 1px solid #d8e7e2;
	border-radius: 5px 26px;
	margin-top: 35px !important;
}

.case-side {
	background: linear-gradient(180deg, #07100f33, #07100f 78%), url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1000&q=80") center/cover;
	color: #fff;
	padding: 32px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 320px;
}

.case-side small {
	color: #00dcca;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .15em;
}

.case-side h3 {
	font-size: 28px;
	margin: 15px 0 !important;
}

.case-side p {
	color: #b8c5c0;
	font-size: 13px;
	margin: 0 0 15px !important;
}

.case-details {
	padding: 30px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.case-detail b {
	font-size: 10px;
	letter-spacing: .12em;
	color: #009e91;
	font-weight: 800;
	margin: 0 !important;
}

.case-detail p {
	font-size: 13px;
	margin: 7px 0 0 !important;
}

.placeholder {
	grid-column: 1/-1;
	padding: 12px;
	background: #fff9e9;
	border: 1px dashed #dfc47a;
	color: #78622d;
	font-size: 12px;
	border-radius: 7px;
}

/* Related Section */
.related {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	margin-top: 30px !important;
}

.related h3 {
	font-size: 18px;
	margin-bottom: 13px !important;
}

.related a {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	padding: 14px;
	border: 1px solid #dce7e3;
	border-radius: 5px 14px;
	margin-bottom: 9px;
	font-size: 13px;
	font-weight: 700;
	transition: .25s;
	color: black;
}

.related a:hover {
	background: #f4fffc;
	border-color: #009e91;
}

.related a span {
	color: #009e91;
}

/* FAQ Section */
.faq {
	background: #f3f9f7 !important;
	padding: 96px 24px !important;
	margin: 0 !important;
}

.faq-list {
	max-width: 900px;
	margin: 35px auto 0 !important;
}

.faq-item {
	border-bottom: 1px solid #d6e3de;
}

.faq-item summary {
	list-style: none;
	cursor: pointer;
	padding: 21px 42px 21px 0;
	font: 700 16px Manrope;
	position: relative;
}

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

.faq-item summary:after {
	content: "+";
	position: absolute;
	right: 5px;
	top: 17px;
	color: #009e91;
	font-size: 25px;
	font-weight: 400;
}

.faq-item[open] summary:after {
	content: "−";
}

.faq-item p {
	font-size: 14px;
	line-height: 1.85;
	margin: 0 !important;
	padding: 0 25px 22px 0;
}

/* Final Section */
.final {
	background: #07100f !important;
	color: #fff !important;
	padding: 88px 24px !important;
	margin: 0 !important;
}

.final-grid {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 55px;
	align-items: start;
}

.final h2 {
	font-size: clamp(35px, 4.5vw, 52px);
	margin: 16px 0 !important;
}

.final h2 span {
	color: #00dcca;
}

.final .eyebrow {
	color: #00dcca;
}

.final .lead {
	color: #b7c4bf !important;
	margin-bottom: 28px !important;
}

.final-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 13px;
	padding: 27px;
	background: #fff;
	border-radius: 5px 22px;
	color: #07100f;
}

.field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.field.full {
	grid-column: 1/-1;
}

.field label {
	font-size: 11px;
	font-weight: 800;
	color: #07100f;
	margin: 0 !important;
}

.field input,
.field select,
.field textarea {
	width: 100%;
	border: 1px solid #dce6e1;
	background: #fbfdfc;
	border-radius: 7px;
	padding: 12px;
	font-size: 13px;
	color: #07100f;
}

.field textarea {
	min-height: 85px;
	resize: vertical;
	font-family: inherit;
}

.final-form button {
	grid-column: 1/-1;
	justify-content: center;
	cursor: pointer;
}

.note {
	grid-column: 1/-1;
	color: #74817b;
	font-size: 11px;
	text-align: center;
	margin: 0 !important;
}

.status {
	grid-column: 1/-1;
	font-size: 12px;
	color: #08796e;
}

/* Scroll Reveal Animation */
.reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Responsive Design */
@media (max-width: 1024px) {
	.wrap {
		width: min(1160px, calc(100% - 60px));
	}

	.hero {
		padding: 100px 30px 70px 30px !important;
	}

	.hero-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.hero-visual,
	.hero-visual img {
		height: 350px;
		min-height: 350px;
	}

	.section {
		padding: 60px 30px !important;
	}

	.section h2 {
		font-size: clamp(24px, 4vw, 45px);
	}

	.outsource-intro {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 0;
	}

	.outsource-art {
		min-height: 300px;
	}

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

	.pain-layout {
		grid-template-columns: 1fr 180px 1fr;
		gap: 15px;
	}

	.person {
		height: 240px;
	}

	.outsource-services {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.steps {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.process-row {
		grid-template-columns: .7fr 1.5fr 1.2fr .7fr;
		gap: 10px;
	}

	.final-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 768px) {
	.wrap {
		width: min(1160px, calc(100% - 50px));
	}

	.related {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.hero {
		padding: 80px 25px 60px 25px !important;
	}

	.hero h1 {
		font-size: clamp(28px, 5vw, 50px);
	}

	.hero-visual,
	.hero-visual img {
		height: 300px;
		min-height: 300px;
	}

	.section {
		padding: 50px 25px !important;
	}

	.section h2,
	.section-head h2 {
		font-size: clamp(22px, 3.5vw, 40px);
	}

	.section-head {
		margin: 0 auto 30px !important;
	}

	.outsource-intro {
		gap: 28px;
	}

	.outsource-art {
		min-height: 280px;
	}

	.why-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.why-card {
		min-height: auto;
		padding: 18px 16px;
	}

	.pain-layout {
		grid-template-columns: 1fr;
		gap: 15px;
		margin-top: 25px !important;
	}

	.pain {
		font-size: 12px;
		padding: 12px;
	}

	.pain i {
		width: 28px;
		height: 28px;
	}

	.person {
		height: 200px;
	}

	.orbit {
		width: 180px;
		height: 180px;
	}

	.person img {
		width: 140px;
		height: 140px;
	}

	.outsource-services {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.steps {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.process-row {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 15px;
	}

	.trustbar {
		padding: 15px 25px !important;
	}

	.trustbar .wrap {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.final-grid {
		gap: 28px;
	}

	.final {
		padding: 50px 25px !important;
	}

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

	.case-side {
		min-height: 200px;
	}
}

@media (max-width: 480px) {
	.wrap {
		width: min(1160px, calc(100% - 40px));
	}

	.hero {
		padding: 60px 20px 50px 20px !important;
		min-height: 80vh;
	}

	.hero h1 {
		font-size: clamp(24px, 4.5vw, 36px);
		line-height: 1.1;
	}

	.hero-grid {
		gap: 20px;
	}

	.hero-visual,
	.hero-visual img {
		height: 240px;
		min-height: 240px;
	}

	.hero .lead {
		font-size: 14px;
		margin-bottom: 16px !important;
	}

	.actions {
		gap: 8px;
	}

	.actions .btn {
		font-size: 13px;
		padding: 10px 16px;
	}

	.section {
		padding: 40px 20px !important;
	}

	.section h2,
	.section-head h2 {
		font-size: clamp(20px, 3vw, 32px);
		margin: 12px 0 !important;
	}

	.section-head {
		margin: 0 auto 20px !important;
	}

	.section-head .lead {
		font-size: 13px;
	}

	.outsource-intro {
		gap: 16px;
	}

	.outsource-art {
		min-height: 240px;
	}

	.team-window {
		padding: 16px;
	}

	.avatars {
		gap: 8px;
	}

	.avatar {
		width: 40px;
		height: 40px;
	}

	.why-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.why-card {
		padding: 16px 14px;
		min-height: auto;
		font-size: 13px;
	}

	.pain-layout {
		gap: 12px;
		margin-top: 20px !important;
	}

	.pain {
		font-size: 11px;
		padding: 10px;
		gap: 8px;
	}

	.pain i {
		width: 24px;
		height: 24px;
		font-size: 11px;
	}

	.pain-column {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.person {
		height: 150px;
	}

	.orbit {
		width: 130px;
		height: 130px;
	}

	.person img {
		width: 100px;
		height: 100px;
	}

	.bridge {
		font-size: 13px;
		line-height: 1.6;
		margin: 20px auto 0 !important;
	}

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

	.service-card {
		padding: 16px;
	}

	.steps {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.step {
		padding: 16px;
	}

	.process-row.head {
		display: none;
	}

	.process-row {
		display: block;
		padding: 14px;
		margin: 8px;
		font-size: 13px;
	}

	.process-row > * {
		margin-bottom: 6px;
		font-size: 13px;
	}

	.trustbar {
		padding: 12px 20px !important;
	}

	.trustbar span {
		font-size: 11px;
	}

	.trustbar .wrap {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.final-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.final {
		padding: 40px 20px !important;
	}

	.process {
		padding: 50px 20px !important;
	}

	.case-section {
		padding: 50px 20px !important;
	}

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

	.case-side {
		min-height: 200px;
	}

	.case-details {
		padding: 16px;
		gap: 12px;
	}

	.faq {
		padding: 50px 20px !important;
	}

	.soft {
		padding: 50px 20px !important;
	}

	.field {
		padding: 12px 0;
	}

	.field label {
		font-size: 13px;
		margin-bottom: 6px;
	}

	.field input,
	.field textarea {
		font-size: 13px;
		padding: 10px;
	}

	.btn {
		font-size: 13px;
		padding: 12px 18px;
	}

	.note {
		font-size: 11px;
	}
}

@media(prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*:before,
	*:after {
		transition: none !important;
	}

	.reveal {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}
}
