/* ================= BASE ================= */
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
}

body{
background:
radial-gradient(circle at top,#0b1b3a 0%,transparent 45%),
radial-gradient(circle at bottom,#050816 0%,transparent 45%),
#020617;
color:white;
}

/* ================= NAV ================= */
nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:22px 60px;
}

.logo{
font-size:22px;
font-weight:800;
color:#38bdf8;
letter-spacing:0.5px;
}

nav a{
color:#cbd5e1;
text-decoration:none;
margin-left:18px;
font-size:14px;
}

nav a:hover{
color:white;
}

/* ================= HERO ================= */
.hero{
text-align:center;
padding:110px 20px 80px;
}

.hero h1{
font-size:3.6rem;
font-weight:800;
line-height:1.1;
}

.hero p{
max-width:800px;
margin:18px auto;
color:#94a3b8;
font-size:17px;
line-height:1.6;
}

.cta{
margin-top:30px;
display:flex;
justify-content:center;
gap:15px;
flex-wrap:wrap;
}

.btn{
padding:14px 20px;
border-radius:14px;
background:linear-gradient(135deg,#38bdf8,#2563eb);
color:white;
text-decoration:none;
font-weight:600;
border:none;
cursor:pointer;
transition:.3s;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 0 25px rgba(56,189,248,.35);
}

/* ================= SECTION ================= */
.section{
padding:80px 60px;
}

.title{
text-align:center;
font-size:2.3rem;
margin-bottom:40px;
}

/* ================= GRID ================= */
.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:20px;
}

.card{
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,255,255,0.08);
padding:25px;
border-radius:18px;
transition:.3s;
}

.card:hover{
transform:translateY(-6px);
border-color:#38bdf8;
box-shadow:0 0 25px rgba(56,189,248,.15);
}

.card h3{
margin-bottom:10px;
font-size:18px;
}

.card p{
color:#cbd5e1;
font-size:14px;
line-height:1.5;
}

/* ================= HIGHLIGHT TAG ================= */
.tag{
display:inline-block;
padding:5px 10px;
font-size:11px;
border-radius:999px;
background:rgba(56,189,248,.15);
color:#38bdf8;
margin-bottom:10px;
}

/* ================= INFO BANNER ================= */
.banner{
margin:40px auto;
max-width:900px;
padding:20px;
border-radius:16px;
background:rgba(56,189,248,0.08);
border:1px solid rgba(56,189,248,0.2);
text-align:center;
color:#cbd5e1;
}

/* ================= FOOTER ================= */
.footer-btn{
padding:10px 14px;
border-radius:12px;
background:rgba(56,189,248,0.12);
border:1px solid rgba(56,189,248,0.25);
color:#38bdf8;
text-decoration:none;
font-size:13px;
font-weight:600;
transition:.3s;
}

.footer-btn:hover{
transform:translateY(-3px);
background:rgba(56,189,248,0.2);
box-shadow:0 0 20px rgba(56,189,248,0.25);
color:white;
}

.footer-copy{
margin-top:18px;
font-size:13px;
color:#64748b;
letter-spacing:0.3px;
text-align:center;
opacity:0.9;
}


/* ======== sky ========*/
/* ================= AIRLINE MAP BACKGROUND ================= */

.air-map{
position:fixed;
inset:0;
z-index:-1;
overflow:hidden;
background:
radial-gradient(circle at center, rgba(56,189,248,0.08), transparent 60%),
#020617;
}

/* grid lines (world map feel) */
.map-grid{
position:absolute;
inset:0;
background-image:
linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
background-size:80px 80px;
opacity:0.15;
}

/* flight routes */
.route{
position:absolute;
height:2px;
background:linear-gradient(90deg, transparent, #38bdf8, transparent);
opacity:0.25;
filter:blur(0.5px);
}

/* Route animations */
.route1{
width:60%;
top:30%;
left:-20%;
transform:rotate(15deg);
animation:moveRoute 8s linear infinite;
}

.route2{
width:70%;
top:55%;
left:-30%;
transform:rotate(-10deg);
animation:moveRoute 10s linear infinite;
}

.route3{
width:50%;
top:75%;
left:-10%;
transform:rotate(5deg);
animation:moveRoute 12s linear infinite;
}

/* glowing aircraft dots */
.plane-dot{
position:absolute;
font-size:18px;
color:#38bdf8;
opacity:0.7;
text-shadow:0 0 12px #38bdf8;
animation:flyDot 6s linear infinite;
}

.dot1{ top:28%; left:10%; animation-delay:0s; }
.dot2{ top:52%; left:20%; animation-delay:2s; }
.dot3{ top:70%; left:5%; animation-delay:4s; }

/* animations */
@keyframes moveRoute{
0%{ transform:translateX(-40%) rotate(var(--rot, 10deg)); }
100%{ transform:translateX(40%) rotate(var(--rot, 10deg)); }
}

@keyframes flyDot{
0%{ transform:translateX(0) scale(0.8); opacity:0; }
20%{ opacity:1; }
50%{ transform:translateX(40vw) scale(1.1); }
100%{ transform:translateX(80vw) scale(0.8); opacity:0; }
}

/* ================= RESPONSIVE ================= */
@media(max-width:768px){
.hero h1{font-size:2.4rem;}
nav{padding:20px;}
.section{padding:60px 20px;}
}

/* ================= MADE BY SECTION ================= */

.made-by{
margin-top:80px;
}

.made-card{
display:grid;
grid-template-columns:2fr 1fr;
gap:30px;
padding:40px;
border-radius:24px;

background:rgba(255,255,255,0.04);
border:1px solid rgba(255,255,255,0.08);

backdrop-filter:blur(20px);
box-shadow:0 0 40px rgba(56,189,248,0.08);
}

.made-left h2{
font-size:1.8rem;
margin-bottom:10px;
}

.made-left p{
color:#cbd5e1;
line-height:1.6;
margin-bottom:20px;
}

.badge{
display:inline-block;
padding:6px 12px;
font-size:11px;
border-radius:999px;
background:rgba(56,189,248,0.15);
color:#38bdf8;
margin-bottom:10px;
font-weight:600;
letter-spacing:1px;
}

/* tags */
.tags{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.tags span{
font-size:12px;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,255,255,0.08);
color:#94a3b8;
}

/* dev card */
.dev-card{
background:rgba(15,23,42,0.6);
border:1px solid rgba(56,189,248,0.2);
border-radius:20px;
padding:25px;
text-align:center;
transition:.3s;
}

.dev-card:hover{
transform:translateY(-6px);
box-shadow:0 0 30px rgba(56,189,248,0.15);
}

.avatar{
width:60px;
height:60px;
margin:auto;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:24px;
background:rgba(56,189,248,0.15);
color:#38bdf8;
margin-bottom:10px;
}

.name{
font-weight:700;
font-size:18px;
color:white;
}

.role{
font-size:12px;
color:#94a3b8;
margin-bottom:15px;
}

.divider{
height:1px;
background:rgba(255,255,255,0.08);
margin:15px 0;
}

.small{
font-size:12px;
color:#94a3b8;
font-style:italic;
}

/* responsive */
@media(max-width:768px){
.made-card{
grid-template-columns:1fr;
}
}

/* ================= PRICING SECTION ================= */

.pricing{
margin-top:80px;
}

.pricing-header{
text-align:center;
margin-bottom:30px;
}

.pricing-header h2{
font-size:2rem;
}

.pricing-header p{
color:#94a3b8;
margin-top:5px;
}

.pricing-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:20px;
}

.price-card{
background:rgba(255,255,255,0.04);
border:1px solid rgba(255,255,255,0.08);
border-radius:20px;
padding:30px;
text-align:center;
transition:.3s;
position:relative;
}

.price-card:hover{
transform:translateY(-6px);
box-shadow:0 0 30px rgba(56,189,248,0.15);
border-color:#38bdf8;
}

.price-card h3{
margin-bottom:10px;
}

.price{
font-size:2.5rem;
font-weight:800;
color:#38bdf8;
margin-bottom:15px;
}

.price span{
font-size:14px;
color:#94a3b8;
}

.price-card ul{
list-style:none;
margin-bottom:20px;
}

.price-card ul li{
font-size:13px;
color:#cbd5e1;
margin:8px 0;
}

/* featured plan */
.featured{
border:1px solid #38bdf8;
box-shadow:0 0 40px rgba(56,189,248,0.15);
}

.best{
position:absolute;
top:-10px;
left:50%;
transform:translateX(-50%);
background:#38bdf8;
color:#020617;
font-size:11px;
padding:6px 10px;
border-radius:999px;
font-weight:700;
}