/* Global styles */
:root{
  --bg:#0a192f;
  --cyan:#00f0ff;
  --hover:#00e6ff; /* brighter hover accent */
  --muted:#cbd7ee;
  --pink:#ff1493;
  --accent:#64ffda;
  --glass: rgba(255,255,255,0.04);
  --container:1150px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans';background:linear-gradient(180deg,#081428 0%,var(--bg) 100%);color:var(--muted);-webkit-font-smoothing:antialiased}
.site-header,.footer-logo{font-family:'Montserrat', 'Roboto', sans-serif}

/* Global professional link styles */
a, a:visited{color:var(--accent);text-decoration:none;transition:color .18s,opacity .18s}
a:hover, a:focus{color:var(--hover);text-decoration:underline}

/* Strong visible focus for keyboard users */
:focus-visible{outline:3px solid rgba(0,230,255,0.14);outline-offset:3px;border-radius:4px}

/* Ensure nav links keep their layout but use the global style */
.nav-list a{color:var(--muted);text-decoration:none;padding:6px 0;position:relative;font-weight:600}
.nav-list a:hover,.nav-list a:focus{color:var(--hover)}
.footer-logo{letter-spacing:0.4px}
.container{max-width:var(--container);margin:0 auto;padding:0 22px}

.skip-link{position:absolute;left:-9999px;top:auto;overflow:hidden}
.skip-link:focus{left:22px;top:22px;background:#fff;color:#07212a;padding:8px 12px;border-radius:6px}

/* Page transition */
body.page{opacity:1;transition:opacity .45s ease}
body.fade-out{opacity:0}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;background:linear-gradient(180deg, rgba(10,20,35,0.92), rgba(10,20,35,0.7));backdrop-filter:blur(6px);z-index:1000;transition:box-shadow .28s,transform .28s}
.site-header.scrolled{box-shadow:0 6px 24px rgba(3,6,15,0.6);transform:translateY(-2px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{color:#fff;font-weight:800;font-size:1.25rem;letter-spacing:0.4px}
.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:20px;align-items:center}
.nav-list a{color:var(--muted);text-decoration:none;padding:6px 0;position:relative;font-weight:600}
.nav-list a:hover, .nav-list a.active{color:var(--hover)}
.nav-list a::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:linear-gradient(90deg,var(--hover),var(--accent));transition:width .28s}
.nav-list a:hover::after,.nav-list a.active::after{width:100%}
.nav-right{display:flex;align-items:center;gap:12px}
.dot{width:12px;height:12px;border-radius:50%;background:#fff;display:inline-block;box-shadow:0 0 8px rgba(255,255,255,0.08)}
.btn{border-radius:999px;padding:9px 16px;text-decoration:none;display:inline-block;transition:transform .18s,background .18s,box-shadow .18s}
.btn .btn-icon{margin-right:8px}
.cv{background:var(--pink);color:#fff;font-weight:700;border:2px solid rgba(255,20,147,0.12)}
.cv:hover{transform:translateY(-2px);background:#e20f78}
.btn.primary{background:linear-gradient(90deg,var(--accent),#8fffe7);color:#07212a;font-weight:700}
.btn.primary:hover{box-shadow:0 10px 30px rgba(100,255,218,0.12);transform:translateY(-3px)}
.btn.outline{border:2px solid var(--accent);color:var(--muted);background:transparent}
.btn.outline:hover{background:var(--accent);color:#07212a}
.hamburger{display:none;background:transparent;border:0;color:#fff;padding:6px;cursor:pointer}
.hamburger span{display:block;width:22px;height:2px;background:#fff;margin:4px 0;border-radius:2px}

/* Hero */
.hero{padding-top:120px;padding-bottom:48px}
.hero-inner{display:flex;align-items:center;gap:44px}
.hero-left{flex:1}
.photo-wrap{position:relative;width:340px;height:340px;max-width:44vw;margin:auto}
.neon-ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 30%, rgba(0,255,255,0.16), rgba(0,255,255,0.06) 30%, transparent 60%);box-shadow:0 6px 60px rgba(0,240,255,0.06),0 0 28px rgba(100,255,218,0.03);filter:blur(2px)}
.hero-photo{width:100%;height:100%;object-fit:cover;border-radius:50%;position:relative;z-index:2;border:8px solid rgba(255,255,255,0.03);box-shadow:0 12px 40px rgba(3,6,15,0.6)}
.photo-wrap{overflow:visible}
.hero-photo{transform:translateY(12px);opacity:0;transition:transform .9s cubic-bezier(.2,.9,.2,1),opacity .9s}
.hero-photo.visible{transform:none;opacity:1}
.hero-right{flex:1}
.hero-right h1{font-size:2.4rem;margin:0;color:#fff;line-height:1.02}
.hero-right .name{color:#fff;font-weight:900}
.sub{font-size:1.2rem;margin:8px 0;color:var(--muted);font-weight:600}
.highlight{color:var(--cyan);text-shadow:0 6px 30px rgba(0,240,255,0.06)}
.lead{color:#9fb1c9;line-height:1.7;text-align:justify;margin-top:8px}
.socials{margin:16px 0;display:flex;gap:12px}
/* Header/hero social icons: match footer social styles for consistency */
.social{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,255,255,0.02);color:var(--muted);transition:transform .18s,box-shadow .18s,background .18s}
.social:hover,.social:focus{background:linear-gradient(135deg, rgba(0,230,255,0.06), rgba(100,255,218,0.04));color:var(--hover);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,230,255,0.06)}
.social:focus-visible{outline:2px solid rgba(0,230,255,0.18);outline-offset:3px}
/* remove platform-specific solid backgrounds to keep a professional uniform look */
.social.fb,.social.tw,.social.li{background:transparent}
.hero-cta{display:flex;gap:12px;margin-top:12px}

.hero-stats{display:flex;align-items:center;justify-content:space-between;margin-top:36px;padding:16px 20px;background:linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border-radius:12px}
.stat{flex:1;text-align:center;font-weight:800}
.stat-num{font-size:1.4rem;color:#fff}
.stat small{display:block;font-weight:400;font-size:.92rem;color:#9fb1c9}
.divider{width:1px;height:44px;background:rgba(255,255,255,0.05)}

/* About */
.about-inner{display:flex;gap:34px;align-items:flex-start;padding:64px 0}
.about-photo img{width:340px;height:340px;max-width:44vw;object-fit:cover;border-radius:14px;box-shadow:0 14px 40px rgba(7,18,30,0.6)}

@media(max-width:1000px){
  .about-photo img{width:280px;height:280px}
}
@media(max-width:700px){
  .about-photo img{width:220px;height:220px}
}
.timeline{margin:10px 0;padding-left:18px}

/* Skills */
.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:18px}
.skill{background:var(--glass);padding:16px;border-radius:10px}
.progress{height:14px;background:rgba(255,255,255,0.03);border-radius:8px;overflow:hidden}
.progress .bar{height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--accent));transition:width 1.2s cubic-bezier(.2,.9,.2,1)}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:18px}
.service-card{background:var(--glass);padding:26px;border-radius:12px;text-align:center;transition:transform .28s,box-shadow .28s}
.service-card:hover{transform:translateY(-8px);box-shadow:0 18px 60px rgba(3,6,15,0.6)}
.service-card i{font-size:30px;color:var(--accent);margin-bottom:10px}

/* Portfolio */
.filters{margin:12px 0}
.filter{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted);padding:8px 12px;border-radius:999px;margin-right:8px}
.filter.active{background:linear-gradient(90deg, rgba(0,230,255,0.04), rgba(100,255,218,0.02));border-color:var(--hover)}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:12px}
.project{position:relative;overflow:hidden;border-radius:10px}
.project img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .36s cubic-bezier(.2,.9,.2,1),filter .36s ease,box-shadow .36s ease,opacity .36s ease;will-change:transform,filter,opacity}
.project img{transform-origin:center center}

.project:hover img,.project:focus-within img{transform:translateY(-6px) rotate(-0.4deg);filter:brightness(1.04) saturate(1.02);box-shadow:0 14px 30px rgba(6,22,47,0.38);opacity:1}
.proj-link:focus-visible{outline:3px solid rgba(0,230,255,0.14);outline-offset:6px;border-radius:8px}

/* Entrance animation for images (subtle fade & lift) */
.project img, .test-card img, .proj-thumb{opacity:0;transform:translateY(10px);animation:imgEntrance .6s ease forwards}
@keyframes imgEntrance{to{opacity:1;transform:translateY(0)}}

/* Staggered entrance: a little delay per project to feel dynamic */
.project:nth-child(1) img{animation-delay:.06s}
.project:nth-child(2) img{animation-delay:.12s}
.project:nth-child(3) img{animation-delay:.18s}
.project:nth-child(4) img{animation-delay:.24s}

/* Hero photo: entrance + gentle floating */
.hero-photo{transition:transform .6s ease,opacity .6s ease,filter .6s ease}
.hero-photo.visible{transform:translateY(0) scale(1);opacity:1;animation:heroFloat 6s ease-in-out 1.2s infinite}
@keyframes heroFloat{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.01)}100%{transform:translateY(0) scale(1)}}

/* Improve general image behavior */
img{max-width:100%;height:auto;display:block}
.project:hover img{ /* kept for backward compatibility but no longer scales */ filter:brightness(1.02)}
.proj-info{position:absolute;left:14px;bottom:12px;color:#fff;background:linear-gradient(90deg, rgba(0,0,0,0.2), transparent);padding:6px 10px;border-radius:6px}

.lightbox{position:fixed;inset:0;background:rgba(3,6,12,0.85);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;pointer-events:none;transition:opacity .28s}
.lightbox.show{opacity:1;pointer-events:auto}
.lightbox-content{max-width:92%;max-height:82%;position:relative}
.lightbox img{max-width:100%;max-height:70vh;border-radius:10px;box-shadow:0 12px 40px rgba(3,6,15,0.6)}
.lb-close{position:absolute;right:-6px;top:-46px;background:transparent;border:0;color:#fff;font-size:36px}

.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.35);border:0;color:#fff;padding:10px;border-radius:8px;cursor:pointer}
.lb-prev{left:-68px}
.lb-next{right:-68px}

/* Testimonials */
.test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}
.test-card{background:rgba(255,255,255,0.02);padding:18px;border-radius:10px;font-style:normal}
.test-card cite{display:block;margin-top:10px;color:#9fb1c9;font-weight:700}

/* Contact */
.contact-form{max-width:700px}
.form-row{margin:12px 0}
label{display:block;margin-bottom:6px;color:#9fb1c9}
input,textarea{width:100%;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:var(--muted)}
.map{margin-top:18px}
.address-block{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));padding:18px;border-radius:10px;color:var(--muted);}
.address-block h3{color:var(--muted);margin:0 0 8px 0}
.address-block p{margin:0;line-height:1.5}

/* Footer */
.site-footer{margin-top:40px;padding:18px 0;background:transparent}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:18px}
.site-footer{border-top:1px solid rgba(255,255,255,0.03);padding:26px 0}
.footer-left{display:flex;align-items:center;gap:14px}
.footer-logo{font-weight:800;color:#fff}
.footer-contact{color:#9fb1c9;font-size:.95rem}
.footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:rgba(255,255,255,0.02);color:var(--muted);margin-left:8px;transition:transform .18s,box-shadow .18s,background .18s}
.footer-socials a:hover,.footer-socials a:focus{background:linear-gradient(135deg, rgba(0,230,255,0.06), rgba(100,255,218,0.04));color:var(--hover);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,230,255,0.06)}
.footer-socials a:focus-visible{outline:2px solid rgba(0,230,255,0.18);outline-offset:3px}
.footer-socials a:focus{outline:3px solid rgba(100,255,218,0.12);outline-offset:3px}
.footer-socials a:focus-visible{outline:3px solid rgba(100,255,218,0.18)}
.btn:focus-visible, a:focus-visible{outline:3px solid rgba(100,255,218,0.12);outline-offset:4px}
.footer-socials a:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,230,255,0.06);color:#fff;background:linear-gradient(90deg,var(--hover),var(--accent))}
.footer-right{display:flex;align-items:center;gap:14px}
.back-to-top{position:fixed;right:18px;bottom:18px;background:var(--hover);color:#07212a;border:0;padding:10px;border-radius:50%;display:none;box-shadow:0 12px 36px rgba(0,230,255,0.08)}

/* Animations */
.fade-in{animation:fadeIn .9s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Responsive */
@media(max-width:1000px){
  .hero-inner{flex-direction:column-reverse;align-items:center;text-align:center}
  .photo-wrap{width:280px;height:280px}
  .hero-right h1{font-size:2rem}
}
@media(max-width:700px){
  .nav-list{display:none}
  .hamburger{display:block}
  .photo-wrap{width:220px;height:220px}
  .hero-stats{flex-direction:column;gap:12px;align-items:stretch}
  .back-to-top{display:block}
}

