/*====================================================
  SYNICON IT SOLUTIONS
  STUDENT PROJECTS CSS v2.0
  ROOT + RESET + HEADER + NAVIGATION
=====================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{

--primary:#2563eb;
--primary-dark:#1d4ed8;
--secondary:#0f172a;
--light:#f8fafc;
--white:#ffffff;
--gray:#64748b;
--border:#e5e7eb;

--success:#16a34a;
--danger:#ef4444;
--warning:#f59e0b;

--radius:18px;
--radius-sm:10px;

--shadow-sm:0 5px 20px rgba(0,0,0,.05);
--shadow:0 15px 35px rgba(0,0,0,.08);
--shadow-lg:0 30px 60px rgba(37,99,235,.18);

--transition:.35s ease;
--max-width:1250px;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

html{
overflow-x:hidden;
}

body{

font-family:'Poppins',sans-serif;
background:var(--light);
color:var(--secondary);
overflow-x:hidden;
line-height:1.7;
-webkit-font-smoothing:antialiased;

}

img{

max-width:100%;
display:block;

}

a{

text-decoration:none;
transition:var(--transition);

}

ul{

list-style:none;

}

.container{

width:92%;
max-width:var(--max-width);
margin:auto;

}

/*==============================
HEADER
==============================*/

header{

position:fixed;
top:0;
left:0;
width:100%;
background:rgba(255,255,255,.92);
backdrop-filter:blur(18px);
-webkit-backdrop-filter:blur(18px);

box-shadow:0 8px 35px rgba(0,0,0,.08);

z-index:9999;

transition:.4s;

}

header.scrolled{

padding:10px 0;
box-shadow:0 15px 35px rgba(0,0,0,.12);

}

header .container{

display:flex;

align-items:center;

justify-content:space-between;

padding:18px 0;

}

/*==============================
LOGO
==============================*/

.logo{

display:flex;

align-items:center;

gap:12px;

}

.logo img{

width:52px;

height:52px;

object-fit:contain;

}

.logo h2{

font-size:24px;

font-weight:700;

color:var(--secondary);

letter-spacing:.3px;

}

/*==============================
NAVIGATION
==============================*/

nav ul{

display:flex;

align-items:center;

gap:32px;

}

nav ul li{

position:relative;

}

nav ul li a{

font-size:16px;

font-weight:600;

color:var(--secondary);

padding:10px 0;

position:relative;

}

nav ul li a::after{

content:"";

position:absolute;

left:0;

bottom:-5px;

width:0;

height:3px;

background:linear-gradient(
90deg,
var(--primary),
#60a5fa);

border-radius:20px;

transition:.35s;

}

nav ul li a:hover::after,
nav ul li a.active::after{

width:100%;

}

nav ul li a:hover,
nav ul li a.active{

color:var(--primary);

}

/*==============================
BUTTON
==============================*/

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:14px 28px;

background:linear-gradient(
135deg,
var(--primary),
var(--primary-dark));

color:#fff;

font-weight:600;

border-radius:12px;

box-shadow:0 12px 25px rgba(37,99,235,.25);

transition:.35s;

}

.btn:hover{

transform:translateY(-4px);

box-shadow:0 20px 40px rgba(37,99,235,.35);

}

/*==============================
MOBILE MENU
==============================*/

.menu-toggle{

display:none;

font-size:28px;

cursor:pointer;

color:var(--secondary);

}

/*==============================
HEADER RESPONSIVE
==============================*/

@media(max-width:991px){

header .container{

padding:15px 0;

}

nav{

display:none;

}

.menu-toggle{

display:block;

}

.logo h2{

font-size:20px;

}

.btn{

display:none;

}

}

@media(max-width:768px){

.logo img{

width:45px;
height:45px;

}

.logo h2{

font-size:18px;

}

}
/*====================================================
 HERO SECTION
====================================================*/

.hero{

position:relative;

padding:170px 0 120px;

background:
linear-gradient(135deg,#eff6ff 0%,#dbeafe 45%,#ffffff 100%);

overflow:hidden;

}

.hero::before{

content:"";

position:absolute;

top:-180px;

right:-180px;

width:450px;

height:450px;

background:rgba(37,99,235,.08);

border-radius:50%;

filter:blur(20px);

}

.hero::after{

content:"";

position:absolute;

bottom:-220px;

left:-180px;

width:500px;

height:500px;

background:rgba(96,165,250,.10);

border-radius:50%;

filter:blur(25px);

}

.hero-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

position:relative;

z-index:2;

}

.tag{

display:inline-flex;

align-items:center;

gap:8px;

padding:10px 22px;

background:#2563eb;

color:#fff;

font-size:14px;

font-weight:600;

border-radius:40px;

box-shadow:0 12px 25px rgba(37,99,235,.20);

margin-bottom:25px;

animation:fadeDown .8s ease;

}

.hero h1{

font-size:58px;

font-weight:800;

line-height:1.15;

color:#0f172a;

margin-bottom:25px;

animation:fadeUp .9s ease;

}

.hero h1 span{

color:#2563eb;

background:linear-gradient(90deg,#2563eb,#60a5fa);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.hero p{

font-size:18px;

line-height:34px;

color:#64748b;

max-width:620px;

margin-bottom:35px;

animation:fadeUp 1s ease;

}

.hero-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

margin-bottom:50px;

animation:fadeUp 1.1s ease;

}

.primary-btn{

padding:16px 38px;

background:linear-gradient(135deg,#2563eb,#1d4ed8);

color:#fff;

border-radius:12px;

font-weight:600;

box-shadow:0 18px 35px rgba(37,99,235,.25);

transition:.35s;

}

.primary-btn:hover{

transform:translateY(-5px);

box-shadow:0 25px 45px rgba(37,99,235,.35);

}

.secondary-btn{

padding:16px 38px;

border:2px solid #2563eb;

border-radius:12px;

font-weight:600;

color:#2563eb;

background:#fff;

transition:.35s;

}

.secondary-btn:hover{

background:#2563eb;

color:#fff;

transform:translateY(-5px);

}

.hero-stats{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:20px;

margin-top:20px;

}

.hero-stats div{

background:#fff;

padding:25px;

border-radius:18px;

text-align:center;

box-shadow:0 20px 40px rgba(0,0,0,.06);

transition:.35s;

border:1px solid #edf2f7;

}

.hero-stats div:hover{

transform:translateY(-10px);

box-shadow:0 30px 55px rgba(37,99,235,.18);

}

.hero-stats h2{

font-size:34px;

color:#2563eb;

margin-bottom:8px;

font-weight:700;

}

.hero-stats p{

margin:0;

font-size:15px;

line-height:24px;

color:#64748b;

}

.hero-image{

display:flex;

justify-content:center;

align-items:center;

position:relative;

}

.hero-image img{

width:100%;

max-width:560px;

animation:float 5s ease-in-out infinite;

filter:drop-shadow(0 30px 60px rgba(37,99,235,.25));

}

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

100%{

transform:translateY(0);

}

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}

@keyframes fadeDown{

from{

opacity:0;

transform:translateY(-30px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*=========================
 HERO RESPONSIVE
==========================*/

@media(max-width:991px){

.hero{

padding:150px 0 90px;

}

.hero-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero p{

margin:auto auto 35px;

}

.hero-buttons{

justify-content:center;

}

.hero-image{

margin-top:50px;

}

.hero-stats{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:576px){

.hero h1{

font-size:36px;

}

.hero p{

font-size:16px;

line-height:30px;

}

.hero-stats{

grid-template-columns:1fr;

}

.primary-btn,
.secondary-btn{

width:100%;

text-align:center;

}

.hero-buttons{

flex-direction:column;

}

}
/*====================================================
 SECTION TITLE
====================================================*/

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title span{

display:inline-block;

padding:10px 22px;

background:#dbeafe;

color:#2563eb;

font-size:14px;

font-weight:600;

border-radius:30px;

margin-bottom:18px;

}

.section-title h2{

font-size:46px;

font-weight:800;

color:#0f172a;

margin-bottom:18px;

line-height:1.2;

}

.section-title p{

max-width:760px;

margin:auto;

font-size:18px;

line-height:32px;

color:#64748b;

}

/*====================================================
 PROJECT SECTION
====================================================*/

.services{

padding:120px 0;

background:#ffffff;

position:relative;

overflow:hidden;

}

.services::before{

content:"";

position:absolute;

top:-150px;

right:-150px;

width:350px;

height:350px;

background:rgba(37,99,235,.05);

border-radius:50%;

}

.cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(310px,1fr));

gap:35px;

}

/*====================================================
 CARD
====================================================*/

.card{

background:#fff;

padding:40px 35px;

border-radius:22px;

border:1px solid #edf2f7;

box-shadow:0 15px 40px rgba(0,0,0,.05);

transition:.4s;

position:relative;

overflow:hidden;

cursor:pointer;

}

.card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:5px;

background:linear-gradient(90deg,#2563eb,#60a5fa);

transform:scaleX(0);

transform-origin:left;

transition:.4s;

}

.card:hover::before{

transform:scaleX(1);

}

.card:hover{

transform:translateY(-15px);

box-shadow:0 30px 60px rgba(37,99,235,.18);

}

.card-icon{

width:80px;

height:80px;

display:flex;

align-items:center;

justify-content:center;

background:#eff6ff;

border-radius:20px;

margin-bottom:25px;

transition:.35s;

}

.card:hover .card-icon{

background:#2563eb;

}

.card-icon i{

font-size:38px;

color:#2563eb;

transition:.35s;

}

.card:hover .card-icon i{

color:#fff;

}

.card h3{

font-size:26px;

font-weight:700;

margin-bottom:18px;

color:#0f172a;

}

.card p{

font-size:16px;

line-height:30px;

color:#64748b;

margin-bottom:22px;

}

.card ul{

margin-top:20px;

}

.card ul li{

display:flex;

align-items:center;

gap:10px;

margin-bottom:12px;

font-size:15px;

color:#475569;

}

.card ul li i{

color:#16a34a;

font-size:15px;

}

.card a{

display:inline-flex;

align-items:center;

gap:8px;

margin-top:18px;

font-weight:600;

color:#2563eb;

transition:.3s;

}

.card a:hover{

gap:15px;

}

/*====================================================
 FEATURE LABEL
====================================================*/

.feature-label{

position:absolute;

top:18px;

right:-40px;

background:#2563eb;

color:#fff;

padding:8px 45px;

font-size:12px;

font-weight:600;

transform:rotate(45deg);

box-shadow:0 10px 25px rgba(37,99,235,.20);

}

/*====================================================
 RESPONSIVE
====================================================*/

@media(max-width:991px){

.cards{

grid-template-columns:repeat(2,1fr);

}

.section-title h2{

font-size:38px;

}

}

@media(max-width:768px){

.cards{

grid-template-columns:1fr;

}

.card{

padding:30px;

}

.section-title h2{

font-size:32px;

}

.section-title p{

font-size:16px;

}

}

/*====================================================
TECHNOLOGIES
====================================================*/

.technologies{
padding:120px 0;
background:#f8fbff;
position:relative;
overflow:hidden;
}

.technologies::before{
content:"";
position:absolute;
right:-120px;
top:-120px;
width:300px;
height:300px;
background:rgba(37,99,235,.06);
border-radius:50%;
}

.tech-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:25px;
margin-top:60px;
}

.tech-grid span{
display:flex;
align-items:center;
justify-content:center;
padding:22px;
background:#fff;
border-radius:16px;
font-size:17px;
font-weight:600;
color:#0f172a;
border:1px solid #edf2f7;
box-shadow:0 10px 25px rgba(0,0,0,.05);
transition:.35s;
}

.tech-grid span:hover{
background:#2563eb;
color:#fff;
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(37,99,235,.18);
}

/*====================================================
WHY CHOOSE US
====================================================*/

.why-us{
padding:120px 0;
background:#fff;
}

.why-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
}

.why-card{
background:#fff;
padding:35px;
border-radius:22px;
text-align:center;
border:1px solid #edf2f7;
box-shadow:0 15px 35px rgba(0,0,0,.05);
transition:.35s;
position:relative;
overflow:hidden;
}

.why-card::before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:5px;
background:linear-gradient(90deg,#2563eb,#60a5fa);
transform:scaleX(0);
transition:.4s;
transform-origin:left;
}

.why-card:hover::before{
transform:scaleX(1);
}

.why-card:hover{
transform:translateY(-12px);
box-shadow:0 25px 55px rgba(37,99,235,.18);
}

.why-card i{
width:85px;
height:85px;
margin:auto;
display:flex;
align-items:center;
justify-content:center;
background:#eff6ff;
border-radius:50%;
font-size:36px;
color:#2563eb;
margin-bottom:25px;
transition:.35s;
}

.why-card:hover i{
background:#2563eb;
color:#fff;
transform:rotate(10deg);
}

.why-card h3{
font-size:24px;
margin-bottom:15px;
color:#0f172a;
}

.why-card p{
font-size:16px;
line-height:30px;
color:#64748b;
}

/*====================================================
PROCESS TIMELINE
====================================================*/

.timeline{
padding:120px 0;
background:#f8fbff;
}

.timeline-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-top:70px;
}

.step{
background:#fff;
padding:40px 30px;
border-radius:22px;
text-align:center;
position:relative;
border:1px solid #edf2f7;
box-shadow:0 15px 35px rgba(0,0,0,.05);
transition:.35s;
}

.step:hover{
transform:translateY(-12px);
box-shadow:0 25px 55px rgba(37,99,235,.18);
}

.step h2{
width:80px;
height:80px;
margin:auto;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:#2563eb;
color:#fff;
font-size:30px;
margin-bottom:22px;
}

.step h3{
font-size:24px;
margin-bottom:15px;
color:#0f172a;
}

.step p{
font-size:16px;
line-height:30px;
color:#64748b;
}

/*====================================================
RESPONSIVE
====================================================*/

@media(max-width:991px){

.tech-grid,
.why-grid,
.timeline-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.tech-grid,
.why-grid,
.timeline-grid{
grid-template-columns:1fr;
}

.why-card,
.step{
padding:30px;
}

}

/*====================================================
FAQ SECTION
====================================================*/

.faq{
padding:120px 0;
background:#ffffff;
}

.faq-wrapper{
max-width:900px;
margin:auto;
}

.faq-item{
background:#fff;
border:1px solid #edf2f7;
border-radius:18px;
margin-bottom:22px;
overflow:hidden;
box-shadow:0 15px 35px rgba(0,0,0,.05);
transition:.35s;
}

.faq-item:hover{
transform:translateY(-5px);
}

.faq-question{

width:100%;
padding:24px 30px;

display:flex;
justify-content:space-between;
align-items:center;

cursor:pointer;

background:#fff;

font-size:18px;
font-weight:600;

border:none;

color:#0f172a;

}

.faq-question i{

transition:.35s;

color:#2563eb;

}

.faq-item.active i{

transform:rotate(180deg);

}

.faq-answer{

max-height:0;

overflow:hidden;

transition:max-height .45s ease;

padding:0 30px;

}

.faq-item.active .faq-answer{

max-height:350px;

}

.faq-answer p{

padding:20px 0;

line-height:30px;

color:#64748b;

}

/*====================================================
CONTACT
====================================================*/

.contact{

padding:120px 0;

background:#f8fbff;

}

.contact-form{

max-width:850px;

margin:auto;

display:grid;

gap:20px;

}

.contact-form input,
.contact-form textarea,
.contact-form select{

width:100%;

padding:18px 22px;

border-radius:14px;

border:1px solid #dbe4ef;

background:#fff;

font-size:16px;

transition:.35s;

outline:none;

}

.contact-form textarea{

height:180px;

resize:none;

}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{

border-color:#2563eb;

box-shadow:0 0 15px rgba(37,99,235,.15);

}

.contact-form button{

padding:18px;

background:linear-gradient(135deg,#2563eb,#1d4ed8);

color:#fff;

font-size:18px;

font-weight:600;

border:none;

border-radius:14px;

cursor:pointer;

transition:.35s;

}

.contact-form button:hover{

transform:translateY(-5px);

box-shadow:0 20px 45px rgba(37,99,235,.25);

}

/*====================================================
CTA
====================================================*/

.cta{

padding:120px 20px;

text-align:center;

background:linear-gradient(135deg,#2563eb,#1d4ed8);

color:#fff;

}

.cta h2{

font-size:48px;

margin-bottom:20px;

font-weight:800;

}

.cta p{

max-width:700px;

margin:auto;

font-size:18px;

line-height:34px;

}

.cta-buttons{

margin-top:40px;

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.cta-buttons a{

padding:16px 35px;

border-radius:12px;

font-weight:600;

transition:.35s;

}

.btn-primary{

background:#fff;

color:#2563eb;

}

.btn-secondary{

border:2px solid #fff;

color:#fff;

}

.cta-buttons a:hover{

transform:translateY(-5px);

}

/*====================================================
FOOTER
====================================================*/

footer{

background:#0f172a;

color:#fff;

padding:80px 0 30px;

}

.footer-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:40px;

}

.footer-grid h3{

margin-bottom:20px;

font-size:22px;

}

.footer-grid p,
.footer-grid li{

color:#cbd5e1;

line-height:32px;

}

.footer-grid ul{

padding:0;

}

.footer-grid a{

color:#cbd5e1;

transition:.35s;

}

.footer-grid a:hover{

color:#fff;

padding-left:6px;

}

.copyright{

margin-top:50px;

padding-top:25px;

text-align:center;

border-top:1px solid rgba(255,255,255,.12);

font-size:15px;

color:#94a3b8;

}

/*====================================================
WHATSAPP BUTTON
====================================================*/

.whatsapp{

position:fixed;

bottom:25px;

right:25px;

width:62px;

height:62px;

border-radius:50%;

background:#25d366;

display:flex;

align-items:center;

justify-content:center;

font-size:30px;

color:#fff;

box-shadow:0 20px 40px rgba(0,0,0,.2);

z-index:999;

animation:pulse 2s infinite;

}

@keyframes pulse{

0%{
transform:scale(1);
}

50%{
transform:scale(1.12);
}

100%{
transform:scale(1);
}

}

/*====================================================
BACK TO TOP
====================================================*/

#topBtn{

position:fixed;

right:25px;

bottom:100px;

width:52px;

height:52px;

border:none;

border-radius:50%;

background:#2563eb;

color:#fff;

font-size:20px;

cursor:pointer;

display:none;

z-index:999;

box-shadow:0 15px 35px rgba(37,99,235,.25);

transition:.35s;

}

#topBtn:hover{

transform:translateY(-6px);

}

/*====================================================
RESPONSIVE
====================================================*/

@media(max-width:768px){

.cta h2{

font-size:34px;

}

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

.cta-buttons{

flex-direction:column;

}

.cta-buttons a{

width:100%;

}

.whatsapp{

width:55px;

height:55px;

font-size:26px;

}

}

.features{

padding:120px 0;

background:linear-gradient(180deg,#f8fbff,#ffffff);

}

.feature-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:28px;

margin-top:60px;

}

.feature-card{

position:relative;

background:rgba(255,255,255,.8);

backdrop-filter:blur(20px);

padding:35px 25px;

border-radius:22px;

text-align:center;

border:1px solid rgba(255,255,255,.5);

box-shadow:0 15px 40px rgba(0,0,0,.06);

transition:.4s;

overflow:hidden;

}

.feature-card::before{

content:"";

position:absolute;

top:0;

left:-100%;

width:100%;

height:100%;

background:linear-gradient(90deg,
transparent,
rgba(255,255,255,.7),
transparent);

transition:.8s;

}

.feature-card:hover::before{

left:100%;

}

.feature-card:hover{

transform:translateY(-12px);

box-shadow:0 25px 55px rgba(37,99,235,.18);

}

.feature-card i{

width:80px;

height:80px;

margin:auto;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:linear-gradient(135deg,#2563eb,#60a5fa);

color:#fff;

font-size:34px;

margin-bottom:22px;

}

.feature-card h3{

font-size:22px;

margin-bottom:10px;

color:#0f172a;

}

.feature-card p{

font-size:15px;

line-height:28px;

color:#64748b;

}

.premium-card{

background:linear-gradient(135deg,#2563eb,#1d4ed8);

color:#fff;

}

.premium-card h3,
.premium-card p{

color:#fff;

}

.premium-card i{

background:#fff;

color:#2563eb;

}

.badge{

position:absolute;

top:18px;

right:18px;

background:#fff;

color:#2563eb;

padding:6px 12px;

font-size:12px;

font-weight:700;

border-radius:30px;

box-shadow:0 10px 20px rgba(0,0,0,.1);

}

@media(max-width:768px){

.feature-grid{

grid-template-columns:1fr;

}

}