﻿/* ============================================================
   ALEXDEV PORTFOLIO â€” Developer Portfolio Styles
   Theme: Dark navy / electric cyan â€” code, tech, minimal
   ============================================================ */

body {
  font-family: 'Inter', 'Segoe UI', sans-serif;
  background: #0a0e1a;
  color: #c8d6f0;
}
h1,h2,h3 { font-family: 'Space Grotesk', 'Inter', sans-serif; }

/* Nav */
.site-nav { position:fixed;top:0;left:0;right:0;z-index:100;padding:1.2rem 0;transition:all 0.4s ease; }
.site-nav.scrolled { background:rgba(10,14,26,0.95);backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(0,0,0,0.4);padding:0.7rem 0; }
.nav-logo { font-size:1.5rem;font-weight:800;color:#00d4ff;letter-spacing:-0.5px; }
.nav-logo span { color:#fff; }
.nav-links { display:flex;gap:2.5rem;list-style:none; }
.nav-links a { font-size:0.88rem;font-weight:500;letter-spacing:0.5px;color:rgba(200,214,240,0.75);position:relative;padding-bottom:3px;transition:color 0.3s; }
.nav-links a::after { content:'';position:absolute;bottom:-1px;left:0;width:0;height:2px;background:#00d4ff;transition:width 0.3s; }
.nav-links a:hover,.nav-links a.active { color:#00d4ff; }
.nav-links a:hover::after,.nav-links a.active::after { width:100%; }
.nav-cta { background:transparent;border:2px solid #00d4ff;color:#00d4ff !important;padding:0.6rem 1.4rem;border-radius:8px;font-size:0.85rem;font-weight:600;transition:all 0.3s; }
.nav-cta:hover { background:#00d4ff;color:#0a0e1a !important; }
.hamburger { background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:4px; }
.hamburger span { width:24px;height:2px;background:#00d4ff;display:block;border-radius:2px;transition:all 0.3s; }
.mobile-nav { list-style:none;max-height:0;overflow:hidden;background:#0d1426;transition:max-height 0.4s ease,padding 0.3s; }
.mobile-nav.open { max-height:300px;padding:1rem 0; }
.mobile-nav li a { display:block;padding:0.8rem 1.5rem;color:#c8d6f0;font-weight:500;border-bottom:1px solid rgba(255,255,255,0.05);transition:color 0.3s; }
.mobile-nav li a:hover { color:#00d4ff; }

/* Hero */
.hero-section { position:relative;min-height:100vh;background:#0a0e1a;display:flex;align-items:center;overflow:hidden; }
.hero-content { position:relative;z-index:2;padding-top:100px; }
.hero-chip { display:inline-block;background:rgba(0,212,255,0.1);border:1px solid rgba(0,212,255,0.3);color:#00d4ff;font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;padding:0.4rem 1rem;border-radius:20px;margin-bottom:1.5rem; }
.hero-title { font-size:clamp(2.5rem,6vw,4.5rem);color:#fff;line-height:1.05;margin-bottom:1rem;font-weight:800; }
.hero-title .type-cursor { display:inline-block;width:3px;height:1em;background:#00d4ff;margin-left:4px;animation:blink 0.8s infinite; }
@keyframes blink { 0%,50%{opacity:1} 51%,100%{opacity:0} }
.hero-subtitle { font-size:1.05rem;color:rgba(200,214,240,0.65);max-width:500px;line-height:1.7;margin-bottom:2.5rem; }
.hero-cta { display:flex;flex-wrap:wrap;gap:1rem;align-items:center; }
.btn-dev-primary { background:linear-gradient(90deg,#00d4ff,#7c3aed);color:#fff;padding:0.9rem 2.2rem;border-radius:8px;font-weight:700;font-size:0.95rem;border:none;cursor:pointer;transition:opacity 0.3s,transform 0.3s;letter-spacing:0.5px; }
.btn-dev-primary:hover { opacity:0.85;transform:translateY(-2px); }
.btn-dev-outline { border:2px solid rgba(0,212,255,0.4);color:#00d4ff;padding:0.9rem 2.2rem;border-radius:8px;font-weight:600;font-size:0.95rem;cursor:pointer;background:transparent;transition:all 0.3s;letter-spacing:0.5px; }
.btn-dev-outline:hover { border-color:#00d4ff;background:rgba(0,212,255,0.05); }
.hero-tech-stack { display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:2.5rem; }
.tech-pill { background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:rgba(200,214,240,0.75);font-size:0.78rem;padding:0.3rem 0.8rem;border-radius:6px;font-family:'Courier New',monospace; }

/* Stats */
.stats-bar { background:linear-gradient(90deg,#00d4ff,#7c3aed);padding:2.5rem 0; }
.stats-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;text-align:center; }
.stat-item { color:#fff; }
.stat-num { display:block;font-size:2.4rem;font-weight:800; }
.stat-label { font-size:0.82rem;opacity:0.85;letter-spacing:0.5px; }

/* Section */
.section-label { font-size:0.75rem;letter-spacing:3px;text-transform:uppercase;color:#00d4ff;font-weight:600;margin-bottom:0.75rem;display:block; }
.section-title { font-size:clamp(1.8rem,3.5vw,2.6rem);color:#fff;line-height:1.2;margin-bottom:1.5rem;font-weight:700; }
.section-body { color:rgba(200,214,240,0.7);line-height:1.8;margin-bottom:1rem;max-width:520px; }
.section-header { text-align:center;margin-bottom:3.5rem; }
.section-cta { text-align:center;margin-top:3rem; }

/* Skills */
.skills-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem; }
.skill-card { background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:1.5rem;transition:border-color 0.3s,background 0.3s; }
.skill-card:hover { border-color:rgba(0,212,255,0.4);background:rgba(0,212,255,0.04); }
.skill-icon { font-size:1.8rem;margin-bottom:0.8rem; }
.skill-name { font-size:1rem;font-weight:600;color:#fff;margin-bottom:0.5rem; }
.skill-bar-wrap { height:6px;background:rgba(255,255,255,0.1);border-radius:3px;overflow:hidden; }
.skill-bar { height:100%;border-radius:3px;background:linear-gradient(90deg,#00d4ff,#7c3aed);width:0;transition:width 1.2s ease; }

/* Projects */
.projects-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem; }
.project-card { background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:16px;overflow:hidden;transition:transform 0.3s,border-color 0.3s,box-shadow 0.3s; }
.project-card:hover { transform:translateY(-6px);border-color:rgba(0,212,255,0.3);box-shadow:0 20px 50px rgba(0,212,255,0.1); }
.project-img { height:180px;display:flex;align-items:center;justify-content:center;font-size:3.5rem;position:relative;overflow:hidden; }
.project-body { padding:1.5rem; }
.project-tags { display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.8rem; }
.project-tag { background:rgba(0,212,255,0.1);border:1px solid rgba(0,212,255,0.2);color:#00d4ff;font-size:0.7rem;padding:0.2rem 0.6rem;border-radius:4px;font-family:'Courier New',monospace; }
.project-title { font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:0.5rem; }
.project-desc { font-size:0.85rem;color:rgba(200,214,240,0.65);line-height:1.5; }
.project-links { display:flex;gap:1rem;margin-top:1rem; }
.project-links a { font-size:0.82rem;color:#00d4ff;font-weight:500; }

/* Experience */
.exp-timeline { display:flex;flex-direction:column;gap:2rem;position:relative;padding-left:2rem; }
.exp-timeline::before { content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#00d4ff,#7c3aed); }
.timeline-item { position:relative; }
.timeline-item::before { content:'';position:absolute;left:-2.4rem;top:0.4rem;width:12px;height:12px;border-radius:50%;background:#00d4ff;border:3px solid #0a0e1a;box-shadow:0 0 12px rgba(0,212,255,0.5); }
.timeline-date { font-size:0.8rem;color:#00d4ff;letter-spacing:1px;margin-bottom:0.3rem; }
.timeline-title { font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:0.2rem; }
.timeline-company { font-size:0.85rem;color:rgba(200,214,240,0.5);margin-bottom:0.6rem; }
.timeline-desc { font-size:0.88rem;color:rgba(200,214,240,0.65);line-height:1.6; }

/* Testimonials */
.testimonials-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin-top:3rem; }
.t-card { background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:2rem;transition:border-color 0.3s; }
.t-card:hover { border-color:rgba(0,212,255,0.3); }
.t-card p { color:rgba(200,214,240,0.75);font-size:0.9rem;line-height:1.7;margin:1rem 0; }
.reviewer { font-size:0.82rem;color:rgba(200,214,240,0.5); }
.reviewer strong { color:#fff; }
.stars { color:#fbbf24;font-size:1rem; }

/* CTA Banner */
.cta-banner { background:linear-gradient(135deg,#0d1426,#1a0d2e);padding:5rem 0;text-align:center;border-top:1px solid rgba(255,255,255,0.05); }
.cta-banner h2 { font-size:clamp(1.8rem,3vw,2.5rem);color:#fff;margin-bottom:1rem;font-weight:700; }
.cta-banner p { color:rgba(200,214,240,0.65);margin-bottom:2rem;font-size:1.05rem; }

/* Footer */
.site-footer { background:#060a14;color:rgba(200,214,240,0.6);padding:4rem 0 2rem;border-top:1px solid rgba(255,255,255,0.05); }
.footer-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:3rem;margin-bottom:3rem; }
.footer-grid h4 { color:#fff;font-size:0.9rem;font-weight:600;margin-bottom:1rem;letter-spacing:0.5px; }
.footer-grid ul { list-style:none; }
.footer-grid ul li,.footer-grid p { font-size:0.85rem;line-height:2;opacity:0.7; }
.footer-grid ul li a { color:rgba(200,214,240,0.7); }
.footer-grid ul li a:hover { color:#00d4ff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.06);padding-top:1.5rem;text-align:center;font-size:0.8rem;opacity:0.4; }

@media(max-width:640px) { .hero-title{font-size:2.2rem} .hero-cta{flex-direction:column} }
