:root{
--primary:#0d3b66;
--accent:#f4a261;
--light:#f8f9fc;
--text:#333;
--shadow:0 10px 30px rgba(0,0,0,0.08);
}

body{
margin:0;
font-family:'Segoe UI', sans-serif;
color:var(--text);
background:white;
scroll-behavior:smooth;
}
header{
position:fixed;
top:0;
width:100%;
z-index:1000;
background:rgba(13,59,102,0.85);
backdrop-filter:blur(10px);
}

.nav-container{
display:flex;
justify-content:space-between;
align-items:center;
max-width:1200px;
margin:auto;
padding:15px 20px;
color:white;
}

nav a{
color:white;
margin:0 12px;
text-decoration:none;
font-weight:500;
transition:0.3s;
}

nav a:hover{
color:var(--accent);
}
.hero{
height:100vh;
position:relative;
overflow:hidden;
}

.hero::after{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(to right, rgba(13,59,102,0.8), rgba(0,0,0,0.3));
}

.hero-overlay{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
color:white;
text-align:left;
max-width:600px;
z-index:2;
}

.hero-overlay h1{
font-size:52px;
margin-bottom:10px;
}

.hero-overlay p{
font-size:20px;
opacity:0.9;
}
.btn{
display:inline-block;
background:var(--accent);
color:white;
padding:12px 28px;
border-radius:30px;
text-decoration:none;
margin-top:20px;
transition:0.3s;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:var(--shadow);
}
.section-light{
background:white;
padding:130px 0;
}

.section-gray{
background:var(--light);
padding:130px 0;
}

.container{
max-width:1200px;
margin:auto;
padding:0 20px;
}

h2{
font-size:36px;
margin-bottom:20px;
color:var(--primary);
}
.card, .service-card, .team-card{
background:white;
padding:30px;
border-radius:12px;
box-shadow:var(--shadow);
transition:0.3s;
}

.card:hover, .service-card:hover, .team-card:hover{
transform:translateY(-10px);
box-shadow:0 20px 40px rgba(0,0,0,0.12);
}
.grid, .services-grid, .team-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
margin-top:40px;
}
.reveal{
opacity:0;
transform:translateY(50px);
transition:all 0.8s ease;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}
.contact-card{
padding:30px;
border-radius:12px;
background:white;
box-shadow:var(--shadow);
transition:0.3s;
}

.contact-card:hover{
transform:translateY(-8px);
}
footer{
background:#0d3b66;
color:white;
padding:40px 0;
text-align:center;
margin-top:50px;
}