/* ===================== */
/* THEME VARIABLES */
/* ===================== */

:root{

--bg:#ffffff;
--text:#0f172a;
--nav:rgba(255,255,255,0.55);
--card:#f1f5f9;
--accent:#22c55e;
--muted:#64748b;

}

/* DARK MODE */

body.dark{

--bg:#0f172a;
--text:#ffffff;
--nav:rgba(2,6,23,0.65);
--card:#020617;
--muted:#cbd5f5;

}


/* ===================== */
/* GLOBAL */
/* ===================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
}

body{
background:var(--bg);
color:var(--text);
line-height:1.6;
transition:0.4s;
}

a{
text-decoration:none;
color:inherit;
}

section{
padding:60px 8%;
}


/* ===================== */
/* NAVBAR */
/* ===================== */

nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 8%;

background:var(--nav);

backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);

position:sticky;
top:0;
z-index:1000;

min-height:70px;

border-bottom:1px solid rgba(255,255,255,0.2);

transition:0.3s;
}

/* SCROLL SHADOW */

nav.scrolled{
box-shadow:0 6px 20px rgba(0,0,0,0.15);
}


/* ===================== */
/* LOGO */
/* ===================== */

.logo{
font-size:34px;
font-weight:800;
letter-spacing:1px;
}

.logo span{
color:var(--accent);
}


/* ===================== */
/* THEME BUTTON */
/* ===================== */

.theme-btn{
background:none;
border:1px solid var(--accent);
color:var(--accent);
padding:6px 12px;
border-radius:6px;
cursor:pointer;
margin-right:20px;
transition:0.2s;
}

.theme-btn:hover{
background:var(--accent);
color:#000;
}


/* ===================== */
/* MENU */
/* ===================== */

.menu-wrapper{
display:flex;
align-items:center;
gap:30px;
}

.menu-icon{
font-size:22px;
cursor:pointer;
display:none;
}

.menu{
list-style:none;
display:flex;
align-items:center;
gap:25px;
}

.menu a{
font-size:15px;
white-space:nowrap;
transition:0.2s;
}

.menu a:hover{
color:var(--accent);
}

.menu a.active{
color:var(--accent);
font-weight:600;
}


/* ===================== */
/* HERO */
/* ===================== */

.hero{
height:80vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;

background:linear-gradient(135deg,#f1f5f9,#e2e8f0);
}

body.dark .hero{
background:linear-gradient(135deg,#020617,#0f172a);
}

.hero h1{
font-size:48px;
margin-bottom:20px;
}

.hero span{
color:var(--accent);
}

.hero p{
color:var(--muted);
margin-bottom:30px;
max-width:600px;
margin-left:auto;
margin-right:auto;
}

.hero-btn{
display:inline-block;
padding:14px 30px;
background:var(--accent);
color:#000;
border-radius:8px;
font-weight:700;
transition:0.3s;
}

.hero-btn:hover{
transform:translateY(-2px);
}


/* ===================== */
/* PAGE HEADER */
/* ===================== */

.page-header{
text-align:center;
padding:80px 20px;
}

.page-header h1{
font-size:40px;
margin-bottom:10px;
}

.page-header p{
color:var(--muted);
}


/* ===================== */
/* SERVICE GRID */
/* ===================== */

.service-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-top:40px;
}


/* ===================== */
/* CARDS */
/* ===================== */

.card{
background:var(--card);
padding:30px;
border-radius:10px;
text-align:center;
transition:0.3s;
}

.card:hover{
transform:translateY(-5px);
box-shadow:0 10px 20px rgba(0,0,0,0.1);
}

.card i{
font-size:30px;
color:var(--accent);
margin-bottom:15px;
}

.card h3{
margin-bottom:10px;
}


/* ===================== */
/* SERVICE BUTTON */
/* ===================== */

.service-btn{
display:inline-block;
margin-top:15px;
padding:10px 20px;
background:var(--accent);
color:#000;
border-radius:6px;
font-weight:600;
transition:0.2s;
}

.service-btn:hover{
opacity:0.9;
}


/* ===================== */
/* COMING SOON */
/* ===================== */

.coming{
color:var(--accent);
font-weight:600;
margin-top:15px;
display:inline-block;
}


/* ===================== */
/* STEPS */
/* ===================== */

.steps{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
margin-top:40px;
text-align:center;
}

.step{
background:var(--card);
padding:25px;
border-radius:10px;
}

.step h3{
font-size:28px;
color:var(--accent);
margin-bottom:10px;
}


/* ===================== */
/* FORMS */
/* ===================== */

form{
max-width:500px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
background:var(--card);
padding:30px;
border-radius:10px;
}

input,
select,
textarea{
padding:12px;
border:none;
border-radius:6px;
outline:none;
background:#fff;
}


/* ===================== */
/* BUTTON */
/* ===================== */

button{
padding:14px;
background:var(--accent);
border:none;
border-radius:6px;
font-weight:700;
cursor:pointer;
}

button:hover{
opacity:0.9;
}


/* ===================== */
/* APPLY PAGE */
/* ===================== */

.apply-app{
text-align:center;
padding:100px 20px;
}

.app-buttons{
margin-top:40px;
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

.android-btn{
background:var(--accent);
color:#000;
padding:14px 28px;
border-radius:8px;
font-weight:700;
}

.ios-coming{
padding:14px 28px;
border:1px solid var(--accent);
border-radius:8px;
color:var(--accent);
}


/* ===================== */
/* LIST SECTIONS */
/* ===================== */

ul{
margin-top:20px;
line-height:2;
}


/* ===================== */
/* FOOTER */
/* ===================== */

footer{
text-align:center;
padding:40px;
background:var(--nav);
margin-top:60px;
font-size:14px;
}


/* ===================== */
/* CAREER PAGE */
/* ===================== */

.openings{
max-width:900px;
margin:auto;
margin-top:40px;
}

.job-grid{
display:flex;
flex-direction:column;
gap:40px;
margin-top:30px;
}

.job-card{
background:var(--card);
padding:35px;
border-radius:12px;
line-height:1.8;
width:100%;
}

.job-card h3{
font-size:24px;
margin-bottom:10px;
color:var(--accent);
}


/* APPLY BUTTON */

.apply-btn{
display:inline-block;
margin-top:20px;
padding:12px 30px;
background:var(--accent);
color:#000;
font-weight:600;
border-radius:8px;
border:2px solid var(--accent);
transition:0.3s;
}

.apply-btn:hover{
background:transparent;
color:var(--accent);
}


/* ===================== */
/* MOBILE */
/* ===================== */

@media(max-width:768px){

.hero h1{
font-size:34px;
}

.menu{
flex-direction:column;
background:var(--nav);
padding:20px;
border-radius:10px;
position:absolute;
top:70px;
right:20px;
display:none;
}

.menu.active{
display:flex;
}

.menu li{
padding:8px 0;
}

.menu-icon{
display:block;
}

}