/* Reset & Base */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.6; color: #333; background-color: #f9f9f9; }
a { text-decoration: none; color: inherit; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
section { padding: 60px 0; scroll-margin-top: 70px; }
h1, h2, h3 { color: #111; margin-bottom: 20px; }
h2 { text-align: center; font-size: 2rem; margin-bottom: 40px; }

/* Navbar */
.navbar { background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.05); position: sticky; top: 0; z-index: 100; }
.nav-container { display: flex; justify-content: space-between; align-items: center; height: 70px; }
.logo { font-size: 1.5rem; font-weight: bold; color: #007bff; }
.nav-links { display: none; list-style: none; gap: 20px; }
.nav-links a { color: #555; font-weight: 500; transition: color 0.3s; }
.nav-links a:hover { color: #007bff; }
.btn-nav { padding: 8px 16px; background: #007bff; color: #fff; border-radius: 4px; font-weight: bold; transition: background 0.3s; }
.btn-nav:hover { background: #0056b3; }

/* Buttons */
.btn { display: inline-block; padding: 12px 24px; background: #007bff; color: #fff; border-radius: 4px; font-weight: bold; text-align: center; transition: background 0.3s; }
.btn:hover { background: #0056b3; color: #fff; }

/* Hero */
.hero { text-align: center; padding: 60px 0; background: #fff; border-bottom: 1px solid #eee; overflow: hidden; }
.hero-container { display: flex; flex-direction: column; align-items: center; gap: 40px; }
.hero-content { flex: 1; }
.hero-content h1 { font-size: 2.5rem; margin-bottom: 20px; line-height: 1.2; }
.hero-content p { font-size: 1.2rem; color: #666; margin-bottom: 30px; }
.hero-graphic { flex: 1; display: flex; justify-content: center; align-items: center; position: relative; height: 300px; width: 100%; }

/* Animated Element (CSS Only) */
.animated-globe { position: relative; width: 220px; height: 220px; }
.core { position: absolute; top: 50%; left: 50%; width: 60px; height: 60px; background: linear-gradient(135deg, #007bff, #00c8ff); border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 20px rgba(0,123,255,0.6); animation: pulse 2s ease-in-out infinite alternate; }
.ring { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 3px solid transparent; border-radius: 50%; }
.ring1 { animation: spin1 4s linear infinite; border-top-color: rgba(0,123,255,0.8); border-bottom-color: rgba(0,123,255,0.2); }
.ring2 { animation: spin2 5s linear infinite; border-left-color: rgba(0,200,255,0.8); border-right-color: rgba(0,200,255,0.2); width: 85%; height: 85%; top: 7.5%; left: 7.5%; }
.ring3 { animation: spin3 6s linear infinite; border-top-color: rgba(0,100,255,0.8); border-bottom-color: rgba(0,100,255,0.2); width: 70%; height: 70%; top: 15%; left: 15%; }
@keyframes spin1 { 0% { transform: rotateX(60deg) rotateY(0deg) rotateZ(0deg); } 100% { transform: rotateX(60deg) rotateY(360deg) rotateZ(360deg); } }
@keyframes spin2 { 0% { transform: rotateX(45deg) rotateY(45deg) rotateZ(0deg); } 100% { transform: rotateX(45deg) rotateY(45deg) rotateZ(360deg); } }
@keyframes spin3 { 0% { transform: rotateX(75deg) rotateY(15deg) rotateZ(0deg); } 100% { transform: rotateX(75deg) rotateY(15deg) rotateZ(-360deg); } }
@keyframes pulse { 0% { transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 15px rgba(0,123,255,0.4); } 100% { transform: translate(-50%, -50%) scale(1.1); box-shadow: 0 0 30px rgba(0,123,255,0.8); } }

/* Features */
.features { background: #f9f9f9; }
.feature-grid { display: grid; grid-template-columns: 1fr; gap: 30px; }
.feature-card { background: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); text-align: center; }
.feature-card h3 { margin-top: 15px; }

/* Streaming & AI */
.stream-ai { background: #fff; }
.stream-ai-grid { display: grid; grid-template-columns: 1fr; gap: 30px; }
.stream-ai-card { background: #f4f7f6; padding: 30px; border-radius: 8px; text-align: center; }

/* Pricing */
.pricing { background: #f9f9f9; }
.pricing-grid { display: grid; grid-template-columns: 1fr; gap: 30px; }
.pricing-card { background: #fff; padding: 40px 30px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); text-align: center; transition: transform 0.3s; }
.pricing-card:hover { transform: translateY(-5px); }
.pricing-card.popular { border: 2px solid #007bff; position: relative; }
.pricing-card .price { font-size: 2.5rem; font-weight: bold; color: #007bff; margin: 20px 0; }
.pricing-card ul { list-style: none; text-align: left; margin-bottom: 30px; }
.pricing-card ul li { padding: 10px 0; border-bottom: 1px solid #eee; }

/* FAQ */
.faq { background: #fff; }
.faq-item { margin-bottom: 20px; background: #f9f9f9; padding: 20px; border-radius: 8px; }
.faq-item h4 { font-size: 1.1rem; margin-bottom: 10px; }
.faq-item p { color: #666; }

/* Reviews */
.reviews { background: #f9f9f9; }
.review-grid { display: grid; grid-template-columns: 1fr; gap: 30px; }
.review-card { background: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); font-style: italic; }
.review-author { margin-top: 15px; font-weight: bold; font-style: normal; text-align: right; }

/* Footer */
footer { background: #222; color: #fff; padding: 40px 0; text-align: center; }
.footer-links { display: flex; flex-direction: column; gap: 15px; margin-bottom: 20px; }
.footer-links a { color: #aaa; transition: color 0.3s; }
.footer-links a:hover { color: #fff; }

/* Desktop Media Queries */
@media (min-width: 768px) {
    .nav-links { display: flex; }
    .feature-grid, .stream-ai-grid, .pricing-grid, .review-grid { grid-template-columns: repeat(3, 1fr); }
    .footer-links { flex-direction: row; justify-content: center; gap: 30px; }
    .hero-container { flex-direction: row; text-align: left; padding: 40px 0; }
    .hero h1 { font-size: 3.5rem; }
    .stream-ai-grid { grid-template-columns: repeat(2, 1fr); }
    .animated-globe { width: 300px; height: 300px; }
    .core { width: 80px; height: 80px; }
}

/* Page specific content (About, Terms, etc) */
.page-content { background: #fff; padding: 40px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); margin-top: 40px; min-height: 60vh; }
.page-content h2 { text-align: left; border-bottom: 2px solid #eee; padding-bottom: 10px; }
.page-content h3 { margin-top: 30px; }
