:root {
    --bg: #F5F0FA;
    --bg-alt: #FFFFFF;
    --bg-card: rgba(255,255,255,0.95);
    --bg-card-hover: rgba(255,255,255,1);
    --border: #E4D8F0;
    --border-hover: #D0C0E8;
    --text: #2A1F3D;
    --text-secondary: #5A4F6D;
    --text-muted: #8A7F9D;
    --accent-primary: #8B6CB5;
    --accent-secondary: #B89ADB;
    --accent-highlight: #F0A9C0;
    --accent-success: #8B6CB5;
    --accent-error: #D46A7A;
    --gradient-primary: linear-gradient(135deg, #8B6CB5, #B89ADB);
    --gradient-secondary: linear-gradient(135deg, #B89ADB, #F0A9C0);
    --gradient-text: linear-gradient(135deg, #2A1F3D 30%, #4A3F5D);
    --shadow-sm: 0 1px 3px rgba(42,31,61,0.04), 0 1px 2px rgba(42,31,61,0.02);
    --shadow: 0 4px 16px rgba(42,31,61,0.06), 0 2px 6px rgba(42,31,61,0.03);
    --shadow-hover: 0 8px 24px rgba(42,31,61,0.1), 0 4px 10px rgba(42,31,61,0.04);
    --shadow-glow: 0 4px 20px rgba(139,108,181,0.3);
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
    --transition: 0.3s ease;
    --transition-fast: 0.2s ease;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:18px;scroll-behavior:smooth;background:var(--bg)}
body{
    font-family:var(--font-body);
    background:var(--bg);
    color:var(--text);
    line-height:1.7;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}

.container{max-width:1200px;margin:0 auto;padding:0 24px}
.section{padding:120px 0}
.section-header{text-align:center;margin-bottom:64px}
.section-tag{
    font-family:var(--font-heading);
    font-size:.8rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:3px;
    background:var(--gradient-primary);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    display:inline-block;
    margin-bottom:12px;
}
.section-title{
    font-family:var(--font-heading);
    font-size:2.8rem;
    font-weight:700;
    letter-spacing:-.5px;
    background:var(--gradient-text);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    margin-bottom:16px;
}
.section-desc{font-size:1.1rem;color:var(--text-secondary);max-width:560px;margin:0 auto}
.gradient-text{
    background:var(--gradient-primary);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.glass-card{
    background:var(--bg-card);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid var(--border);
    border-radius:20px;
    box-shadow:var(--shadow);
    transition:border var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition);
}
.glass-card:hover{
    background:var(--bg-card-hover);
    border-color:var(--border-hover);
    transform:translateY(-3px);
    box-shadow:var(--shadow-hover);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:14px 28px;
    border-radius:50px;
    font-family:var(--font-heading);
    font-weight:600;
    font-size:.9rem;
    cursor:pointer;
    transition:var(--transition);
    border:none;
}
.btn-primary{
    background:var(--gradient-primary);
    color:#fff;
    box-shadow:var(--shadow-glow);
}
.btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(139,108,181,.35);
}
.btn-outline{
    background:rgba(255,255,255,.75);
    color:var(--text);
    border:1px solid var(--border);
    backdrop-filter:blur(8px);
}
.btn-outline:hover{
    background:rgba(255,255,255,.95);
    border-color:var(--border-hover);
    transform:translateY(-3px);
}
.btn-ghost{
    background:transparent;
    color:var(--text-secondary);
    border:1px solid transparent;
}
.btn-ghost:hover{
    background:rgba(15,23,42,.04);
    color:var(--text);
    transform:translateY(-3px);
}

.glow-blob{
    position:fixed;
    border-radius:50%;
    filter:blur(140px);
    z-index:-1;
    pointer-events:none;
    opacity:.35;
}
.blob-1{
    top:-15%;left:-10%;
    width:50vw;height:50vw;
    background:radial-gradient(circle,rgba(139,108,181,.18) 0,transparent 70%);
    animation:float1 25s infinite alternate ease-in-out;
}
.blob-2{
    top:35%;right:-15%;
    width:55vw;height:55vw;
    background:radial-gradient(circle,rgba(184,154,219,.14) 0,transparent 70%);
    animation:float2 30s infinite alternate ease-in-out;
}
.blob-3{
    bottom:-10%;left:20%;
    width:40vw;height:40vw;
    background:radial-gradient(circle,rgba(16,185,129,.14) 0,transparent 70%);
    animation:float1 20s infinite alternate-reverse ease-in-out;
}
@keyframes float1{
    0%{transform:translate(0,0) scale(1)}
    50%{transform:translate(5%,8%) scale(1.08)}
    100%{transform:translate(-4%,-4%) scale(.95)}
}
@keyframes float2{
    0%{transform:translate(0,0) scale(1)}
    50%{transform:translate(-6%,-10%) scale(.92)}
    100%{transform:translate(4%,4%) scale(1.04)}
}

.main-header{
    position:fixed;top:0;left:0;width:100%;z-index:1000;
    background:rgba(248,250,252,.75);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(15,23,42,.03);
    transition:var(--transition);
}
.main-header.scrolled{
    background:rgba(248,250,252,.92);
    border-color:rgba(15,23,42,.06);
    box-shadow:0 10px 30px rgba(15,23,42,.04);
}
.header-container{
    max-width:1400px;margin:0 auto;
    padding:20px 5%;
    display:flex;justify-content:space-between;align-items:center;
    transition:padding var(--transition);
}
.main-header.scrolled .header-container{padding:12px 5%}
.logo{
    font-family:var(--font-heading);
    font-size:1.4rem;font-weight:800;
    color:var(--text);
    letter-spacing:-.5px;
}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-item{
    font-family:var(--font-heading);
    font-weight:500;font-size:.9rem;
    color:var(--text-secondary);
    position:relative;padding:4px 0;
    transition:color var(--transition-fast);
}
.nav-item:hover{color:var(--text)}
.nav-item::after{
    content:'';position:absolute;bottom:-2px;left:0;
    width:100%;height:2px;
    background:var(--gradient-primary);
    transform:scaleX(0);transform-origin:right;
    transition:transform var(--transition);
}
.nav-item.active{color:var(--text);font-weight:600}
.nav-item.active::after,.nav-item:hover::after{transform:scaleX(1);transform-origin:left}

.hamburger{
    display:none;
    flex-direction:column;justify-content:space-between;
    width:24px;height:18px;
    background:transparent;border:none;cursor:pointer;z-index:1010;
}
.hamburger .bar{width:100%;height:2px;background:var(--text);border-radius:4px;transition:var(--transition)}
.hamburger.active .bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.active .bar:nth-child(2){opacity:0}
.hamburger.active .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.mobile-overlay{
    position:fixed;top:0;right:-100%;
    width:100%;height:100vh;
    background:rgba(248,250,252,.97);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    z-index:999;
    display:flex;align-items:center;justify-content:center;
    transition:right var(--transition);
}
.mobile-overlay.active{right:0}
.mobile-nav{display:flex;flex-direction:column;align-items:center;gap:36px}
.mobile-nav-item{
    font-family:var(--font-heading);
    font-size:1.8rem;font-weight:600;
    color:var(--text-secondary);
    transition:color var(--transition-fast), transform var(--transition-fast);
}
.mobile-nav-item:hover,.mobile-nav-item.active{color:var(--text);transform:scale(1.08)}

.hero{
    min-height:100vh;
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    position:relative;padding:0 24px;text-align:center;
}
.hero-content{
    max-width:800px;z-index:10;
    display:flex;flex-direction:column;align-items:center;gap:20px;
    margin-top:60px;
}
.hero-avatar{
    width:110px;height:110px;
    border-radius:50%;
    background:var(--gradient-primary);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 32px rgba(139,108,181,.25);
    margin-bottom:8px;
    animation:fadeInUp .8s ease;
}
.avatar-initials{
    font-family:var(--font-heading);
    font-size:2.4rem;font-weight:700;
    color:#fff;
    letter-spacing:2px;
}
@keyframes fadeInUp{
    from{opacity:0;transform:translateY(30px)}
    to{opacity:1;transform:translateY(0)}
}
.hero-badge{
    background:rgba(139,108,181,.08);
    border:1px solid rgba(139,108,181,.2);
    color:var(--accent-primary);
    padding:8px 20px;border-radius:50px;
    font-family:var(--font-heading);
    font-weight:600;font-size:.78rem;
    letter-spacing:1.5px;text-transform:uppercase;
    animation:breathe 3s infinite alternate ease-in-out;
}
@keyframes breathe{
    0%{box-shadow:0 0 10px rgba(139,108,181,.05);border-color:rgba(139,108,181,.15)}
    100%{box-shadow:0 0 24px rgba(139,108,181,.12);border-color:rgba(139,108,181,.35)}
}
.hero-title{
    font-family:var(--font-heading);
    font-size:4.2rem;font-weight:800;
    line-height:1.15;letter-spacing:-2px;
    background:var(--gradient-text);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:fadeInUp .8s ease .1s both;
}
.hero-subtitle{
    font-size:1.15rem;
    color:var(--text-secondary);
    max-width:600px;
    font-weight:400;line-height:1.7;
    animation:fadeInUp .8s ease .2s both;
}
.hero-actions{
    display:flex;gap:16px;flex-wrap:wrap;justify-content:center;
    margin-top:12px;
    animation:fadeInUp .8s ease .3s both;
}
.hero-actions .btn svg{transition:transform var(--transition-fast)}
.hero-actions .btn-primary:hover svg{transform:translateX(4px)}

.scroll-indicator{
    position:absolute;bottom:40px;left:50%;transform:translateX(-50%);
    opacity:.5;transition:opacity var(--transition-fast);
}
.scroll-indicator:hover{opacity:1}
.mouse{
    width:26px;height:42px;
    border:2px solid var(--text-secondary);
    border-radius:20px;display:block;position:relative;
}
.wheel{
    width:4px;height:8px;
    background:var(--accent-primary);border-radius:2px;
    position:absolute;top:8px;left:50%;transform:translateX(-50%);
    animation:scrollMouse 1.8s infinite ease-in-out;
}
@keyframes scrollMouse{
    0%{opacity:0;top:6px}
    30%{opacity:1}
    100%{opacity:0;top:20px}
}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.about-card{padding:40px}
.about-card h3{
    font-family:var(--font-heading);
    font-size:1.6rem;font-weight:700;
    margin-bottom:20px;
    background:var(--gradient-text);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}
.about-card p{color:var(--text-secondary);margin-bottom:16px;font-size:.95rem}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.stat-item{
    background:rgba(15,23,42,.02);
    border:1px solid rgba(15,23,42,.04);
    border-radius:14px;padding:20px;text-align:center;
    transition:var(--transition);
}
.stat-item:hover{
    background:rgba(15,23,42,.04);
    border-color:rgba(139,108,181,.15);
    transform:translateY(-2px);
}
.stat-num{
    display:block;
    font-family:var(--font-heading);
    font-size:1.8rem;font-weight:800;
    background:var(--gradient-primary);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    margin-bottom:4px;
}
.stat-label{font-size:.78rem;color:var(--text-secondary);font-weight:500}

.info-list{display:flex;flex-direction:column;gap:14px}
.info-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(15,23,42,.04)}
.info-list li:last-child{border-bottom:none}
.info-label{font-size:.82rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}
.info-value{font-size:.92rem;color:var(--text);font-weight:500}

/* Timeline Styles */
.timeline{
    position:relative;
    max-width:900px;
    margin:0 auto;
    padding:20px 0;
}
.timeline-line{
    position:absolute;
    left:50%;
    top:0;bottom:0;
    width:2px;
    background:linear-gradient(to bottom,rgba(139,108,181,0),rgba(139,108,181,.4) 15%,rgba(184,154,219,.4) 85%,rgba(184,154,219,0));
    transform:translateX(-50%);
}
.timeline-item{
    position:relative;
    width:50%;
    padding:0 40px;
    margin-bottom:40px;
}
.left-item{
    left:0;
    text-align:right;
}
.right-item{
    left:50%;
    text-align:left;
}
.timeline-dot{
    position:absolute;
    width:16px;height:16px;
    border-radius:50%;
    background:#f8fafc;
    border:3px solid var(--accent-primary);
    top:24px;
    z-index:10;
    box-shadow:0 0 10px rgba(139,108,181,.3);
    transition:var(--transition);
}
.left-item .timeline-dot{right:-8px}
.right-item .timeline-dot{
    left:-8px;
    border-color:var(--accent-secondary);
    box-shadow:0 0 10px rgba(184,154,219,.3);
}
.timeline-item:hover .timeline-dot{transform:scale(1.3)}
.timeline-icon{
    width:44px;height:44px;
    border-radius:12px;
    background:rgba(139,108,181,.08);
    color:var(--accent-primary);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:14px;
    transition:var(--transition);
}
.right-item .timeline-icon{
    background:rgba(184,154,219,.08);
    color:var(--accent-secondary);
}
.timeline-item:hover .timeline-icon{
    background:var(--gradient-primary);
    color:#fff;
}
.right-item.timeline-item:hover .timeline-icon{
    background:var(--gradient-secondary);
}
.timeline-content{
    padding:28px;
}
.timeline-tag{
    display:inline-block;
    font-family:var(--font-heading);
    font-size:.75rem;font-weight:700;
    letter-spacing:1.5px;text-transform:uppercase;
    color:var(--accent-primary);
    margin-bottom:8px;
}
.right-item .timeline-tag{color:var(--accent-secondary)}
.timeline-content h3{
    font-family:var(--font-heading);
    font-size:1.3rem;font-weight:700;margin-bottom:6px;
}
.timeline-content h4{font-size:.92rem;color:var(--text-secondary);font-weight:500;margin-bottom:10px}
.timeline-content p{font-size:.88rem;color:var(--text-muted);line-height:1.6;margin-bottom:12px}
.status-badge{
    display:inline-block;
    padding:5px 14px;
    border-radius:50px;
    font-size:.72rem;font-weight:600;
    letter-spacing:.5px;text-transform:uppercase;
}
.status-badge.completed{
    background:rgba(139,108,181,.08);
    border:1px solid rgba(139,108,181,.2);
    color:var(--accent-primary);
}
.status-badge.ongoing{
    background:rgba(139,108,181,.08);
    border:1px solid rgba(139,108,181,.2);
    color:var(--accent-primary);
}
    margin-bottom:8px;letter-spacing:1px;
}

.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.skill-group{padding:28px}
.skill-group-header{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.skill-group-header svg{color:var(--accent-primary);flex-shrink:0}
.skill-group-header h3{
    font-family:var(--font-heading);
    font-size:1.1rem;font-weight:600;
    background:var(--gradient-text);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}
.skill-chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{
    padding:7px 16px;
    border-radius:50px;
    font-size:.82rem;font-weight:500;
    background:rgba(139,108,181,.06);
    border:1px solid rgba(139,108,181,.15);
    color:var(--accent-primary);
    transition:var(--transition-fast);
}
.chip:hover{
    background:var(--gradient-primary);
    color:#fff;
    border-color:transparent;
    transform:translateY(-2px);
}

.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.project-card{
    display:flex;flex-direction:column;
    overflow:hidden;height:100%;
    border-radius:20px;
}
.project-img-wrap{
    aspect-ratio:16/10;overflow:hidden;
    background:#e2e8f0;
}
.project-img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .6s ease;
}
.project-card:hover .project-img{transform:scale(1.07)}
.project-body{padding:28px;display:flex;flex-direction:column;flex:1}
.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.tag{
    font-size:.72rem;font-weight:600;
    padding:4px 12px;border-radius:50px;
    background:rgba(15,23,42,.03);
    border:1px solid rgba(15,23,42,.05);
    color:var(--text-secondary);
}
.project-title{
    font-family:var(--font-heading);
    font-size:1.25rem;font-weight:700;margin-bottom:10px;
    transition:color var(--transition-fast);
}
.project-card:hover .project-title{color:var(--accent-primary)}
.project-desc{
    font-size:.88rem;color:var(--text-secondary);
    line-height:1.65;margin-bottom:18px;flex:1;
}
.project-link{
    font-family:var(--font-heading);
    font-size:.88rem;font-weight:600;
    color:var(--accent-primary);
    display:inline-flex;align-items:center;gap:6px;
    transition:gap var(--transition-fast);
}
.project-link:hover{gap:10px}

.certs-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:16px;
}
.cert-card{
    display:flex;align-items:center;gap:16px;
    padding:20px;border-radius:16px;
    text-decoration:none;color:inherit;cursor:pointer;
}
.cert-icon{
    flex-shrink:0;
    width:44px;height:44px;
    border-radius:12px;
    background:rgba(139,108,181,.07);
    color:var(--accent-primary);
    display:flex;align-items:center;justify-content:center;
}
.cert-card:hover .cert-icon{
    background:var(--gradient-primary);
    color:#fff;
}
.cert-body h4{
    font-family:var(--font-heading);
    font-size:.95rem;font-weight:600;margin-bottom:2px;
}
.cert-body p{font-size:.8rem;color:var(--text-muted)}

.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:32px}
.contact-info,.contact-form{padding:36px}
.contact-info h3,.contact-form h3{
    font-family:var(--font-heading);
    font-size:1.6rem;font-weight:700;margin-bottom:16px;
    background:var(--gradient-text);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}
.contact-text{color:var(--text-secondary);font-size:.92rem;margin-bottom:28px}
.contact-list{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}
.contact-list li{display:flex;align-items:center;gap:16px}
.contact-icon-wrap{
    flex-shrink:0;
    width:44px;height:44px;border-radius:12px;
    background:rgba(15,23,42,.02);
    border:1px solid var(--border);
    color:var(--accent-primary);
    display:flex;align-items:center;justify-content:center;
}
.contact-label{
    display:block;
    font-size:.7rem;color:var(--text-muted);
    text-transform:uppercase;letter-spacing:1px;
}
.contact-list a{font-size:.9rem;color:var(--text);font-weight:500;transition:color var(--transition-fast)}
.contact-list a:hover{color:var(--accent-primary)}

.social-links h4{
    font-family:var(--font-heading);
    font-size:.95rem;font-weight:600;margin-bottom:14px;
}
.social-icons{display:flex;gap:10px}
.social-icon{
    width:42px;height:42px;border-radius:50%;
    background:rgba(15,23,42,.02);
    border:1px solid var(--border);
    color:var(--text-secondary);
    display:flex;align-items:center;justify-content:center;
    transition:var(--transition-fast);
}
.social-icon:hover{
    color:#fff;
    background:var(--gradient-primary);
    border-color:transparent;
    transform:translateY(-2px);
    box-shadow:var(--shadow-glow);
}

.contact-form{display:flex;flex-direction:column;gap:18px}
.form-group{display:flex;flex-direction:column;position:relative}
.form-group label{
    font-size:.82rem;font-weight:500;margin-bottom:6px;color:var(--text-secondary);
}
.form-input{
    background:rgba(15,23,42,.01);
    border:1px solid var(--border);
    border-radius:10px;padding:13px 16px;
    color:var(--text);
    font-family:var(--font-body);font-size:.92rem;
    outline:none;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.form-input:focus{
    border-color:var(--accent-primary);
    background:#fff;
    box-shadow:0 0 0 3px rgba(139,108,181,.08);
}
.form-textarea{resize:none}
.error-msg{font-size:.72rem;color:var(--accent-error);margin-top:4px;display:none}
.form-group.invalid .form-input{border-color:var(--accent-error);box-shadow:0 0 0 3px rgba(239,68,68,.06)}
.form-group.invalid .error-msg{display:block}
.btn-submit{width:100%;margin-top:6px}

.footer{
    border-top:1px solid rgba(15,23,42,.04);
    background:#f1f5f9;
    padding:48px 0 24px;
}
.footer-content{
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:24px;margin-bottom:32px;
}
.footer-logo{
    font-family:var(--font-heading);
    font-size:1.1rem;font-weight:700;
    color:var(--text);
}
.footer-brand p{font-size:.82rem;color:var(--text-muted);margin-top:4px}
.footer-links{display:flex;gap:24px}
.footer-links a{font-size:.85rem;color:var(--text-secondary);transition:color var(--transition-fast)}
.footer-links a:hover{color:var(--accent-primary)}
.footer-social{display:flex;gap:12px}
.footer-social a{
    width:38px;height:38px;border-radius:50%;
    background:rgba(15,23,42,.02);
    border:1px solid var(--border);
    color:var(--text-secondary);
    display:flex;align-items:center;justify-content:center;
    transition:var(--transition-fast);
}
.footer-social a:hover{
    color:#fff;
    background:var(--gradient-primary);
    border-color:transparent;
    transform:translateY(-2px);
}
.footer-bottom{
    border-top:1px solid rgba(15,23,42,.04);
    padding-top:20px;text-align:center;
}
.footer-bottom p{font-size:.8rem;color:var(--text-muted)}

.scroll-top{
    position:fixed;bottom:30px;right:30px;
    width:46px;height:46px;border-radius:50%;
    background:var(--gradient-primary);
    color:#fff;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:var(--shadow-glow);
    opacity:0;visibility:hidden;
    transform:translateY(20px);
    transition:var(--transition);
    z-index:100;
}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(139,108,181,.35)}

.toast{
    position:fixed;bottom:30px;right:-400px;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border-left:4px solid var(--accent-success);
    border-top:1px solid rgba(15,23,42,.05);
    border-right:1px solid rgba(15,23,42,.05);
    border-bottom:1px solid rgba(15,23,42,.05);
    padding:18px 22px;border-radius:0 14px 14px 0;
    box-shadow:0 15px 30px rgba(15,23,42,.08);
    z-index:2000;
    display:flex;align-items:center;gap:14px;
    transition:right .5s cubic-bezier(.175,.885,.32,1.275);
}
.toast.active{right:30px}
.toast-icon{color:var(--accent-success);flex-shrink:0}
.toast.error{border-left-color:var(--accent-error)}
.toast.error .toast-icon{color:var(--accent-error)}
.toast-title{font-family:var(--font-heading);font-size:.9rem;font-weight:700}
.toast-desc{font-size:.78rem;color:var(--text-secondary)}

@media(max-width:1024px){
    .section{padding:90px 0}
    .section-title{font-size:2.3rem}
    .hero-title{font-size:3.2rem}
    .about-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    .projects-grid{grid-template-columns:repeat(2,1fr)}
    .timeline-line{left:20px}
    .timeline-item{width:100%;padding-left:50px;padding-right:0;text-align:left}
    .left-item,.right-item{left:0}
    .left-item .timeline-dot,.right-item .timeline-dot{left:12px;right:auto}
    .left-item .timeline-tag{color:var(--accent-primary)}
}
@media(max-width:768px){
    .nav-links{display:none}
    .hamburger{display:flex}
    .hero-title{font-size:2.5rem;letter-spacing:-1px}
    .hero-subtitle{font-size:1rem}
    .section-title{font-size:2rem}
    .projects-grid{grid-template-columns:1fr}
    .skills-grid{grid-template-columns:1fr}
    .about-stats{grid-template-columns:repeat(3,1fr)}
    .about-card,.contact-info,.contact-form{padding:24px}
    .footer-content{flex-direction:column;text-align:center}
    .about-card h3,.contact-info h3,.contact-form h3{font-size:1.3rem}
}
@media(max-width:480px){
    .hero-title{font-size:2rem}
    .hero-actions{flex-direction:column;width:100%}
    .hero-actions .btn{width:100%}
    .about-stats{grid-template-columns:1fr}
    .section-title{font-size:1.7rem}
    .certs-grid{grid-template-columns:1fr}
}
