:root{
	--bg:#060e0d;
	--light:#fdfdfd;
	--card:#0d1c19;
	--card2:#122623;
	--primary:#21c95f;
	--secondary:#10a998;
	--muted:#8ba29c;
	--border:rgba(255,255,255,.08);
	--gradient:linear-gradient(135deg,#21c95f,#10a998);
	--gradient-hover: linear-gradient(-135deg,#21c95f,#10a998);

	/*--gradient: linear-gradient(135deg, #1fc35b, #0ca695);
	--gradient-hover: linear-gradient(-135deg, #1fc35b, #0ca695);*/
}
body::before {
    content: '';
    position: fixed;
    width: 600px;
    height: 600px;
    background: #36f47c;
    filter: blur(200px);
    opacity: .15;
    top: -220px;
    left: -220px;
    z-index: -1;
}
body::after{
	content:'';
	position:fixed;
	width:600px;
	height:600px;
	background:#10a998;
	filter:blur(180px);
	opacity:.12;
	bottom:-220px;
	right:-220px;
	z-index:-1;
}
header{
	position:sticky;
	width:100%;
	top:0;
	z-index:999;
	backdrop-filter:blur(20px);
	background:rgba(6,17,15,.7);
	border-bottom:1px solid rgba(255,255,255,.05);
}
.navbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding-top:20px;
	padding-bottom:20px;
}
.logo{
	display:flex;
	align-items:center;
	gap:14px;
	font-size:30px;
	font-weight:900;
}
.logo img {
    max-width: 240px;
}
.logo span{
	background:var(--gradient);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
}
.nav-links{
	display:flex;
	gap:34px;
}
.nav-links a {
     color: var(--muted); 
    text-decoration: none;
   /* -webkit-background-clip: text!important;
    -webkit-text-fill-color: transparent;
    background: var(--gradient);*/
    font-weight: 600;
    letter-spacing: 0.3px;
    /*opacity: 80%;*/
}
.nav-links a:hover{
	color: var(--primary); 
	/*background: var(--gradient-hover);*/
	/*opacity: 100%;*/
}
.btn {
    display: inline-flex!important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 16px;
    justify-content: center;
    padding: 16px 34px;
    font-weight: 500;
    transition: .35s;
    text-decoration: none;
    letter-spacing: 0.3px;
}
.btn.btn-text {
    padding: 0;
    font-size: 16px;
}
.btn.btn-text:after {
    width: 20px;
    height: 10px;
}
.btn:after {
    content: "";
    width: 24px;
    height: 12px;
    display: inline-block;
    background-image: url('../images/black-arrow-right.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    filter: brightness(0) invert(1);
}
.btn:hover:after{
	transform:translateX(4px);
}
.btn-primary{	
    color: var(--light);
	background:var(--gradient);
	box-shadow:0 20px 50px rgba(34,197,94,.25);
	clip-path: polygon(9% 0, 100% 0, 100% 69%, 91% 100%, 0 100%, 0 34%);
}
.btn-primary:hover{
	color: var(--light);
	background: var(--gradient-hover);
}
.btn-secondary{
	color: var(--muted);
	background:rgba(255,255,255,.03);
	clip-path: polygon(9% 0, 100% 0, 100% 69%, 91% 100%, 0 100%, 0 34%);
}
.btn-secondary:hover {
	color: var(--muted);
	background: rgba(255,255,255,.05);
}
.hero{
	padding:120px 0 120px;
	position:relative;
}
.hero::before{
	content:'';
	position:absolute;
	inset:0;
	background-image:linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
	background-size:60px 60px;
	opacity:.2;
	pointer-events:none;
}
.hero-grid{
	display:grid;
	grid-template-columns:1fr 540px;
	gap:70px;
	align-items:center;
}
.sub-title{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size: 20px;
	font-weight: 600;
	margin-bottom:28px;
	-webkit-background-clip: text!important;
	-webkit-text-fill-color: transparent!important;
	background: var(--gradient);
	background-size: 200%;
	animation: glowing 5s infinite;
	position: relative;
}
@keyframes glowing {
	0% {
		background-position: 200%;
	}
	100% {
		background-position: 0%;
	}
}
.sub-title:before {
    content: '';
    width: 24px;
    height: 24px;
    background: url('../images/logo-shape.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 0% 50%;
    display: inline-block;
}
.hero .title{
	letter-spacing:-3px;
	margin-bottom: 32px;
}
.title span{
	background:var(--gradient);
	-webkit-background-clip:text!important;
	-webkit-text-fill-color:transparent!important;
}
.hero .hero-intro-content {
	max-width:650px;
	margin-bottom:40px;
}
.hero .hero-intro-content p {
	font-size:20px;
	color:var(--muted);
}
.hero-buttons{
	display:flex;
	gap:18px;
	flex-wrap:wrap;
}
.hero-card{
	background:rgba(255,255,255,.03);
	/*border:1px solid rgba(255,255,255,.08);*/
	/*padding:32px;*/
	clip-path: polygon(12% 0, 100% 0, 100% 90%, 88% 100%, 0 100%, 0 10%);
	backdrop-filter:blur(18px);
	position:relative;
	overflow:hidden;
	animation:float 6s ease-in-out infinite;
}
@keyframes float{
	0%,100%{transform:translateY(0)}
	50%{transform:translateY(-20px)}
}
.dashboard{
	background:#0b1715;
	border-radius:28px;
	padding:26px;
}
.bar{
	display:flex;
	gap:10px;
	margin-bottom:22px;
}
.bar span{
	width:12px;
	height:12px;
	border-radius:50%;
	background:#fff;
	opacity:.4;
}
.mockup-grid{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:18px;
	margin-bottom:18px;
}
.mockup-box,
.mockup-small,
.service-card,
.project-card,
.process-card,
.team-card,
.pricing-card,
.testimonial-card{
	background:rgba(255,255,255,.03);
}
.mockup-box{
	height:240px;
	border-radius:24px;
	background:linear-gradient(145deg,#14332c,#0c1d1a);
	position:relative;
	overflow:hidden;
}
.mockup-circle {
    position: absolute;
    top: 65px;
    left: 65px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: var(--gradient);
    animation: float 5s ease-in-out infinite;
}
.mockup-box::before{
	content:'';
	position:absolute;
	width:300px;
	height:300px;
	background:#22c55e;
	filter:blur(120px);
	opacity:.2;
	right:-100px;
	top:-100px;
}
.mockup-small{
	height:240px;
	border-radius:24px;
}
.lines{
	padding:30px;
}
.lines div{
	height:14px;
	background:#1c3731;
	border-radius:40px;
	margin-bottom:16px;
}
.lines div:nth-child(1){width:90%;height:18px;}
.lines div:nth-child(2){width:70%;}
.lines div:nth-child(3){width:55%;}
.lines div:nth-child(4){width:80%;}
.mini-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:18px;
}
.mini-grid div{
	height:120px;
	background:#132925;
	border-radius:22px;
}
section {
	padding:80px 0;
}
.first-section {
	padding-top: 140px;
}
.last-section {
	padding-bottom: 140px;
}
.intro {
	text-align: center;
	margin-bottom:60px;
}
.intro .title {
	margin-bottom:32px;
}
.intro .intro-content {
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
}
.intro-content > *:last-child {
	margin-bottom: 0;
}

.grid-3{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:28px;
}
.service-card,
.project-card,
.process-card,
.team-card,
.pricing-card,
.testimonial-card{
	padding:40px 40px;
	border-radius:0;
	position:relative;
	overflow:hidden;
}
.project-card,
.team-card {
	padding: 0;
}
.project-card .project-bio,
.team-card .team-bio {
	padding: 30px 40px 40px;
}
.service-card{
	clip-path: polygon(12% 0, 100% 0, 100% 88%, 88% 100%, 0 100%, 0 12%);
}
.project-card {
    clip-path: polygon(12% 0, 100% 0, 100% 90%, 88% 100%, 0 100%, 0 10%);
}
.process-card {
	clip-path: polygon(10% 0, 100% 0, 100% 86%, 90% 100%, 0 100%, 0 14%);
}
.team-card {
    clip-path: polygon(12% 0, 100% 0, 100% 90%, 88% 100%, 0 100%, 0 10%);
}
.pricing-card{
	clip-path: polygon(12% 0, 100% 0, 100% 88%, 88% 100%, 0 100%, 0 12%);
}
.testimonial-card {
    clip-path: polygon(8% 0, 100% 0, 100% 80%, 92% 100%, 0 100%, 0 18%);
}
.service-card:hover,
.project-card:hover,
.process-card:hover,
.team-card:hover,
.pricing-card:hover,
.testimonial-card:hover{
	background:rgba(255,255,255,.05);
}

.service-icon,
.process-icon{
	width:74px;
	height:74px;
	font-size: 40px;
	font-weight: 700;
	color: var(--light);
	padding: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background:var(--gradient);
	clip-path: polygon(20% 0, 100% 0, 100% 80%, 80% 100%, 0 100%, 0 20%);
	margin-bottom: 20px;
}
.service-icon img {
	min-width: 38px;
	max-width: 46px;
	filter: brightness(0) invert(1);
}
.service-card .title,
.project-card .title,
.process-card .title,
.team-card .title,
.pricing-card .title{
	margin-bottom:14px;
}

.service-card p,
.project-card p,
.process-card p,
.team-card p,
.pricing-card p,
.testimonial-card p,
.stats-card p{
	color:var(--muted);
	margin-bottom: 0;
}
#about .intro {
	text-align: left;
}
#about .intro .intro-content {
	max-width: 100%;
}
.about-grid{
	display:grid;
	grid-template-columns:1fr 1.2fr;
	gap: 50px 70px;
	align-items:center;
}
.about-grid .intro {
	margin-bottom: 0;
}
.about-panel{
    text-align: center;
	background:rgba(255,255,255,.03);
	/*border:1px solid rgba(255,255,255,.08);*/
	/*padding:32px;*/
	clip-path: polygon(12% 0, 100% 0, 100% 90%, 88% 100%, 0 100%, 0 10%);
}
.panel-screen{
	background:#0b1715;
	padding:26px;
	border-radius:28px;
}
.panel-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:18px;
}
.panel-grid div{
	height:160px;
	background:#132925;
	border-radius:24px;
}
.feature-list{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:18px;
	margin-top:30px;
}
.feature-item{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 10px;
	padding:16px 18px;
	background:rgba(255,255,255,.03);
	clip-path: polygon(6% 0, 100% 0, 100% 70%, 94% 100%, 0 100%, 0 30%);
}
.feature-item:nth-child(1) i img,
.feature-item:nth-child(2) i img {
	min-width: 18px;
	max-width: 22px;
}
.feature-item i img {
	min-width: 28px;
	max-width: 34px;
}
.feature-item span {
	font-size: 16px;
}
.project-thumb{
	background:linear-gradient(145deg,#14322c,#0d1d1a);
	position:relative;
	/*overflow:hidden;*/
}
.project-thumb img {
    width: 100%;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    object-position: 50% 0%;
}
.project-thumb::before{
	content:'';
	position:absolute;
	width:260px;
	height:260px;
	background:#22c55e;
	filter:blur(120px);
	opacity:.25;
	right:-100px;
	top:-100px;
}
.marquee{
	overflow:hidden;
	white-space:nowrap;
	border-top:1px solid rgba(255,255,255,.05);
	border-bottom:1px solid rgba(255,255,255,.05);
	padding:28px 0;
}
.marquee-cntlr {
	/*animation:scroll 10s linear infinite;*/
}
.marquee-content{
	display:inline-block;
	font-size:40px;
	font-weight:700;
	color:var(--light);
}
@keyframes scroll{
	0%{transform:translateX(0)}
	100%{transform:translateX(-50%)}
}
.team-image img {
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: initial;
	object-position: 50% 0%;
}
.pricing-card ul{
	margin-top:24px;
	list-style:none;
}
.pricing-card ul li{
	margin-bottom:12px;
	color:#cde2db;
	font-size: 16px;
}
.cta {
    text-align: center;
    background: linear-gradient(135deg,rgba(34,197,94,.15),rgba(20,184,166,.1));
    padding: 90px;
    clip-path: polygon(10% 0, 100% 0, 100% 80%, 90% 100%, 0 100%, 0 20%);
}
.cta .title {
	margin-bottom:32px;
}
.cta .cta-content {
	max-width:760px;
	margin:auto auto 40px;
}
footer{
	padding:40px 0;
	border-top:1px solid rgba(255,255,255,.05);
}

.footer{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:20px;
}
.reveal{
	opacity:0;
	transform:translateY(60px);
	animation-delay: 100ms;
	/*transition:1s cubic-bezier(.2,.8,.2,1);*/
}
.reveal.active{
	animation: revealam 1.3s cubic-bezier(.2,.8,.2,1) forwards;
}
.reveal:nth-child(2) {
	animation-delay: 300ms;
}
.reveal:nth-child(3) {
	animation-delay: 500ms;
}
@keyframes revealam {
	0% {
		opacity:0;
		transform:translateY(60px);
	}
	100% {
		opacity:1;
		transform:translateY(0);
	}
}



@media(max-width:1399px){
    .hero {
        padding: 110px 0 110px;
    }
    .hero-grid {
        grid-template-columns: 1fr 520px;
        gap: 60px;
    }
    section {
        padding: 70px 0;
    }
    .first-section {
    	padding-top: 120px;
    }
    .last-section {
    	padding-bottom: 120px;
    }
    .marquee{
    	padding:24px 0;
    }
    .marquee-content{
    	font-size:36px;
    }
}
@media(max-width:1299px){
    .hero-grid {
        grid-template-columns: 1fr 520px;
        gap: 55px;
    }
    .hero {
        padding: 100px 0 100px;
    }
    .service-card, 
    .process-card, 
    .pricing-card, 
    .testimonial-card {
        padding: 36px 36px;
    }
    .project-card .project-bio, 
    .team-card .team-bio {
        padding: 28px 36px 36px;
    }
    .about-grid{
    	gap: 50px 60px;
    }
}
@media(max-width:1199px){
    .hero {
        padding: 80px 0 80px;
    }
    .hero-grid {
        grid-template-columns: 1fr 480px;
        gap: 45px;
    }
    section {
        padding: 60px 0;
    }
    .first-section {
    	padding-top: 110px;
    }
    .last-section {
    	padding-bottom: 110px;
    }
    .service-card, 
    .process-card, 
    .pricing-card, 
    .testimonial-card {
        padding: 32px 32px;
    }
    .project-card .project-bio, 
    .team-card .team-bio {
        padding: 26px 32px 32px;
    }
    .marquee{
    	padding:22px 0;
    }
    .marquee-content{
    	font-size:34px;
    }
    .intro .title {
        margin-bottom: 28px;
    }
    .sub-title {
        margin-bottom: 24px;
    }
    .service-icon, .process-icon {
        width: 68px;
        height: 68px;
        font-size: 38px;
        margin-bottom: 18px;
    }
}
@media(max-width:1100px){
    .hero-grid {
        grid-template-columns: 1fr 430px;
        gap: 50px 38px;
    }
	.grid-3{
		grid-template-columns:repeat(2,1fr);
	}
	.nav-links {
        gap: 30px;
    }
    .btn {
        gap: 15px;
        padding: 15px 30px;
    }
    .btn:after {
        width: 22px;
        height: 11px;
    }
    .logo img {
        max-width: 230px;
    }
    section {
        padding: 55px 0;
    }
    .first-section {
    	padding-top: 100px;
    }
    .last-section {
    	padding-bottom: 100px;
    }
    .service-card, 
    .process-card, 
    .pricing-card, 
    .testimonial-card {
        padding: 28px 28px;
    }
    .project-card .project-bio, 
    .team-card .team-bio {
        padding: 24px 28px 28px;
    }
    .intro {
        margin-bottom: 50px;
    }
    .about-grid{
    	gap: 50px 50px;
    }
}

@media(max-width:1023px){
    .hero-grid,
	.about-grid{
		grid-template-columns:1fr;
	}
    .logo img {
        max-width: 220px;
    }
    .hero-intro,
    .hero-card {
        text-align: center;
    }
    .hero .hero-intro-content {
        margin-left: auto;
        margin-right: auto;
    }
    .hero-buttons {
        justify-content: center;
    }
}
@media(max-width:991px){
    .nav-links{
		display:none;
	}
	section {
        padding: 50px 0;
    }
    .first-section {
    	padding-top: 90px;
    }
    .last-section {
    	padding-bottom: 90px;
    }
}
@media(max-width:768px){
	.grid-3,
	.feature-list,
	.panel-grid,
	.mini-grid{
		grid-template-columns:1fr;
	}
	.hero{
		padding: 70px 0 70px;
	}
	.cta{
		padding:60px 24px;
	}
	section {
        padding: 40px 0;
    }
    .first-section {
    	padding-top: 80px;
    }
    .last-section {
    	padding-bottom: 80px;
    }
    .marquee{
    	padding:20px 0;
    }
    .marquee-content{
    	font-size:30px;
    }
    .cta {
        clip-path: polygon(8% 0, 100% 0, 100% 84%, 92% 100%, 0 100%, 0 16%);
    }
}
@media(max-width:575px){
    .logo img {
        max-width: 200px;
        width: 100%;
    }
	.navbar .btn {
        gap: 14px;
        padding: 14px 26px;
        white-space: nowrap;
        font-size: 16px;
    }
    .navbar {
        padding-top:16px;
    	padding-bottom:16px;
        gap: 20px!important;
    }
    .btn:after {
        width: 20px;
        height: 10px;
    }
    .service-card,  
    .process-card, 
    .pricing-card, 
    .testimonial-card {
        padding: 24px 24px;
    }
    .project-card .project-bio, 
    .team-card .team-bio {
        padding: 20px 24px 24px;
    }
    .intro .title {
        margin-bottom: 24px;
    }
    .sub-title {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .sub-title:before {
        width: 20px;
        height: 20px;
    }
    .intro {
        margin-bottom: 45px;
    }
    .cta {
        clip-path: polygon(8% 0, 100% 0, 100% 88%, 92% 100%, 0 100%, 0 12%);
    }
    .service-icon, .process-icon {
        width: 60px;
        height: 60px;
        font-size: 34px;
    }
}
@media(max-width:479px){
    .cta {
        padding: 50px 20px;
    }
    .logo img {
        max-width: 180px;
        width: 100%;
    }
	.navbar .btn {
        gap: 12px;
        padding: 12px 20px;
        white-space: nowrap;
        font-size: 15px;
    }
    .navbar {
        gap: 20px!important;
    }
    
    .btn:after {
        width: 16px;
        height: 9px;
    }
    .cta {
        clip-path: polygon(10% 0, 100% 0, 100% 90%, 90% 100%, 0 100%, 0 10%);
    }
}
@media(max-width:400px){
    .navbar .btn {
        gap: 10px;
        padding: 11px 16px;
        font-size: 15px;
    }
}
@media(max-width:374px){
    .navbar .btn {
        gap: 10px;
        padding: 9px 13px;
        font-size: 13px;
    }
    .sub-title {
        font-size: 17px;
        margin-bottom: 20px;
    }
}




