:root{

--bg-primary:#0f172a;
--bg-secondary:#1e293b;
--border:#334155;

--text-primary:#ffffff;
--text-secondary:#94a3b8;

--accent:#2563eb;

--font-system:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;

--text-sm:14px;
--text-md:16px;
--text-lg:18px;
--text-xl:36px;
--text-hero:64px;

--space-1:8px;
--space-2:12px;
--space-3:16px;
--space-4:24px;
--space-5:40px;
--space-6:60px;

--radius-md:12px;
--radius-lg:16px;

--container-width:1200px;
}

/* ================= BASE ================= */

body{
margin:0;
background:var(--bg-primary);
color:var(--text-primary);
font-family:var(--font-system);
line-height:1.6;
padding-top:60px;
}

/* ================= TYPOGRAPHY ================= */

h1{
font-weight:700;
letter-spacing:-0.02em;
}

.section-title{
font-size:22px;
font-weight:600;
letter-spacing:-0.01em;
color:var(--text-secondary);
margin-bottom:var(--space-4);
}

/* ================= LAYOUT ================= */

.container{
max-width:var(--container-width);
margin:auto;
padding:0 var(--space-4);
}

.section{
padding:100px 0;
border-top:1px solid rgba(255,255,255,0.03);
}

.section:nth-child(even){
background:rgba(255,255,255,0.01);
}

/* ================= GRID ================= */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:24px;
}

/* ================= CARD ================= */

.card{
background:var(--bg-secondary);
border:1px solid var(--border);
padding:26px;
border-radius:var(--radius-lg);
text-decoration:none;
color:white;
transition:.25s;
}

.card:hover{
transform:translateY(-6px);
background:#334155;
}

.card-title{
font-size:18px;
font-weight:700;
margin-bottom:6px;
}

.card-desc{
font-size:14px;
color:var(--text-secondary);
line-height:1.6;
}

/* ================= HERO ================= */

.hero{
text-align:center;
padding:180px 20px 100px;
margin-bottom:60px;
}

.hero h1{
font-size:var(--text-hero);
margin-bottom:12px;
}

.hero p{
font-size:18px;
max-width:720px;
margin:0 auto;
color:var(--text-secondary);
}

/* ================= LOGO ================= */

.logo{
width:140px;
display:block;
margin:auto;
margin-bottom:20px;
filter:drop-shadow(0 10px 25px rgba(0,0,0,.6));
}

/* ================= NAV ================= */

.nav{
position:fixed;
top:0;
left:0;
width:100%;
background:#020617;
border-bottom:1px solid #1e293b;
z-index:1000;
}

.nav-inner{
max-width:1200px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
padding:12px 16px;
}

.nav-left{
display:flex;
align-items:center;
gap:10px;
}

.nav-logo{
width:26px;
}

.nav-brand{
font-size:14px;
font-weight:600;
}

.nav-links{
display:flex;
gap:18px;
align-items:center;
}

.nav-links a{
text-decoration:none;
color:#94a3b8;
font-size:13px;
transition:color .2s;
}

.nav-links a:hover{
color:white;
}

/* ================= FOOTER ================= */

.footer{
padding:80px 20px;
background:#020617;
border-top:1px solid rgba(255,255,255,0.05);
}

.footer-container{
max-width:1200px;
margin:auto;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
text-align:left;
margin-bottom:40px;
}

.footer-col h4{
margin-bottom:10px;
font-size:14px;
color:white;
}

.footer-col a{
display:block;
color:#94a3b8;
text-decoration:none;
margin-bottom:6px;
font-size:13px;
}

.footer-col a:hover{
color:white;
}

.footer-bottom{
text-align:center;
margin-top:20px;
color:#64748b;
}

/* ================= ECOSYSTEM ================= */

.eco-section{
background:rgba(255,255,255,0.02);
border-top:1px solid rgba(255,255,255,0.05);
border-bottom:1px solid rgba(255,255,255,0.05);
padding:100px 0;
}

.eco-title{
font-size:28px;
margin-bottom:10px;
}

.eco-sub{
color:#94a3b8;
max-width:700px;
margin-bottom:30px;
}

.eco-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:20px;
}

.eco-card{
background:#1e293b;
border:1px solid #334155;
padding:24px;
border-radius:14px;
text-decoration:none;
color:white;
transition:.25s;
}

.eco-card:hover{
transform:translateY(-5px);
background:#334155;
}

/* ================= MOBILE ================= */

@media (max-width:768px){

.nav-inner{
flex-direction:column;
align-items:center;
gap:10px;
}

.nav-links{
flex-wrap:wrap;
justify-content:center;
gap:12px;
}

.hero{
padding:100px 16px 50px;
}

.hero h1{
font-size:34px;
line-height:1.25;
}

.hero p{
font-size:14px;
}

.logo{
width:110px;
}

.section{
padding:60px 0;
}

.grid{
gap:16px;
}

}
