:root{
	--bg:#0f172a;
	--card:#0b1229;
	--muted:#94a3b8;
	--text:#e2e8f0;
	--accent:#38bdf8;
	--accent-2:#22d3ee;
	--ring:rgba(56,189,248,.35);
	--paper:#0a0f1f;
	--section:#0b132b;
	--soft:#111936;
	--border:rgba(148,163,184,.18);
	--shadow: 0 10px 25px rgba(2,8,23,.45);
	--radius:22px;
	--radius-sm:14px;
}
*{
	box-sizing:border-box
}
html,body{
	margin:0;
	height:100%
}
body{
	font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
	padding-top:72px
}

.container{
	max-width:1150px;
	margin:0 auto;
	padding:0 20px
}
header.hero{
	position:relative;
	overflow:hidden;
	border-bottom:1px solid var(--border);
	background:linear-gradient(180deg,var(--bg),#0b1022 60%, #0a0f1f);
	color:var(--text);
}
.hero-wrap{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:32px;
	align-items:center;
	padding:72px 0
}
.chip{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 12px;
	border:1px solid var(--border);
	border-radius:999px;
	color:var(--muted);
	backdrop-filter: blur(6px)
}
h1{
	font-size:clamp(32px,6vw,54px);
	line-height:1.05;
	margin:14px 0
}
.lead{
	font-size:clamp(16px,2.2vw,18px);
	color:var(--muted);
	max-width:58ch
}
.cta{
	margin-top:20px;
	display:flex;
	flex-wrap:wrap;
	gap:12px
}
.btn{
	appearance:none;
	border:1px solid transparent;
	border-radius:14px;
	padding:12px 16px;
	font-weight:600;
	letter-spacing:.2px;
	text-decoration:none;
	display:inline-flex;
	gap:10px;
	align-items:center;
	box-shadow:var(--shadow);
}
.btn-primary{
	background:linear-gradient(135deg,var(--accent),var(--accent-2));
	color:#06121e
}
.btn-ghost{
	background:transparent;
	color:#f5f5f5 !important;
	border-color:#cdcdcd !important
}
.btn-ql{
	background:linear-gradient(180deg,var(--bg),#0b1022 60%, #0a0f1f);
	color:#f5f5f5 !important;
	border-color:#cdcdcd !important
}
.eyebrow{
	color:var(--muted);
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.14em
}

nav.top{
	position:fixed;
	top:0;
	left:0;
	right:0;
	width:100%;
	z-index:999;
	background:rgba(10,15,31,.9);
	backdrop-filter: blur(10px);
	border-bottom:1px solid var(--border)
}
nav .nav-inner{
	display:flex;
	gap:18px;
	align-items:center;
	justify-content:space-between;
	padding:10px 0
}
nav a{
	color:var(--muted);
	text-decoration:none;
	font-weight:600;
	font-size:14px
}
nav a:hover{
	color:var(--text)
}

section{
	padding:64px 0;
	border-bottom:1px dashed var(--border)
}
.section-title{
	text-align: center;
	padding-bottom:15px !important;
	position: relative;
	margin:0 0 22px !important;
}
.section-title h2 {
	font-size: 32px;
	margin-bottom: 20px;
}
.section-title h2::after {
	content: "";
	position: absolute;
	display: block;
	width: 50px;
	height: 3px;
	background:linear-gradient(180deg,var(--bg),#0b1022 60%, #0a0f1f);
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

h3.title {
	position: relative;
	display: inline-block;
	padding-bottom: 8px;
}

h3.title::after {
	content: "";
	position: absolute;
	left: 25%;
	bottom: 0;
	transform: translateX(-50%);
	width: 50%;
	border-bottom: 3px solid #F2635F;
}

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

/* Responsive grid:
   - Phones & iPads: single column
   - Laptops+: keep configured column count */
@media (max-width: 1024px){
	.grid.cols-2,
	.grid.cols-3{
		grid-template-columns:1fr
	}

	/* Bootstrap's m-5 creates horizontal overflow inside our grid */
	.grid > .card.m-5{
		margin:18px 0 !important
	}
}
.card{
	/*background:linear-gradient(180deg,var(--soft),#0a1126);*/
	border:1px solid var(--border);
	border-radius:var(--radius);
	padding:22px;
	box-shadow:var(--shadow)
}
.muted{
	color:var(--muted)
}
.quote{
	border-left:4px solid var(--accent);
	padding:16px;
	background:linear-gradient(180deg,var(--bg),#0b1022 60%, #0a0f1f);
	color:#cfefff
}

.timeline{
	position:relative;
	margin:20px 0 0;
	padding-left:22px
}
.timeline:before{
	content:"";
	position:absolute;
	left:8px;
	top:0;
	bottom:0;
	width:2px;
	background:linear-gradient(var(--accent),var(--accent-2))
}
.t-item{
	position:relative;
	padding:10px 0 10px 16px
}
.t-item:before{
	content:"";
	position:absolute;
	left:-2px;
	top:16px;
	width:12px;
	height:12px;
	border-radius:999px;
	background:linear-gradient(135deg,var(--accent),var(--accent-2));
	box-shadow:0 0 0 3px rgba(56,189,248,.2)
}
.t-year{
	font-weight:800;
	color:#c7f1ff
}

ul.clean{
	padding-left:18px;
	margin:0
}
ul.clean li{
	margin:6px 0
}

footer{
	padding:40px 0;
	color:var(--muted);
	text-align:center
}

@media (max-width:900px){
	.hero-wrap{
		grid-template-columns:1fr
	}
}
.ps-timeline-sec {
	position: relative;
	background: #fff;
}
.ps-timeline-sec .container {
	position: relative;
}
@media screen and (max-width: 767px) {
	.ps-timeline-sec .container ol:before {
		background: #348e80;
		content: "";
		width: 10px;
		height: 10px;
		border-radius: 100%;
		position: absolute;
		top: 130px !important;
		left: 36px !important;
	}
	.ps-timeline-sec .container ol:after {
		background: #348e80;
		content: "";
		width: 10px;
		height: 10px;
		border-radius: 100%;
		position: absolute;
		top: inherit !important;
		left: 36px;
	}
	.ps-timeline-sec .container ol.ps-timeline {
		margin: 130px 0 !important;
		border-left: 2px solid #348e80;
		padding-left: 0 !important;
		padding-top: 120px !important;
		border-top: 0 !important;
		margin-left: 25px !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li {
		height: 220px;
		float: none !important;
		width: inherit !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li:nth-child(2) .img-handler-bot img {
		width: 70px;
	}
	.ps-timeline-sec .container ol.ps-timeline li:last-child {
		margin: 0;
		bottom: 0 !important;
		height: 120px;
	}
	.ps-timeline-sec .container ol.ps-timeline li:last-child .img-handler-bot {
		bottom: 40px !important;
		width: 40% !important;
		margin-left: 25px !important;
		margin-top: 0 !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li:last-child .img-handler-bot img {
		width: 100%;
	}
	.ps-timeline-sec .container ol.ps-timeline li:last-child .ps-top {
		margin-bottom: 0 !important;
		top: 20px;
		width: 50% !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li span {
		left: 0 !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li span.ps-sp-top:before {
		content: none !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li span.ps-sp-top:after {
		content: none !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li span.ps-sp-bot:before {
		content: none !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li span.ps-sp-bot:after {
		content: none !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li .img-handler-top {
		position: absolute !important;
		bottom: 150px !important;
		width: 30% !important;
		float: left !important;
		margin-left: 35px !important;
		margin-bottom: 0 !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li .img-handler-top img {
		margin: 0 auto !important;
		width: 80% !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li .img-handler-bot {
		position: absolute !important;
		bottom: 115px !important;
		width: 30% !important;
		float: left !important;
		margin-left: 35px !important;
		margin-bottom: 0 !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li p {
		text-align: left !important;
		width: 100% !important;
		margin: 0 auto !important;
		margin-top: 0px !important;
	}
	.ps-timeline-sec .container ol.ps-timeline li .ps-top {
		width: 60% !important;
		float: right !important;
		right: 0;
		top: -40px;
	}
	.ps-timeline-sec .container ol.ps-timeline li .ps-bot {
		width: 60% !important;
		float: right !important;
		right: 0;
		top: -40px;
	}
}
.ps-timeline-sec .container ol:before {
	background: #348e80;
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 100%;
	position: absolute;
	left: 8px;
	top: 49.5%;
}
.ps-timeline-sec .container ol:after {
	background: #348e80;
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 100%;
	position: absolute;
	right: 8px;
	top: 49.5%;
}
.ps-timeline-sec .container ol.ps-timeline {
	margin: 225px 0;
	padding: 0;
	border-top: 2px solid #348e80;
	list-style: none;
}
.ps-timeline-sec .container ol.ps-timeline li {
	float: left;
	width: 33%;
	padding-top: 30px;
	position: relative;
}
.ps-timeline-sec .container ol.ps-timeline li span {
	width: 50px;
	height: 50px;
	margin-left: -25px;
	background: #fff;
	border: 4px solid #348e80;
	border-radius: 50%;
	box-shadow: 0 0 0 0px #fff;
	text-align: center;
	line-height: 50px -10;
	color: #df8625;
	font-size: 2em;
	font-style: normal;
	position: absolute;
	top: -26px;
	left: 50%;
}
.ps-timeline-sec .container ol.ps-timeline li span.ps-sp-top:before {
	content: "";
	color: #348e80;
	width: 2px;
	height: 50px;
	background: #348e80;
	position: absolute;
	top: -50px;
	left: 50%;
}
.ps-timeline-sec .container ol.ps-timeline li span.ps-sp-top:after {
	content: "";
	color: #348e80;
	width: 8px;
	height: 8px;
	background: #348e80;
	position: absolute;
	bottom: 90px;
	left: 44%;
	border-radius: 100%;
}
.ps-timeline-sec .container ol.ps-timeline li span.ps-sp-bot:before {
	content: "";
	color: #348e80;
	width: 2px;
	height: 50px;
	background: #348e80;
	position: absolute;
	bottom: -50px;
	left: 50%;
}
.ps-timeline-sec .container ol.ps-timeline li span.ps-sp-bot:after {
	content: "";
	color: #348e80;
	width: 8px;
	height: 8px;
	background: #348e80;
	position: absolute;
	top: 90px;
	left: 44%;
	border-radius: 100%;
}
.ps-timeline-sec .container ol.ps-timeline li .img-handler-top {
	position: absolute;
	bottom: 0;
	margin-bottom: 130px;
	width: 100%;
}
.ps-timeline-sec .container ol.ps-timeline li .img-handler-top img {
	display: table;
	margin: 0 auto;
}
.ps-timeline-sec .container ol.ps-timeline li .img-handler-bot {
	position: absolute;
	margin-top: 60px;
	width: 100%;
}
.ps-timeline-sec .container ol.ps-timeline li .img-handler-bot img {
	display: table;
	margin: 0 auto;
}
.ps-timeline-sec .container ol.ps-timeline li p {
	text-align: center;
	width: 80%;
	margin: 0 auto;
}
.ps-timeline-sec .container ol.ps-timeline li .ps-top {
	position: absolute;
	bottom: 0;
	margin-bottom: 100px;
}
.ps-timeline-sec .container ol.ps-timeline li .ps-bot {
	position: absolute;
	margin-top: 35px;
}
.text-blue {
	color: #0073b7 !important;
}
.text-purple {
	color: #605ca8 !important;
}
.text-maroon {
	color: #d81b60 !important;
}
.bg-aqua {
	background-color: #00c0ef !important;
}
.bg-purple{
	background-color: #605ca8 !important;
}
.bg-gray-3{
	background-color:#efefef
}
.bg-purple,.bg-aqua{
	color: #fff !important;
}
.card .card-icon{padding: 20px 30px !important}