:root{
  --bg:#eef2fb;
  --bg-alt:#e4ecfe;
  --text:#1a2140;
  --text-muted:#5b6478;
  --primary:#2563eb;
  --primary-dark:#1741b8;
  --accent:#7c3aed;
  --whatsapp:#25D366;
  --border:#dbe3f5;
  --radius:16px;
  --shadow:0 12px 32px rgba(30,41,90,.10);
  --shadow-hover:0 20px 45px rgba(30,41,90,.18);
  --max-w:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Inter',system-ui,sans-serif;color:var(--text);
  background:
    radial-gradient(circle at 15% 0%, rgba(124,58,237,.10), transparent 45%),
    radial-gradient(circle at 90% 10%, rgba(37,99,235,.12), transparent 40%),
    linear-gradient(180deg,#eef2fb 0%, #e4ecfe 100%);
  line-height:1.6;
}
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* Navbar */
.navbar{position:sticky;top:0;z-index:100;background:rgba(238,242,251,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{font-weight:800;font-size:1.15rem;background:linear-gradient(90deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{font-weight:500;color:var(--text-muted);transition:.2s;position:relative;padding-bottom:4px}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--primary);transition:.25s}
.nav-links a:hover{color:var(--primary)}
.nav-links a:hover::after{width:100%}
.nav-admin-link{background:linear-gradient(90deg,var(--text),#374162);color:#fff !important;padding:8px 18px;border-radius:8px}
.nav-admin-link::after{display:none}
.nav-admin-link:hover{background:linear-gradient(90deg,var(--primary),var(--accent));transform:translateY(-2px)}
.burger{display:none;background:none;border:0;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:var(--text);border-radius:2px}

/* Hero */
.hero{padding:90px 0 60px;position:relative;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;position:relative}
.eyebrow{color:var(--primary);font-weight:700;letter-spacing:.6px;text-transform:uppercase;font-size:.85rem;margin-bottom:10px}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.1}
.role{color:var(--text-muted);font-weight:600;font-size:1.3rem;margin:12px 0}
.hero-desc{color:var(--text-muted);max-width:480px;margin-bottom:26px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-image img{border-radius:24px;box-shadow:var(--shadow);aspect-ratio:1/1;object-fit:cover;border:4px solid #fff}

.btn{display:inline-block;padding:12px 26px;border-radius:10px;font-weight:600;transition:.25s;cursor:pointer;border:none}
.btn-primary{background:linear-gradient(90deg,var(--primary),var(--accent));color:#fff;box-shadow:0 8px 22px rgba(37,99,235,.35)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(37,99,235,.45)}
.btn-outline{border:1.5px solid var(--border);color:var(--text);background:#fff}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-3px)}
.btn-sm{padding:8px 16px;font-size:.9rem;background:#fff;border:1px solid var(--border)}
.btn-sm:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}

/* Sections */
.section{padding:80px 0}
.section-alt{background:linear-gradient(180deg, rgba(255,255,255,.5), transparent)}
.section-title{font-size:2rem;font-weight:800;margin-bottom:36px;text-align:center}
.about-text{max-width:720px;margin:0 auto;color:var(--text-muted);font-size:1.05rem;text-align:center}

/* Skills */
.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.skill-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);transition:.25s}
.skill-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}
.skill-card h3{margin-bottom:16px;color:var(--primary)}
.skill-bar{margin-bottom:14px}
.skill-bar-label{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:6px;color:var(--text-muted)}
.skill-bar-track{height:8px;background:var(--bg-alt);border-radius:6px;overflow:hidden}
.skill-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:6px}

/* Timeline */
.timeline{max-width:720px;margin:0 auto;position:relative;padding-left:24px;border-left:2px solid var(--border)}
.timeline-item{position:relative;padding-bottom:36px}
.timeline-dot{position:absolute;left:-30px;top:4px;width:12px;height:12px;background:var(--primary);border-radius:50%;box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.timeline-date{color:var(--primary);font-weight:600;font-size:.85rem}
.timeline-content h3{margin:4px 0}
.timeline-org{color:var(--text-muted);font-weight:500;margin-bottom:8px}

/* Projects */
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.project-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.3s}
.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.project-card img{height:180px;object-fit:cover;width:100%;transition:.4s}
.project-card:hover img{transform:scale(1.08)}
.project-body{padding:20px}
.project-body h3{margin-bottom:8px}
.project-body p{color:var(--text-muted);font-size:.95rem;margin-bottom:10px}
.tech-stack{font-size:.8rem !important;color:var(--primary) !important;font-weight:600}

/* Contact */
.contact-inner{text-align:center}
.contact-grid{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:30px 0}
.contact-card{background:#fff;border:1px solid var(--border);padding:16px 24px;border-radius:12px;font-weight:600;box-shadow:var(--shadow);transition:.25s;display:flex;align-items:center;gap:8px}
.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);color:var(--primary)}
.social-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.social-links a{font-weight:600;color:var(--primary);padding:8px 14px;border-radius:8px;transition:.2s}
.social-links a:hover{background:#fff}

.footer{text-align:center;padding:26px;color:var(--text-muted);font-size:.9rem;border-top:1px solid var(--border)}

.whatsapp-float{
  position:fixed;bottom:26px;right:26px;z-index:999;
  width:60px;height:60px;background:var(--whatsapp);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,.45);
  transition:.25s;
}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 10px 30px rgba(37,211,102,.6)}
.whatsapp-float svg{width:30px;height:30px;fill:#fff}

@media(max-width:820px){
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero-btns{justify-content:center}
  .hero-image{order:-1;max-width:260px;margin:0 auto}
  .nav-links{position:fixed;top:70px;left:0;right:0;background:#eef2fb;flex-direction:column;padding:20px;border-bottom:1px solid var(--border);display:none;gap:14px}
  .nav-links.open{display:flex}
  .burger{display:flex}
  .whatsapp-float{width:52px;height:52px;bottom:18px;right:18px}
}