@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700;900&family=Montserrat:wght@800&display=swap');
:root{
  --bg-1:#0a1628;
  --bg-2:#1a233a;
  --bg-pattern: url('data:image/svg+xml;utf8,<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="40" fill="%230a1628"/><circle cx="20" cy="20" r="1.5" fill="%233a4a6a"/></svg>');
  --card: rgba(255,255,255,0.07);
  --card-light: rgba(255,255,255,0.18);
  --accent-1:#ff6b8b;
  --accent-2:#ffb6b9;
  --accent-3:#7bd3c9;
  --accent-4:#7bd389;
  --muted:#9fb0c9;
  --text:#e7f0fb;
  --radius:18px;
  --shadow:0 8px 32px rgba(30,30,60,0.18);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial;
  background: var(--bg-pattern), linear-gradient(135deg,var(--bg-1) 0%, var(--bg-2) 100%);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100vh;
}
.wrap{max-width:980px;margin:36px auto;padding:0 20px}
.inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:20px}
.site-header{backdrop-filter:blur(8px);}
.brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:inherit}
.logo{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));box-shadow:0 10px 40px rgba(0,0,0,0.6), 0 0 40px rgba(255,107,139,0.09), inset 0 -6px 20px rgba(255,255,255,0.02);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.logo::after{content:'';display:block;width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff3 0%,transparent 80%);position:absolute;top:10px;left:10px;pointer-events:none;}
.titles h1{margin:0;font-size:2.7rem;font-family:'Montserrat', 'Inter',sans-serif;font-weight:800;letter-spacing:-1px;color:var(--accent-1);text-shadow:0 2px 12px #ffb6b955;}
.tag{margin:2px 0 0;color:var(--muted);font-size:1.1rem;font-style:italic;letter-spacing:0.2px;}
.site-nav a{color:var(--muted);text-decoration:none;margin-left:22px;font-weight:700;font-size:1.08rem;position:relative;transition:color .18s}
.site-nav a::after{content:'';display:block;width:0;height:2px;background:linear-gradient(90deg,var(--accent-1),var(--accent-2));transition:.3s;width:0;position:absolute;left:0;bottom:-2px;}
.site-nav a:hover{color:var(--accent-1)}
.site-nav a:hover::after{width:100%}

.cta{display:inline-block;padding:12px 22px;border-radius:12px;background:linear-gradient(90deg,var(--accent-1),var(--accent-2));color:white;font-weight:800;text-decoration:none;box-shadow:0 8px 30px rgba(255,107,139,0.16);transition:transform .18s,box-shadow .18s;letter-spacing:0.5px;font-size:1.1rem;}
.cta:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 18px 50px rgba(255,107,139,0.22)}


.card{background:var(--card);padding:32px 28px 28px 28px;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:32px;border:1.5px solid rgba(255,255,255,0.04);position:relative;overflow:hidden;}
.card h2{margin:0 0 16px;font-size:2.1rem;font-family:'Montserrat', 'Inter',sans-serif;font-weight:900;letter-spacing:-0.5px;color:var(--accent-1);}
.card p{line-height:1.7;color:var(--muted);font-size:1.13rem;}
.card.card-about{background:var(--card-light);border:2.5px solid var(--accent-1);box-shadow:0 8px 40px 0 rgba(255,107,139,0.08);}

.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:28px;margin-top:18px}
.project{background:linear-gradient(120deg,rgba(255,255,255,0.09),rgba(255,255,255,0.03));padding:0;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-height:260px;border:2px solid rgba(255,255,255,0.06);box-shadow:0 4px 24px 0 rgba(123,211,201,0.08);transition:transform .22s,box-shadow .22s;position:relative;}
.project-media{height:110px;display:flex;align-items:center;justify-content:center;font-size:2.7rem;}
.project-content{padding:20px 18px 18px 18px;flex:1;display:flex;flex-direction:column;}
.project h3{margin:0 0 10px;padding-right:12px;font-size:1.25rem;font-family:'Montserrat', 'Inter',sans-serif;font-weight:800;color:var(--accent-3);letter-spacing:-0.5px;line-height:1.2;}
.project p{margin:6px 0;color:var(--muted);font-size:1.01rem;}
.project .tech-icons{display:flex;gap:10px;margin:8px 0 0 0;}
.project .tech-icons img{width:26px;height:26px;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.08));}
.project:hover{transform:translateY(-10px) scale(1.025);box-shadow:0 24px 60px 0 rgba(255,107,139,0.13),0 2px 12px 0 rgba(123,211,201,0.10);z-index:2;}


.contact-card .link-primary{color:var(--accent-1);text-decoration:underline;font-weight:700;}
.contact-card .link-primary:hover{color:var(--accent-2);text-decoration:underline wavy;}

.site-footer{padding:28px 20px;color:var(--muted)}
.site-footer .inner{display:flex;align-items:center;justify-content:flex-start}

@media (max-width:720px){
  .inner{padding:10px}
  .logo{width:54px;height:54px}
  .site-nav{display:none}
  .wrap{margin:10px auto}
  .card{padding:18px 8px;}
  .card h2{font-size:1.3rem}
}

@media (max-width:980px){
  .projects-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
}

/* reveal animations */
.reveal{opacity:0;transform:translateY(30px) scale(.98);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1;transform:none}

@keyframes logoFloat{0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:translateY(0)}}

/* small accent for links */
a.link-primary{color:var(--accent-1);text-decoration:none;font-weight:700;transition:color .18s}
a.link-primary:hover{color:var(--accent-2);text-decoration:underline wavy;}

/* subtle focus styles for accessibility */
a:focus{outline:3px solid rgba(255,123,139,0.18);outline-offset:3px}
