/* ── Custom Fonts ── */
@font-face { font-family:'Magic'; src:url('magic_space/MAGIC%20SPACE.ttf') format('truetype'); }
@font-face { font-family:'Tech'; src:url('technoid/TECHNOID.TTF') format('truetype'); }
@font-face { font-family:'starbirl'; src:url('starbirl/Starbirl.otf') format('opentype'); }
@font-face { font-family:'reality'; src:url('reality_hyper/Reality%20Hyper%20Regular.ttf') format('truetype'); }

/* ── Reset ── */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

/* ── Body ── */
body{
    font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
    background-image:url("images/Charlotte%20lollierou.jpg");
    background-size:cover;
    background-position:center;
    background-attachment:fixed;
    color:#0c4a6e;
    line-height:1.6;
    min-height:100vh;
}

/* ── Orbes flottants Frutiger Aero ── */
.aero-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(55px);opacity:0.45;animation:driftOrb 14s ease-in-out infinite;}
.aero-orb-1{width:480px;height:480px;top:-120px;left:-100px;background:radial-gradient(circle at 35% 30%,#b8e8ff,#2ab0e8);animation-delay:0s;}
.aero-orb-2{width:360px;height:360px;top:40%;right:-80px;background:radial-gradient(circle at 35% 30%,#c8f8ff,#18c8e0);animation-delay:-5s;}
.aero-orb-3{width:280px;height:280px;bottom:80px;left:15%;background:radial-gradient(circle at 35% 30%,#d8f4ff,#58c8f8);animation-delay:-9s;}
.aero-orb-4{width:200px;height:200px;bottom:20px;right:20%;background:radial-gradient(circle at 35% 30%,#e0f8ff,#38b8e8);animation-delay:-3s;}
@keyframes driftOrb{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-28px) scale(1.06);}}

/* ── Bulles flottantes ── */
.bubble-float{position:fixed;border-radius:50%;border:1.5px solid rgba(255,255,255,0.65);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,0.55),rgba(160,220,255,0.12));pointer-events:none;z-index:0;animation:riseBubble linear infinite;}
@keyframes riseBubble{0%{transform:translateY(110vh) scale(0.8);opacity:0;}8%{opacity:0.9;}92%{opacity:0.6;}100%{transform:translateY(-15vh) scale(1.1);opacity:0;}}

/* ── Navbar glass XP ── */
.navbar{
    position:fixed;top:0;width:100%;z-index:1000;
    background:linear-gradient(180deg,rgba(255,255,255,0.52) 0%,rgba(210,240,255,0.38) 100%);
    backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
    border-bottom:1px solid rgba(255,255,255,0.72);
    box-shadow:0 2px 20px rgba(80,180,240,0.15),inset 0 1px 0 rgba(255,255,255,0.9);
    padding:0.85rem 2rem;
    transition:all 0.3s ease;
}
.navbar::after{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,0.38),rgba(255,255,255,0));pointer-events:none;}
.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;}
.logo{font-family:'starbirl',sans-serif;font-size:1.05rem;font-weight:bold;background:linear-gradient(135deg,#1a7fa8 0%,#0868a8 50%,#18c8a0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-webkit-text-stroke: 0.25px rgb(255, 255, 255);}
.nav-menu{display:flex;list-style:none;gap:0.3rem;align-items:center;}
.nav-menu li a{display:flex;align-items:center;gap:0.4rem;color:#0868a8;text-decoration:none;font-weight:600;font-size:0.88rem;padding:0.4rem 0.9rem;border-radius:50px;transition:all 0.25s ease;}
.nav-menu li a:hover{background:rgba(255,255,255,0.5);box-shadow:0 2px 10px rgba(80,180,240,0.2),inset 0 1px 0 rgba(255,255,255,0.8);}
.nav-menu a::after{display:none;}
.nav-icon{width:18px;height:18px;flex-shrink:0;}

/* ── XP Pill (mixin via class) ── */
.xp-pill,.language-switcher,.know-more-btn,.submit-btn,.paper-toggle-btn,.social-link,.hero-cta-blue{
    background:linear-gradient(180deg,#c0e8ff 0%,#50b8e8 46%,#2898d8 47%,#0868b8 100%);
    border:1.5px solid rgba(255,255,255,0.72);
    box-shadow:0 3px 12px rgba(30,120,200,0.28),inset 0 1px 0 rgba(255,255,255,0.52);
    position:relative;overflow:hidden;
}
.xp-pill::before,.language-switcher::before,.know-more-btn::before,.submit-btn::before,.paper-toggle-btn::before,.social-link::before{
    content:'';position:absolute;top:0;left:0;right:0;height:50%;
    background:rgba(255,255,255,0.3);border-radius:inherit;pointer-events:none;
}

/* ── Language switcher ── */
.language-switcher{display:flex;align-items:center;gap:0.4rem;padding:0.42rem 1.1rem;border-radius:50px;cursor:pointer;transition:all 0.25s ease;}
.language-switcher:hover{transform:scale(1.05);}
.lang-option{color:rgba(255,255,255,0.65);font-weight:700;font-size:0.78rem;letter-spacing:0.5px;position:relative;z-index:1;}
.lang-option.active{color:white;}
.lang-separator{color:rgba(255,255,255,0.4);position:relative;z-index:1;font-size:0.75rem;}

/* ── Hero ── */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background-image:url("images/Charlotte%20lollierou.jpg");background-size:cover;background-position:center;position:relative;overflow:hidden;}
.hero-content{text-align:center;z-index:2;position:relative;animation:fadeInUp 1s ease;}
.hero-title{font-size:4.2rem;font-family:'starbirl',sans-serif;margin-bottom:1rem;background:linear-gradient(135deg,#ffffff 0%,#d0f0ff 40%,#a8e4ff 70%,#ffffff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 3px 16px rgba(30,140,220,0.45));line-height:1.1;-webkit-text-stroke: 0.5px rgb(27, 65, 122);}
.hero-subtitle{font-size:1.35rem;color:rgba(255,255,255,0.92);font-family:"reality",sans-serif;margin-bottom:2.5rem;text-shadow:0 2px 12px rgba(20,100,180,0.4);}
.hero-cta{display:inline-block;padding:0.9rem 2.5rem;background:linear-gradient(180deg,rgba(255,255,255,0.5) 0%,rgba(200,238,255,0.32) 100%);backdrop-filter:blur(14px);border:1.8px solid rgba(255,255,255,0.82);color:white;text-decoration:none;border-radius:50px;font-weight:700;font-size:0.95rem;letter-spacing:0.3px;transition:all 0.3s ease;box-shadow:0 6px 24px rgba(30,140,220,0.2),inset 0 1px 0 rgba(255,255,255,0.8);position:relative;overflow:hidden;}
.hero-cta::before{content:'';position:absolute;top:0;left:0;right:0;height:48%;background:rgba(255,255,255,0.25);border-radius:50px 50px 0 0;}
.hero-cta:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(30,140,220,0.3),inset 0 1px 0 rgba(255,255,255,0.9);}

/* Hero bubbles */
.bubble{position:absolute;border-radius:50%;animation:float 6s infinite ease-in-out;}
.bubble-1{width:100px;height:100px;top:20%;left:10%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,0.35),rgba(160,220,255,0.08));border:1px solid rgba(255,255,255,0.4);animation-delay:0s;}
.bubble-2{width:150px;height:150px;top:60%;right:15%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,0.3),rgba(160,220,255,0.06));border:1px solid rgba(255,255,255,0.35);animation-delay:2s;}
.bubble-3{width:80px;height:80px;bottom:20%;left:20%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,0.3),rgba(160,220,255,0.06));border:1px solid rgba(255,255,255,0.35);animation-delay:4s;}
@keyframes float{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-20px) rotate(180deg);}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* ── Section ── */
.section{padding:5rem 2rem;max-width:1200px;margin:0 auto;opacity:0;transform:translateY(30px);transition:all 0.8s ease;position:relative;z-index:1;}
.section.visible{opacity:1;transform:translateY(0);}

/* Glass card base — appliqué sur about/skills/projects/experience/contact */
.about,.skills,.projects,.experience,.contact{
    background:linear-gradient(180deg,rgba(255,255,255,0.48) 0%,rgba(220,242,255,0.36) 100%);
    backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
    border:1.5px solid rgba(255,255,255,0.72);
    border-bottom-color:rgba(140,210,255,0.35);
    border-radius:28px;
    padding:3.5rem 3rem;
    box-shadow:0 8px 40px rgba(80,180,240,0.1),inset 0 1px 0 rgba(255,255,255,0.9);
    position:relative;overflow:hidden;
}
.about::before,.skills::before,.projects::before,.experience::before,.contact::before{content:'';position:absolute;top:0;left:0;right:0;height:38%;background:linear-gradient(180deg,rgba(255,255,255,0.32),rgba(255,255,255,0));pointer-events:none;border-radius:28px 28px 0 0;}

/* ── Section titles ── */
.section-title{font-size:2.2rem;font-family:'reality',sans-serif;text-align:center;margin-bottom:3rem;background:linear-gradient(135deg,#1a7fa8 0%,#0868a8 60%,#18c8a0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 4px rgba(30,120,200,0.15));}

/* ── About ── */
.about-content{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:center;}
.about-image{width:100%;max-width:500px;height:300px;background-image:url(images/tl_pics.jpg);background-repeat:no-repeat;background-size:cover;background-position:center;border-radius:20px;border:2px solid rgba(255,255,255,0.75);box-shadow:0 8px 32px rgba(80,180,240,0.2),inset 0 1px 0 rgba(255,255,255,0.7);}
.about-text{line-height:1.85;color:#0c4a6e;}
.about-text p{margin-bottom:1rem;font-size:0.96rem;}

/* ── Skills ── */
.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem;}
.skill-card{background:linear-gradient(180deg,rgba(255,255,255,0.55) 0%,rgba(210,242,255,0.42) 100%);border:1.5px solid rgba(255,255,255,0.78);border-bottom-color:rgba(140,210,255,0.4);border-radius:18px;padding:1.6rem 1rem;text-align:center;transition:all 0.28s ease;box-shadow:0 4px 16px rgba(80,180,240,0.1),inset 0 1px 0 rgba(255,255,255,0.95);position:relative;overflow:hidden;cursor:default;}
.skill-card::before{content:'';position:absolute;top:0;left:0;right:0;height:45%;background:linear-gradient(180deg,rgba(255,255,255,0.4),rgba(255,255,255,0));border-radius:18px 18px 0 0;pointer-events:none;}
.skill-card:hover{transform:translateY(-7px);box-shadow:0 12px 32px rgba(30,140,220,0.2),inset 0 1px 0 rgba(255,255,255,0.95);border-color:rgba(80,180,240,0.6);}
.skill-icon{width:64px;height:64px;margin:0 auto 0.8rem;display:block;}
.skill-title{font-size:0.88rem;font-weight:700;color:#0868a8;}
.skill-card p{font-size:0.78rem;color:#3888b8;margin-top:0.3rem;line-height:1.5;}

/* ── Projects ── */
.projects-grid{display:flex;flex-direction:column;gap:2rem;}
.project-card{background:linear-gradient(135deg,rgba(30,140,220,0.52),rgba(24,200,200,0.42));border:1.5px solid rgba(255,255,255,0.68);border-radius:22px;overflow:hidden;box-shadow:0 8px 32px rgba(30,140,220,0.18),inset 0 1px 0 rgba(255,255,255,0.55);transition:transform 0.28s ease,box-shadow 0.28s ease;position:relative;}
.project-card::before{content:'';position:absolute;top:0;left:0;right:0;height:28%;background:linear-gradient(180deg,rgba(255,255,255,0.18),rgba(255,255,255,0));pointer-events:none;z-index:1;}
.project-card:hover{transform:translateY(-5px);box-shadow:0 16px 44px rgba(30,140,220,0.28);}
.project-image{width:100%;height:360px;background-repeat:no-repeat;background-size:cover;background-position:center;}
.first{background-image:url(images/esports_slide.jpg);}
.second{background-image:url("images/Sol-Esports%20Posters%20(2).jpg");}
.third{background-image:url(images/Darkgames2.png);}
.fourth{background-image:url(images/Darkgames2.png);}
.project-content{padding:1.8rem 2.2rem;color:white;display:flex;justify-content:space-between;align-items:center;gap:2rem;position:relative;z-index:2;}
.project-main{flex:1;}
.project-title{font-size:1.5rem;font-weight:700;margin-bottom:0.5rem;text-shadow:0 1px 6px rgba(0,60,120,0.25);}
.project-description{opacity:0.92;margin-bottom:1rem;font-size:0.95rem;line-height:1.6;max-width:680px;}
.project-tags{display:flex;gap:0.5rem;flex-wrap:wrap;}
.tag{background:linear-gradient(180deg,rgba(255,255,255,0.38) 0%,rgba(255,255,255,0.18) 100%);border:1px solid rgba(255,255,255,0.62);color:white;padding:0.28rem 0.85rem;border-radius:50px;font-size:0.8rem;font-weight:700;backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);}

/* Know more button */
.know-more-btn{flex-shrink:0;background:linear-gradient(180deg,#c0e8ff 0%,#50b8e8 46%,#2898d8 47%,#0868b8 100%);border:1.5px solid rgba(255,255,255,0.72);color:white;padding:0.7rem 1.6rem;border-radius:50px;cursor:pointer;font-size:0.88rem;font-weight:700;white-space:nowrap;transition:all 0.25s ease;box-shadow:0 3px 12px rgba(30,120,200,0.3),inset 0 1px 0 rgba(255,255,255,0.55);position:relative;overflow:hidden;letter-spacing:0.2px;}
.know-more-btn::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:rgba(255,255,255,0.3);border-radius:50px 50px 0 0;}
.know-more-btn:hover{transform:scale(1.04) translateY(-1px);box-shadow:0 6px 20px rgba(30,120,200,0.4),inset 0 1px 0 rgba(255,255,255,0.6);}

/* Project details */
.project-details{max-height:0;overflow:hidden;transition:max-height 0.5s ease,padding 0.3s ease;background:rgba(0,60,120,0.18);backdrop-filter:blur(8px);padding:0 2.2rem;}
.project-details.open{max-height:600px;padding:1.8rem 2.2rem;}
.project-details h4{color:rgba(255,255,255,0.75);font-size:0.75rem;font-weight:700;margin-bottom:0.6rem;margin-top:1rem;text-transform:uppercase;letter-spacing:1.8px;}
.project-details h4:first-child{margin-top:0;}
.project-details p{color:rgba(255,255,255,0.92);line-height:1.8;margin-bottom:0.5rem;font-size:0.92rem;}
.project-details ul{color:rgba(255,255,255,0.92);padding-left:1.4rem;line-height:2.1;font-size:0.92rem;}

/* ── Research Papers ── */
.papers-subsection{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,0.45);}
.papers-subtitle{font-size:1.4rem;font-family:'reality',sans-serif;background:linear-gradient(135deg,#1a7fa8,#0868a8,#18c8a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:0.6rem;text-align:center;}
.papers-intro{text-align:center;color:#3888b8;margin-bottom:2rem;font-size:0.9rem;}
.papers-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.paper-card{background:linear-gradient(180deg,rgba(255,255,255,0.58) 0%,rgba(215,242,255,0.44) 100%);border:1.5px solid rgba(255,255,255,0.8);border-bottom-color:rgba(140,210,255,0.4);border-radius:20px;padding:1.8rem;display:flex;flex-direction:column;gap:0.9rem;transition:all 0.28s ease;box-shadow:0 4px 20px rgba(80,180,240,0.08),inset 0 1px 0 rgba(255,255,255,0.95);position:relative;overflow:hidden;}
.paper-card::before{content:'';position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,0.38),rgba(255,255,255,0));border-radius:20px 20px 0 0;pointer-events:none;}
.paper-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(30,140,220,0.18);border-color:rgba(80,180,240,0.55);}
.paper-header{display:flex;align-items:center;gap:0.8rem;}
.paper-icon{font-size:1.8rem;}
.paper-meta{display:flex;flex-direction:column;gap:0.15rem;}
.paper-year{font-size:0.78rem;font-weight:700;color:#0868a8;}
.paper-course{font-size:0.75rem;color:#5a9ab8;}
.paper-title{font-size:0.92rem;font-weight:700;color:#0c4a6e;line-height:1.45;}
.paper-desc{font-size:0.85rem;color:#2a6a8a;line-height:1.7;}
.paper-tags{display:flex;flex-wrap:wrap;gap:0.4rem;}
.paper-tag{background:linear-gradient(180deg,#e8f6ff,#cceeff);color:#0868a8;font-size:0.73rem;font-weight:700;padding:0.22rem 0.7rem;border-radius:50px;border:1px solid rgba(80,180,240,0.28);box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);}
.paper-toggle-btn{align-self:flex-start;background:linear-gradient(180deg,#c0e8ff 0%,#50b8e8 46%,#2898d8 47%,#0868b8 100%);color:white;border:1.5px solid rgba(255,255,255,0.7);padding:0.55rem 1.3rem;border-radius:50px;font-size:0.82rem;font-weight:700;cursor:pointer;transition:all 0.25s ease;margin-top:0.3rem;box-shadow:0 3px 10px rgba(30,120,200,0.25),inset 0 1px 0 rgba(255,255,255,0.52);position:relative;overflow:hidden;}
.paper-toggle-btn::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:rgba(255,255,255,0.3);border-radius:50px 50px 0 0;}
.paper-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 5px 16px rgba(30,120,200,0.35),inset 0 1px 0 rgba(255,255,255,0.55);}
.paper-abstract{max-height:0;overflow:hidden;transition:max-height 0.5s ease,padding 0.3s ease;background:linear-gradient(180deg,rgba(230,248,255,0.6),rgba(210,240,255,0.4));border-radius:14px;padding:0 1.2rem;border:1px solid transparent;}
.paper-abstract.open{max-height:600px;padding:1.2rem;border-color:rgba(140,210,255,0.35);}
.paper-abstract h5{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#0868a8;margin-bottom:0.45rem;margin-top:0.8rem;}
.paper-abstract h5:first-child{margin-top:0;}
.paper-abstract p{color:#1a5f80;font-size:0.85rem;line-height:1.8;}

/* ── Experience timeline ── */
.timeline{position:relative;padding-left:2rem;}
.timeline::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#48b0e8 0%,#a8deff 60%,rgba(168,222,255,0.2) 100%);border-radius:3px;}
.timeline-item{position:relative;margin-bottom:2.2rem;padding-left:2rem;}
.timeline-item::before{content:'';position:absolute;left:-2rem;top:3px;width:20px;height:20px;background:radial-gradient(circle at 38% 28%,#ffffff 0%,#90d8ff 35%,#0878c8 100%);border-radius:50%;border:2px solid rgba(255,255,255,0.8);box-shadow:0 2px 8px rgba(30,120,200,0.35),inset 0 1px 0 rgba(255,255,255,0.9);}
.timeline-date{color:#0868a8;font-weight:700;font-size:0.85rem;margin-bottom:0.4rem;}
.timeline-title{font-size:1.2rem;font-weight:700;color:#0c4a6e;margin-bottom:0.2rem;}
.timeline-company{color:#3888b8;font-size:0.88rem;margin-bottom:0.5rem;}
.timeline-description{color:#1a5f80;line-height:1.7;font-size:0.9rem;}

/* ── Contact ── */
.contact-content{display:contents;grid-template-columns:1fr 1fr;gap:2rem;}
.form-group label{margin-bottom:0.45rem;font-weight:700;color:#0868a8;font-size:1rem;}
.form-group input,.form-group textarea{padding:0.75rem 0.88rem;background:linear-gradient(180deg,rgba(255,255,255,0.62) 0%,rgba(220,242,255,0.5) 100%);border:1.5px solid rgba(255,255,255,0.78);border-bottom-color:rgba(140,210,255,0.45);border-radius:12px;font-family:inherit;font-size:0.92rem;color:#0c4a6e;transition:all 0.25s ease;backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,0.9),0 2px 8px rgba(80,180,240,0.06);}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:rgba(80,180,240,0.7);box-shadow:0 0 0 3px rgba(80,180,240,0.15),inset 0 1px 0 rgba(255,255,255,0.9);}
.form-group input::placeholder,.form-group textarea::placeholder{color:#7ab8d0;}
.form-group textarea{resize:vertical;min-height:120px;}
.submit-btn{padding:0.9rem 2rem;background:linear-gradient(180deg,#c0e8ff 0%,#50b8e8 46%,#2898d8 47%,#0868b8 100%);color:white;border:1.5px solid rgba(255,255,255,0.72);border-radius:50px;font-size:0.95rem;font-weight:700;cursor:pointer;transition:all 0.25s ease;box-shadow:0 4px 16px rgba(30,120,200,0.3),inset 0 1px 0 rgba(255,255,255,0.52);position:relative;overflow:hidden;letter-spacing:0.3px;}
.submit-btn::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:rgba(255,255,255,0.3);border-radius:50px 50px 0 0;}
.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(30,120,200,0.4),inset 0 1px 0 rgba(255,255,255,0.55);}
.contact-info{display:flex;flex-direction:column;gap:1rem;}
.contact-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(180deg,rgba(255,255,255,0.55) 0%,rgba(215,242,255,0.42) 100%);border:1.5px solid rgba(255,255,255,0.78);border-bottom-color:rgba(140,210,255,0.35);border-radius:16px;transition:all 0.25s ease;box-shadow:0 3px 12px rgba(80,180,240,0.08),inset 0 1px 0 rgba(255,255,255,0.95);position:relative;overflow:hidden;}
.contact-item::before{content:'';position:absolute;top:0;left:0;right:0;height:44%;background:linear-gradient(180deg,rgba(255,255,255,0.32),rgba(255,255,255,0));border-radius:16px 16px 0 0;pointer-events:none;}
.contact-item:hover{transform:translateX(6px);box-shadow:0 6px 20px rgba(30,140,220,0.15);}
.contact-icon{width:40px;height:40px;flex-shrink:0;}
.contact-item strong{color:#0868a8;font-size:0.82rem;display:block;margin-bottom:0.1rem;}
.contact-item div{color:#1a5f80;font-size:1rem;}
.social-links{display:flex;gap:0.8rem;margin-top:0.8rem;}
.social-link{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#c0e8ff 0%,#50b8e8 46%,#2898d8 47%,#0868b8 100%);color:white;border-radius:50%;text-decoration:none;font-size:1rem;font-weight:700;transition:all 0.25s ease;border:1.5px solid rgba(255,255,255,0.7);box-shadow:0 3px 10px rgba(30,120,200,0.28),inset 0 1px 0 rgba(255,255,255,0.5);position:relative;overflow:hidden;}
.social-link::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:rgba(255,255,255,0.3);border-radius:50% 50% 0 0;}
.social-link:hover{transform:translateY(-4px) scale(1.08);box-shadow:0 8px 20px rgba(30,120,200,0.38);}

/* ── Footer ── */
.footer{background:linear-gradient(180deg,rgba(30,100,180,0.7),rgba(8,80,160,0.8));backdrop-filter:blur(20px);color:rgba(255,255,255,0.9);text-align:center;padding:2rem;font-size:0.85rem;font-weight:600;border-top:1px solid rgba(255,255,255,0.3);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);position:relative;z-index:1;}

/* ── Responsive ── */
@media(max-width:768px){
    .nav-menu{gap:0.4rem;font-size:0.82rem;}
    .nav-menu li a{padding:0.35rem 0.6rem;}
    .nav-icon{width:14px;height:14px;}
    .hero-title{font-size:2.6rem;}
    .about-content,.contact-content{grid-template-columns:1fr;}
    .papers-grid{grid-template-columns:1fr;}
    .timeline{padding-left:1rem;}
    .project-image{height:220px;}
    .project-content{flex-direction:column;align-items:flex-start;}
    .know-more-btn{width:100%;text-align:center;}
    .skills-grid{grid-template-columns:repeat(2,1fr);}
    .about,.skills,.projects,.experience,.contact{padding:2.5rem 1.5rem;}
    .language-switcher{padding:0.38rem 0.85rem;font-size:0.75rem;}
}