@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root {
  --navy: #0b0f1e;
  --navy-2: #141a2e;
  --accent: #7c5cff;
  --accent-2: #22d3ee;
  --text: #e2e8f0;
  --muted: #94a3b8;
  --bg: #0b0f1e;
  --card-bg: #141a2e;
  --border: rgba(255,255,255,0.08);
  --radius: 14px;
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:'Inter', sans-serif; line-height:1.6; }
h1,h2,h3 { font-family:'Sora', sans-serif; }
a { color:inherit; }
.wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
.wrap.narrow { max-width:760px; }

/* Header */
.site-header { position:sticky; top:0; z-index:50; background:rgba(11,15,30,0.85); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
.site-header .wrap { display:flex; align-items:center; justify-content:space-between; height:72px; }
.logo { font-family:'Sora',sans-serif; font-weight:800; font-size:20px; text-decoration:none; color:#fff; }
.site-nav { display:flex; gap:24px; align-items:center; }
.site-nav a { text-decoration:none; font-size:14px; color:var(--muted); font-weight:500; }
.site-nav a:hover { color:#fff; }
.btn-nav { background:var(--accent); color:#fff !important; padding:9px 18px; border-radius:8px; }

/* Hero */
.hero { padding:110px 0 90px; background: radial-gradient(ellipse at top, rgba(124,92,255,.25), transparent 60%); text-align:center; }
.hero h1 { font-size:52px; font-weight:800; max-width:820px; margin:0 auto 20px; background:linear-gradient(90deg,#fff,var(--accent-2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p { font-size:18px; color:var(--muted); max-width:560px; margin:0 auto 32px; }
.btn-primary { display:inline-block; background:linear-gradient(90deg,var(--accent),var(--accent-2)); color:#0b0f1e; font-weight:700; padding:14px 30px; border-radius:10px; text-decoration:none; }

/* Sections */
.section { padding:80px 0; }
.section.alt { background:var(--navy-2); }
.section h2 { font-size:32px; margin-bottom:36px; }

.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card { display:block; background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:26px; text-decoration:none; color:var(--text); transition:transform .2s, border-color .2s; }
.card:hover { transform:translateY(-4px); border-color:var(--accent); }
.card h3 { margin:0 0 10px; font-size:19px; }
.card p { color:var(--muted); font-size:14px; margin:0; }
.card-img { width:100%; border-radius:8px; margin-bottom:14px; aspect-ratio:16/9; object-fit:cover; }

.tag-pill { display:inline-block; background:rgba(124,92,255,.15); color:var(--accent-2); font-size:12px; font-weight:600; padding:4px 10px; border-radius:20px; margin-bottom:10px; }
.tag-pill.outline { background:transparent; border:1px solid var(--border); color:var(--muted); margin-right:6px; }
.muted { color:var(--muted); }
.small { font-size:12px; }

/* Blog post */
.blog-post h1 { font-size:36px; margin:14px 0; }
.post-meta { color:var(--muted); font-size:14px; }
.post-featured-img { width:100%; border-radius:var(--radius); margin:20px 0; }
.post-content { font-size:17px; }
.post-content h2 { margin-top:36px; }
.post-content img { max-width:100%; border-radius:8px; }
.post-content a { color:var(--accent-2); }
.post-tags { margin-top:30px; }

.pagination { display:flex; gap:8px; margin-top:40px; justify-content:center; }
.pagination a { padding:8px 14px; border:1px solid var(--border); border-radius:6px; text-decoration:none; color:var(--muted); }
.pagination a.active { background:var(--accent); color:#fff; border-color:var(--accent); }

/* Footer */
.site-footer { background:var(--navy-2); border-top:1px solid var(--border); padding:60px 0 20px; margin-top:60px; }
.site-footer .wrap:first-child { display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; }
.footer-col h4 { font-size:13px; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.footer-col a { display:block; text-decoration:none; color:var(--muted); font-size:14px; margin-bottom:8px; }
.copyright { margin-top:40px; padding-top:20px; border-top:1px solid var(--border); font-size:13px; color:var(--muted); }

/* Contact form */
.contact-form { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:30px; }
.contact-form label { display:block; margin:14px 0 5px; font-size:13px; font-weight:600; color:var(--muted); }
.contact-form input, .contact-form select, .contact-form textarea {
  width:100%; padding:10px; border-radius:8px; border:1px solid var(--border); background:var(--bg); color:var(--text); font-size:14px;
}
.contact-info { margin-top:24px; color:var(--muted); font-size:14px; }

/* Legal pages */
.legal-content h2 { margin-top:30px; }
.legal-content p { color:var(--muted); }

@media (max-width: 800px) {
  .grid-3 { grid-template-columns:1fr; }
  .site-nav { display:none; }
  .hero h1 { font-size:34px; }
}
