/* =========================
GLOBAL CSS
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

body{
font-family:'Inter',sans-serif;
background:#07111f;
color:#ffffff;
line-height:1.7;
overflow-x:hidden;
}

.container{
width:90%;
max-width:1280px;
margin:auto;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
}

ul{
list-style:none;
}

/* =========================
ROOT COLORS
========================= */

:root{

--primary:#00b4ff;
--secondary:#0f172a;
--dark:#07111f;
--card:#101c2f;
--light:#d1d5db;
--white:#ffffff;
--border:rgba(255,255,255,0.08);

}

/* =========================
BUTTONS
========================= */

.btn-primary{
display:inline-block;
padding:14px 28px;
background:linear-gradient(90deg,#00b4ff,#0066ff);
color:#fff;
border-radius:10px;
font-weight:600;
transition:0.3s;
border:none;
cursor:pointer;
}

.btn-primary:hover{
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,180,255,0.25);
}

.btn-secondary{
display:inline-block;
padding:14px 28px;
border:1px solid var(--primary);
color:var(--primary);
border-radius:10px;
font-weight:600;
transition:0.3s;
}

.btn-secondary:hover{
background:var(--primary);
color:#fff;
}

.btn-outline{
padding:12px 24px;
border:1px solid rgba(255,255,255,0.15);
color:#fff;
border-radius:10px;
transition:0.3s;
}

.btn-outline:hover{
background:#fff;
color:#000;
}

/* =========================
HEADER
========================= */

.header{
width:100%;
position:sticky;
top:0;
z-index:1000;
background:rgba(7,17,31,0.95);
backdrop-filter:blur(10px);
border-bottom:1px solid var(--border);
}

.nav-container{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 0;
}

.logo img{
height:60px;
}

.navbar .nav-links{
display:flex;
gap:30px;
align-items:center;
}

.nav-links li a{
color:#fff;
font-weight:500;
transition:0.3s;
position:relative;
}

.nav-links li a:hover,
.nav-links li a.active{
color:var(--primary);
}

.nav-links li a::after{
content:'';
position:absolute;
left:0;
bottom:-6px;
width:0%;
height:2px;
background:var(--primary);
transition:0.3s;
}

.nav-links li a:hover::after{
width:100%;
}

.nav-buttons{
display:flex;
gap:15px;
align-items:center;
}

/* =========================
HERO SECTION
========================= */

.hero-section,
.page-hero{
padding:120px 0;
position:relative;
overflow:hidden;
}

.hero-section::before,
.page-hero::before{
content:'';
position:absolute;
width:600px;
height:600px;
background:rgba(0,180,255,0.08);
border-radius:50%;
top:-200px;
right:-150px;
filter:blur(100px);
}

.hero-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.hero-tag,
.page-hero-content span,
.section-title span{
display:inline-block;
padding:8px 18px;
background:rgba(0,180,255,0.12);
color:var(--primary);
border-radius:50px;
font-size:14px;
margin-bottom:20px;
font-weight:600;
}

.hero-content h1,
.page-hero-content h1{
font-size:64px;
line-height:1.1;
margin-bottom:25px;
font-weight:800;
}

.hero-content h1 span{
color:var(--primary);
}

.hero-content p,
.page-hero-content p{
font-size:18px;
color:var(--light);
margin-bottom:35px;
max-width:650px;
}

.hero-buttons{
display:flex;
gap:20px;
margin-bottom:40px;
}

.hero-stats{
display:flex;
gap:20px;
flex-wrap:wrap;
}

.stat-box{
background:var(--card);
padding:25px;
border-radius:16px;
min-width:160px;
border:1px solid var(--border);
}

.stat-box h3{
font-size:28px;
color:var(--primary);
margin-bottom:8px;
}

/* =========================
SECTION TITLE
========================= */

.section-title{
text-align:center;
margin-bottom:70px;
}

.section-title h2{
font-size:48px;
margin-bottom:20px;
}

.section-title p{
color:var(--light);
max-width:700px;
margin:auto;
}

/* =========================
SERVICES / CARDS
========================= */

.services-section,
.services-page,
.solutions-section,
.industries-section,
.blog-section,
.benefits-section,
.jobs-section,
.policy-section,
.contact-section{
padding:100px 0;
}

.services-grid,
.solutions-grid,
.industries-grid,
.blog-grid,
.benefits-grid,
.jobs-grid,
.process-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.service-card,
.solution-card,
.industry-card,
.blog-card,
.benefit-card,
.job-card,
.process-card,
.mission-card,
.why-card,
.team-card,
.faq-card{
background:var(--card);
padding:35px;
border-radius:22px;
border:1px solid var(--border);
transition:0.4s;
position:relative;
overflow:hidden;
}

.service-card:hover,
.solution-card:hover,
.industry-card:hover,
.blog-card:hover,
.benefit-card:hover,
.job-card:hover,
.process-card:hover{
transform:translateY(-10px);
border-color:rgba(0,180,255,0.4);
}

.service-icon,
.solution-icon,
.industry-icon{
font-size:42px;
margin-bottom:20px;
}

.service-card h3,
.solution-card h3,
.industry-card h3,
.blog-card h3,
.benefit-card h3,
.job-card h3{
font-size:24px;
margin-bottom:15px;
}

.service-card p,
.solution-card p,
.industry-card p,
.blog-card p,
.benefit-card p,
.job-card p{
color:var(--light);
margin-bottom:20px;
}

/* =========================
ABOUT SECTION
========================= */

.about-section,
.platform-section,
.featured-section{
padding:100px 0;
}

.about-grid,
.platform-grid,
.featured-grid,
.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.about-image img,
.platform-image img,
.featured-image img{
border-radius:24px;
}

.about-content h2,
.platform-content h2,
.featured-content h2{
font-size:48px;
margin-bottom:25px;
}

.about-content p,
.platform-content p,
.featured-content p{
color:var(--light);
margin-bottom:20px;
}

.about-content ul li,
.platform-content ul li{
margin-bottom:15px;
color:#fff;
}

/* =========================
CONTACT
========================= */

.contact-form-box{
background:var(--card);
padding:40px;
border-radius:24px;
border:1px solid var(--border);
}

.form-group{
margin-bottom:20px;
}

.form-group input,
.form-group textarea{
width:100%;
padding:16px;
border:none;
border-radius:12px;
background:#0f1b2d;
color:#fff;
font-size:16px;
outline:none;
border:1px solid transparent;
}

.form-group input:focus,
.form-group textarea:focus{
border-color:var(--primary);
}

.form-btn{
width:100%;
}

/* =========================
FOOTER
========================= */

.footer{
padding-top:100px;
background:#040b14;
border-top:1px solid var(--border);
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr;
gap:40px;
padding-bottom:50px;
}

.footer-brand img{
height:60px;
margin-bottom:25px;
}

.footer-brand p,
.footer-contact p{
color:var(--light);
}

.footer-links h4,
.footer-contact h4{
margin-bottom:20px;
font-size:20px;
}

.footer-links ul li{
margin-bottom:12px;
}

.footer-links ul li a{
color:var(--light);
transition:0.3s;
}

.footer-links ul li a:hover{
color:var(--primary);
}

.footer-bottom{
padding:25px 0;
border-top:1px solid var(--border);
text-align:center;
color:var(--light);
font-size:14px;
}

/* =========================
CTA SECTION
========================= */

.cta-section{
padding:120px 0;
text-align:center;
background:linear-gradient(90deg,#001f3f,#003566);
position:relative;
overflow:hidden;
}

.cta-section::before{
content:'';
position:absolute;
width:500px;
height:500px;
background:rgba(255,255,255,0.05);
border-radius:50%;
top:-200px;
left:-150px;
filter:blur(100px);
}

.cta-container{
position:relative;
z-index:2;
}

.cta-container h2{
font-size:52px;
margin-bottom:20px;
}

.cta-container p{
font-size:18px;
color:#d1d5db;
margin-bottom:35px;
}

/* =========================
BLOG
========================= */

.blog-image img{
border-radius:18px;
margin-bottom:25px;
}

.blog-btn{
color:var(--primary);
font-weight:600;
}

/* =========================
POLICY PAGES
========================= */

.policy-container{
max-width:950px;
}

.policy-content h2{
margin-top:40px;
margin-bottom:18px;
font-size:30px;
}

.policy-content p,
.policy-content li{
color:var(--light);
margin-bottom:15px;
}

.policy-content ul{
padding-left:20px;
list-style:disc;
}

.policy-update{
margin-top:50px;
padding-top:20px;
border-top:1px solid var(--border);
}

/* =========================
MAP
========================= */

.map-section iframe{
width:100%;
height:500px;
border:none;
filter:grayscale(1);
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:1024px){

.hero-grid,
.about-grid,
.platform-grid,
.featured-grid,
.contact-grid,
.footer-grid{
grid-template-columns:1fr;
}

.services-grid,
.solutions-grid,
.industries-grid,
.blog-grid,
.benefits-grid,
.jobs-grid,
.process-grid{
grid-template-columns:1fr 1fr;
}

.hero-content h1,
.page-hero-content h1{
font-size:52px;
}

.section-title h2,
.about-content h2,
.platform-content h2,
.featured-content h2{
font-size:40px;
}

}

@media(max-width:768px){

.navbar{
display:none;
}

.hero-content h1,
.page-hero-content h1{
font-size:42px;
}

.services-grid,
.solutions-grid,
.industries-grid,
.blog-grid,
.benefits-grid,
.jobs-grid,
.process-grid{
grid-template-columns:1fr;
}

.hero-buttons{
flex-direction:column;
}

.cta-container h2{
font-size:40px;
}

.section-title h2{
font-size:36px;
}

}