/* Core Styling */
:root {
    --primary: #00d4ff;
    --secondary: #f72585;
    --bg-dark: #05070a;
    --glass: rgba(255, 255, 255, 0.05);
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', sans-serif; }
body { background: var(--bg-dark); color: white; overflow-x: hidden; line-height: 1.7; }

/* Navigation */
.glass-nav {
    position: fixed;
    top: 0; width: 100%;
    padding: 20px 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(5, 7, 10, 0.8);
    backdrop-filter: blur(10px);
    z-index: 1000;
    border-bottom: 1px solid var(--glass);
}
.logo { font-size: 1.5rem; font-weight: bold; }
.logo span { color: var(--primary); }
.nav-links a { color: #888; text-decoration: none; margin-left: 25px; font-weight: 500; transition: 0.3s; }
.nav-links a.active, .nav-links a:hover { color: var(--primary); }

/* Hero / Headers */
.hero-center { height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; background: radial-gradient(circle at center, #111d35 0%, #05070a 100%); }
.hero-content h1 { font-size: 4rem; margin: 20px 0; background: linear-gradient(to right, #fff, var(--primary)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.badge { background: var(--secondary); padding: 5px 15px; border-radius: 20px; font-size: 0.8rem; font-weight: bold; }

/* Module Cards */
.module-grid { display: flex; gap: 30px; margin-top: 50px; }
.module-card { background: var(--glass); padding: 30px; border-radius: 20px; width: 300px; text-decoration: none; color: white; border: 1px solid var(--glass); transition: 0.4s; }
.module-card:hover { transform: translateY(-10px); background: rgba(255, 255, 255, 0.1); border-color: var(--primary); }

/* Section Layouts */
.info-section { padding: 100px 0; }
.dark-alt { background: #080a12; }
.container { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 60px; }
.reverse { flex-direction: row-reverse; }
.text-side { flex: 1.2; }
.visual-side { flex: 1; }

/* Photo / Visual Blocks */
.photo-box { background: #111; height: 350px; width: 100%; border-radius: 20px; position: relative; display: flex; justify-content: center; align-items: center; overflow: hidden; border: 1px solid #333; }
.big-earth { font-size: 150px; z-index: 2; }
.axis-line { position: absolute; width: 4px; height: 400px; background: var(--secondary); transform: rotate(23.5deg); opacity: 0.5; }

.day-night-photo { height: 300px; display: flex; align-items: center; justify-content: center; position: relative; }
.sun-source { width: 100px; height: 100px; background: #ffcc00; border-radius: 50%; filter: blur(40px); position: absolute; left: -50px; }
.earth-split { width: 200px; height: 200px; border-radius: 50%; background: linear-gradient(90deg, #555 50%, #111 50%); display: flex; font-size: 0.7rem; font-weight: bold; overflow: hidden; }
.day-side, .night-side { flex: 1; display: flex; align-items: center; justify-content: center; }

/* Orbit Animation */
.orbit-visual { position: relative; height: 300px; width: 300px; display: flex; justify-content: center; align-items: center; }
.orbit-path { position: absolute; width: 280px; height: 280px; border: 1px solid #333; border-radius: 50%; animation: rot 20s linear infinite; }
.planet-move { position: absolute; top: -15px; left: 50%; font-size: 30px; }

@keyframes rot { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.spin-anim { animation: spin 10s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.big-link { display: inline-block; padding: 20px 40px; background: var(--primary); color: black; text-decoration: none; font-weight: bold; border-radius: 10px; margin-top: 50px; transition: 0.3s; }
.big-link:hover { transform: scale(1.05); box-shadow: 0 0 30px var(--primary); }