@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  --background: #f5f5f7;
  --foreground: #161926;
  --card: #ffffff;
  --card-foreground: #161926;
  --primary: #7c3aed;
  --primary-foreground: #ffffff;
  --secondary: #0d9488;
  --secondary-foreground: #ffffff;
  --muted: #e8e8ed;
  --muted-foreground: #6b7082;
  --accent: #e8940d;
  --accent-foreground: #ffffff;
  --border: #dde0e8;
  --ring: #7c3aed;
  --radius: 0.75rem;
  --hero-gradient: linear-gradient(135deg, #7c3aed, #d946ef, #0d9488);
  --card-glow: 0 8px 32px -8px rgba(124,58,237,0.15);
  --neon-glow: 0 0 20px rgba(124,58,237,0.3), 0 0 60px rgba(124,58,237,0.1);
}

* { margin:0; padding:0; box-sizing:border-box; border-color: var(--border); }
body { font-family:'Space Grotesk',sans-serif; background:var(--background); color:var(--foreground); line-height:1.6; }
h1,h2,h3,h4,h5,h6 { font-family:'Outfit',sans-serif; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }

.container { max-width:1400px; margin:0 auto; padding:0 2rem; }

/* Header */
.header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.8); backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,0.3); }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:1rem 0; }
.logo { display:flex; align-items:center; gap:0.5rem; font-family:'Outfit',sans-serif; font-weight:700; font-size:1.25rem; }
.logo-icon { width:40px; height:40px; border-radius:0.5rem; background:var(--hero-gradient); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.2rem; }
nav { display:flex; gap:1.5rem; }
nav a { font-size:0.875rem; font-weight:500; color:var(--muted-foreground); transition:color 0.2s; }
nav a:hover { color:var(--foreground); }

/* Hero */
.hero { background:var(--hero-gradient); padding:5rem 0; text-align:center; color:#fff; }
.hero-badge { display:inline-flex; align-items:center; gap:0.5rem; padding:0.5rem 1rem; border-radius:9999px; background:rgba(255,255,255,0.2); font-size:0.875rem; margin-bottom:1.5rem; }
.hero h1 { font-size:clamp(2.5rem,6vw,4.5rem); font-weight:900; line-height:1.1; margin-bottom:1.5rem; }
.hero p { font-size:1.125rem; opacity:0.85; max-width:40rem; margin:0 auto 2rem; }
.hero-buttons { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:0.5rem; padding:0.75rem 1.5rem; border-radius:0.5rem; font-family:'Outfit',sans-serif; font-weight:600; font-size:0.95rem; transition:all 0.2s; border:none; cursor:pointer; }
.btn-white { background:var(--background); color:var(--foreground); }
.btn-white:hover { opacity:0.9; }
.btn-outline { background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.3); }
.btn-outline:hover { background:rgba(255,255,255,0.1); }
.btn-primary { background:var(--primary); color:var(--primary-foreground); }
.btn-primary:hover { opacity:0.9; }

/* Featured */
.featured { margin-top:-3rem; }
.featured-card { background:var(--card); border-radius:1rem; overflow:hidden; box-shadow:var(--card-glow); display:flex; flex-direction:column; }
@media(min-width:768px) { .featured-card { flex-direction:row; } }
.featured-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
@media(min-width:768px) { .featured-card img { width:50%; aspect-ratio:auto; } }
.featured-content { padding:1.5rem; display:flex; flex-direction:column; justify-content:center; }
@media(min-width:768px) { .featured-content { padding:2.5rem; width:50%; } }
.badge { display:inline-block; align-self:flex-start; padding:0.25rem 0.75rem; border-radius:9999px; font-size:0.75rem; font-weight:700; margin-bottom:1rem; }
.badge-accent { background:var(--accent); color:var(--accent-foreground); }
.badge-primary { background:rgba(124,58,237,0.1); color:var(--primary); }
.featured-content h2 { font-size:1.75rem; font-weight:700; margin-bottom:0.75rem; }
.featured-content p { color:var(--muted-foreground); margin-bottom:1rem; }
.meta { font-size:0.875rem; color:var(--muted-foreground); }

/* Posts Grid */
.section { padding:4rem 0; }
.section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:2rem; flex-wrap:wrap; gap:1rem; }
.section-header h2 { font-size:1.5rem; font-weight:700; }
.filters { display:flex; flex-wrap:wrap; gap:0.5rem; }
.filter-btn { padding:0.375rem 1rem; border-radius:9999px; font-size:0.875rem; font-weight:500; border:none; cursor:pointer; transition:all 0.2s; background:var(--muted); color:var(--muted-foreground); }
.filter-btn.active { background:var(--primary); color:var(--primary-foreground); }
.grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:768px) { .grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px) { .grid { grid-template-columns:repeat(3,1fr); } }

/* Post Card */
.post-card { background:var(--card); border-radius:var(--radius); overflow:hidden; box-shadow:var(--card-glow); transition:all 0.3s; display:flex; flex-direction:column; }
.post-card:hover { box-shadow:var(--neon-glow); }
.post-card img { width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform 0.5s; }
.post-card:hover img { transform:scale(1.05); }
.post-card .img-wrap { overflow:hidden; }
.post-card-body { padding:1.25rem; display:flex; flex-direction:column; flex:1; }
.post-card h3 { font-size:1.125rem; font-weight:700; margin-bottom:0.5rem; transition:color 0.2s; }
.post-card:hover h3 { color:var(--primary); }
.post-card p { color:var(--muted-foreground); font-size:0.875rem; margin-bottom:1rem; flex:1; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.post-card-footer { display:flex; justify-content:space-between; align-items:center; font-size:0.75rem; color:var(--muted-foreground); }
.read-more { color:var(--primary); font-weight:600; }

/* Footer */
.footer { background:var(--foreground); color:rgba(255,255,255,0.7); margin-top:5rem; }
.footer-inner { padding:3rem 0; display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:768px) { .footer-inner { grid-template-columns:repeat(4,1fr); } }
.footer h4 { color:#fff; font-family:'Outfit',sans-serif; font-weight:600; margin-bottom:1rem; }
.footer ul { list-style:none; }
.footer li { margin-bottom:0.5rem; }
.footer a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding:2rem 0; text-align:center; font-size:0.875rem; }

/* Article */
.article { max-width:48rem; margin:0 auto; padding:3rem 2rem; }
.article .back-link { display:inline-flex; align-items:center; gap:0.5rem; color:var(--muted-foreground); font-size:0.875rem; margin-bottom:1.5rem; }
.article .back-link:hover { color:var(--foreground); }
.article h1 { font-size:clamp(1.75rem,4vw,2.5rem); font-weight:700; margin-bottom:1rem; }
.article .article-meta { display:flex; gap:1rem; font-size:0.875rem; color:var(--muted-foreground); margin-bottom:2rem; }
.article .article-img { width:100%; border-radius:var(--radius); margin-bottom:2rem; aspect-ratio:16/9; object-fit:cover; }
.article-content h2 { font-size:1.5rem; font-weight:700; margin-top:2rem; margin-bottom:1rem; }
.article-content p { color:var(--muted-foreground); margin-bottom:1rem; line-height:1.8; }

/* Legal pages */
.legal { max-width:48rem; margin:0 auto; padding:4rem 2rem; }
.legal h1 { font-size:clamp(1.75rem,4vw,2.5rem); font-weight:700; margin-bottom:0.5rem; }
.legal .updated { color:var(--muted-foreground); font-size:0.875rem; margin-bottom:2rem; }
.legal h2 { font-size:1.25rem; font-weight:700; margin-top:2rem; margin-bottom:0.75rem; }
.legal p { color:var(--muted-foreground); margin-bottom:1rem; line-height:1.8; }
.legal ul { color:var(--muted-foreground); margin-bottom:1rem; padding-left:1.5rem; }
.legal li { margin-bottom:0.25rem; }

/* About page */
.about-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-bottom:3rem; }
@media(min-width:768px) { .about-grid { grid-template-columns:repeat(3,1fr); } }
.about-card { background:var(--card); border-radius:var(--radius); padding:1.5rem; box-shadow:var(--card-glow); }
.about-card .icon { font-size:2rem; margin-bottom:0.75rem; }
.about-card h3 { font-size:1.125rem; font-weight:700; margin-bottom:0.5rem; }
.about-card p { color:var(--muted-foreground); font-size:0.875rem; }

/* Contact */
.contact-grid { display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media(min-width:768px) { .contact-grid { grid-template-columns:1fr 1fr; } }
.contact-info li { display:flex; align-items:flex-start; gap:0.75rem; color:var(--muted-foreground); margin-bottom:1rem; }
.contact-info .icon { color:var(--primary); font-size:1.25rem; flex-shrink:0; }
.contact-form { background:var(--card); border-radius:var(--radius); padding:1.5rem; box-shadow:var(--card-glow); }
.form-group { margin-bottom:1rem; }
.form-group label { display:block; font-size:0.875rem; font-weight:500; margin-bottom:0.25rem; }
.form-group input, .form-group textarea { width:100%; padding:0.625rem 1rem; border-radius:0.5rem; border:1px solid var(--border); background:var(--background); font-family:'Space Grotesk',sans-serif; font-size:0.875rem; outline:none; }
.form-group input:focus, .form-group textarea:focus { border-color:var(--ring); box-shadow:0 0 0 2px rgba(124,58,237,0.2); }
.form-group textarea { resize:none; min-height:6rem; }

/* Mobile nav */
.mobile-menu-btn { display:none; background:none; border:none; font-size:1.5rem; cursor:pointer; }
@media(max-width:767px) {
  .mobile-menu-btn { display:block; }
  nav.desktop-nav { display:none; }
}
