html{font-family:Inter,sans-serif;letter-spacing:.1rem;box-sizing:border-box}*{margin:0;padding:0}*,*:before,*:after{box-sizing:inherit}:root{--primary: #000;--secondary: rgb(24, 24, 27);--border: rgba(63, 63, 70, .4);--title: rgb(244, 244, 245);--subtitle: rgb(161, 161, 170);--bgHeader: rgb(39, 39, 42);--purple: #500073;--blue: rgb(93, 188, 252);--glass: rgba(255, 255, 255, .1)}.light{--primary: rgb(250, 250, 250);--secondary: rgb(255, 255, 255);--border: rgba(202, 202, 202, .518);--title: rgb(39, 39, 42);--subtitle: rgb(82, 82, 91);--bgHeader: rgb(253, 253, 253);--purple: #500073;--blue: rgb(0, 149, 256)}body{background-color:var(--primary)}.container{width:100%;margin:auto;border:solid 2px var(--border);background-color:var(--secondary);padding:0 3rem}.divider{border-bottom:1px solid var(--border);width:calc(100% + 6rem);margin:3rem 0 3rem -3rem}a:hover{cursor:pointer}button{all:unset;cursor:pointer}button:active{scale:.9}.border{border:1px solid red}::-webkit-scrollbar{width:.88rem}::-webkit-scrollbar-track{border:7px solid #292c3b;box-shadow:inset 0 0 2.5px 2px #00000080;border-radius:4px;background-color:#d4d4d8}::-webkit-scrollbar-thumb{background:#999;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#555}.scroll2top{background-color:#1976d2d9;width:2.6rem;height:2.6rem;border-radius:50%;position:fixed;bottom:7rem;right:3%;text-align:center;border:1px solid rgba(255,255,255,.2);font-size:1.4rem}.scroll2top:hover{background-color:#1976d2}@media (max-width: 1000px){.container{width:100%;padding:0 1.7rem}.divider{width:calc(100% + 3.4rem);margin-left:-1.7rem}}@media (max-width: 500px){.container{width:100%;padding:0 1rem}.divider{width:calc(100% + 2rem);margin-left:-1rem}.scroll2top{opacity:.5;height:2.2rem;width:2.2rem}}header.flex{position:relative;justify-content:center;padding:1rem 2.4rem;margin-top:1rem}header.flex nav{background-color:var(--bgHeader);padding:.77rem 1.6rem;border-radius:55px;box-shadow:2px 2px 40px var(--purple);max-width:600px;width:100%;display:flex;justify-content:center}header ul.flex{gap:32px;display:flex;align-items:center;justify-content:center;padding:0;margin:0}.flex{display:flex;align-items:center}li{list-style:none}a{text-decoration:none;color:initial;transition:.3s}header ul li a{color:var(--title);opacity:.88;font-weight:500;font-size:.88rem}header ul li a:hover{color:var(--purple);opacity:1;font-size:.9rem}header button{font-size:1.2rem}header .menu{display:none}.icon-menu,.theme{background-color:var(--bgHeader);height:2.4rem;width:2.4rem;text-align:center;border-radius:50%;border:1px solid #f1480047;color:var(--subtitle);box-shadow:5px 5px 40px var(--purple);cursor:pointer;transition:border-color .2s,color .2s}.icon-menu:hover,.theme:hover{border:1px solid #f14a00;color:var(--title)}.icon-close{font-size:1.3rem;color:var(--subtitle);transition:font-size .3s,color .3s,transform .3s}.icon-close:hover{font-size:1.6rem;color:#dc143c;transform:rotate(180deg)}.icon-sun{color:#f14a00}.theme{position:absolute;top:1rem;right:2.4rem;z-index:10}header .fixed{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#282830e8;z-index:11}@keyframes zoom{0%{scale:0}60%{scale:1.2}to{scale:1}}header .fixed ul.model{width:75%;margin:auto;margin-top:2rem;border-radius:1rem;padding:1rem 2rem;background-color:var(--secondary);box-shadow:2px 2px 80px var(--purple);animation:zoom .7s}header .fixed ul.model li{border-bottom:1px solid var(--border);padding-bottom:.77rem;padding-top:.5rem;font-size:1rem}header .fixed ul.model li:last-child{border:none}header .fixed ul.model li:first-child{text-align:right;border:none;padding-bottom:0;padding-top:0;margin-bottom:-.5rem}@media (max-width: 1023px){header.flex{justify-content:space-evenly}header.flex nav{max-width:none;width:auto;display:block}.theme{position:static;margin-left:auto}}@media (max-width: 650px){header.flex nav{display:none}button.menu{display:block}}section.hero .leftsection{flex-grow:1;align-items:baseline}section.hero{margin-top:3rem}section.hero .parent-avatar{align-items:end;gap:.6rem;min-height:120px}section.hero .avatar{width:120px;border-radius:50%;border:1px solid #f1480047;padding:1px;box-shadow:5px 5px 10px var(--purple)}section.hero .avatar:hover{border:1px solid #F14A00}section.hero .icon-verified{color:var(--blue);font-size:1.1rem;align-content:end;margin-bottom:.5rem}section.hero h1.titre{font-size:2.85rem;line-height:3.3rem;margin:24px 0;color:var(--title)}section.hero p.subtitle{color:var(--subtitle);font-size:.9rem;line-height:1.65rem;margin-bottom:32px}section.hero div.all-icons{gap:1.5rem;display:flex;align-items:center}section.hero div.all-icons a{font-size:2rem;color:var(--subtitle);text-decoration:none}section.hero .icon:hover{font-size:2.2rem;color:var(--purple);transition:.3s;border-radius:50%}.lapanimation{width:90%}@media (max-width: 825px){.lapanimation{display:none}}.about-section{width:100%;padding:1rem 0}.about-container{margin:0 auto;padding:0}.section-title{font-size:1.875rem;font-weight:700;color:var(--title);margin-bottom:2rem;position:relative;transition:.5s}.section-title:hover{color:var(--purple)}.section-title:after{content:"";position:absolute;bottom:-.5rem;left:0;width:5rem;height:.25rem;background-color:var(--purple)}.about-content-wrapper{display:flex;flex-wrap:wrap;gap:2rem}.about-content{flex:1 1 45%}.about-text{color:var(--subtitle);line-height:1.75}.education-section{flex:1 1 50%;padding-top:0}.timeline-container{position:relative}.timeline-line{position:absolute;top:0;left:.1rem;bottom:0;width:2px;background-color:#2563eb}.timeline-items{display:flex;flex-direction:column;gap:2rem}.timeline-item{position:relative;padding-left:2rem}.timeline-dot{position:absolute;left:-.25rem;top:1.5rem;width:.75rem;height:.75rem;border-radius:50%;background-color:var(--purple);border:2px solid white;box-shadow:0 0 0 2px var(--purple)}.timeline-content{padding:1rem;border-radius:.5rem}.school-name{font-weight:600;color:var(--title);margin-bottom:.5rem}.program-name{color:var(--subtitle);font-size:.875rem;margin-bottom:.5rem}.education-period{color:#2563eb;font-size:.875rem;font-weight:500}@media (max-width: 768px){.about-content-wrapper{flex-direction:column}.about-content,.education-section{flex:1 1 100%}}:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--success-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--warning-gradient: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);--card-shadow: 0 20px 40px rgba(0, 0, 0, .1);--card-shadow-hover: 0 30px 60px rgba(0, 0, 0, .15);--blur-backdrop: blur(20px)}main.flex{gap:2rem;align-items:start;padding:2rem 0}main section.leftsection{flex-direction:column;gap:12px;color:#fff;position:sticky;top:2rem}main section.leftsection button{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);border:1px solid rgba(255,255,255,.1);width:12rem;padding:1rem 1.5rem;text-align:center;font-size:1rem;font-weight:500;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}main section.leftsection button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}main section.leftsection button:hover:before{left:100%}main section.leftsection button.active{background:var(--primary-gradient);border-color:#fff3;box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}main section.leftsection button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ffffff1a}.light main section.leftsection button{background:linear-gradient(135deg,#0000000d,#00000005);border-color:#0000001a;color:#333}.light main section.leftsection button.active{background:var(--primary-gradient);color:#fff}main section.rightsection{flex-wrap:wrap;gap:2rem;flex-grow:1;justify-content:center;align-items:stretch}.project-card{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);border:1px solid rgba(255,255,255,.1);border-radius:20px;transition:all .4s cubic-bezier(.4,0,.2,1);width:320px;min-height:480px;position:relative;box-shadow:var(--card-shadow)}.project-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:var(--card-shadow-hover);border-color:#fff3}.light .project-card{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border-color:#0000001a}.card-image-container{position:relative;height:200px;overflow:hidden;border-radius:20px 20px 0 0}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-image{transform:scale(1.1)}.card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#000000b3,#0006);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project-card:hover .card-overlay{opacity:1}.overlay-buttons{display:flex;gap:1rem}.overlay-btn{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:25px;text-decoration:none;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop)}.overlay-btn.primary{background:var(--primary-gradient);color:#fff}.overlay-btn.secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.overlay-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.card-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex-grow:1}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.project-title{color:var(--title);font-size:1.3rem;font-weight:700;margin:0;line-height:1.3}.project-description{color:var(--subtitle);font-size:.9rem;line-height:1.6;margin:0}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tech-tag{background:linear-gradient(135deg,#667eea33,#764ba233);color:var(--title);padding:.3rem .8rem;border-radius:15px;font-size:.7rem;font-weight:500;border:1px solid rgba(102,126,234,.3)}.status-badge{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:15px;font-size:.7rem;font-weight:600;white-space:nowrap}.status-badge.completed{background:linear-gradient(135deg,#4caf5033,#4caf501a);color:#4caf50;border:1px solid rgba(76,175,80,.3)}.status-badge.progress{background:linear-gradient(135deg,#ffc10733,#ffc1071a);color:#ffc107;border:1px solid rgba(255,193,7,.3)}.status-badge.planning{background:linear-gradient(135deg,#9c27b033,#9c27b01a);color:#9c27b0;border:1px solid rgba(156,39,176,.3)}.collaborators-section{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);position:relative;z-index:10}.collaborators-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}.collaborators-icon{color:var(--subtitle);font-size:.9rem}.collaborators-title{color:var(--title);font-size:.9rem;font-weight:600}.collaborators-list{display:flex;flex-wrap:wrap;gap:.8rem}.collaborator-container{position:relative;display:inline-block;z-index:10}.collaborator-badge{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);border:1px solid rgba(255,255,255,.2);border-radius:25px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.collaborator-badge:hover{background:linear-gradient(135deg,#fff3,#ffffff1a);transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.collaborator-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3)}.collaborator-name{color:var(--title);font-size:.85rem;font-weight:500}.collaborator-links{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);z-index:99999;background:linear-gradient(135deg,#24252ef2,#24252ee6);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:1.2rem;min-width:220px;box-shadow:0 20px 40px #0000004d;animation:fadeInTop .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;pointer-events:auto}.collaborator-links:before{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);width:100%;height:.5rem;background:transparent;z-index:99999}.light .collaborator-links{background:linear-gradient(135deg,#fffffff2,#ffffffe6);border-color:#0000001a}.light .collaborators-section{border-top-color:#0000001a}@keyframes fadeInTop{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.collaborator-name-popup{color:var(--title);font-size:1.1rem;font-weight:700;margin:0 0 .3rem;text-align:center}.collaborator-role{color:var(--subtitle);font-size:.8rem;margin:0 0 1rem;text-align:center}.social-links{display:flex;justify-content:center;gap:1rem}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;overflow:hidden}.social-link:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:inherit;opacity:0;transition:opacity .3s ease}.social-link:hover:before{opacity:.8}.social-link:hover{transform:translateY(-3px);box-shadow:0 10px 20px #0003}.social-link.email{background:linear-gradient(135deg,#ea4335,#d33b2c);color:#fff}.social-link.linkedin{background:linear-gradient(135deg,#0077b5,#005885);color:#fff}.social-link.github{background:linear-gradient(135deg,#333,#24292e);color:#fff}.social-link.website{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}@media (max-width: 768px){main.flex{flex-direction:column;gap:1.5rem;padding:1rem 0}main section.leftsection{position:static;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.8rem}main section.leftsection button{width:auto;min-width:120px;padding:.8rem 1.2rem;font-size:.9rem}main section.rightsection{gap:1.5rem}.project-card{width:100%;max-width:350px}.collaborator-links{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:280px;z-index:100000}.collaborator-links:before{display:none}.social-links{gap:.8rem}.social-link{width:45px;height:45px}.overlay-buttons{flex-direction:column;gap:.8rem}.overlay-btn{padding:.6rem 1.2rem}}@media (max-width: 480px){.card-header{flex-direction:column;gap:.8rem;align-items:flex-start}.project-title{font-size:1.2rem}.collaborator-badge{padding:.4rem .8rem}.collaborator-name{font-size:.8rem}.collaborator-links{z-index:100000}}section.contact-me .icon-envelope{color:var(--subtitle);margin-right:1rem;font-size:1.8rem}section.contact-me form div.flex{flex-direction:column;align-items:start}section.contact-me .titre{font-size:2.1rem;color:var(--title);margin-bottom:1rem;position:relative}section.contact-me .titre:after{content:"";position:absolute;bottom:-.5rem;left:0rem;width:5rem;height:.25rem;background-color:var(--purple)}section.contact-me .subtitle{color:var(--subtitle);margin-bottom:2rem;line-height:1.65rem}section.contact-me label{color:var(--subtitle);margin-left:1rem}section.contact-me #email,section.contact-me #message{all:unset;background-color:#3f3f4626;border:1px solid rgb(63,63,70);width:16rem;padding:.5rem 1rem;margin-left:1rem;border-radius:5px;transition:.3s;font-size:1.1rem;color:#fff}.light section.contact-me #email,.light section.contact-me #message{background-color:#ffffff32;color:#232324;border:1px solid rgba(128,128,128,.451);box-shadow:1px 1px 1px #49494b1b}section.contact-me #email:focus,section.contact-me #message:focus,section.contact-me #email:hover,section.contact-me #message:hover{border:1px solid var(--purple);box-shadow:2px 2px 10px var(--purple)}.light section.contact-me #email:focus,.light section.contact-me #message:focus,.light section.contact-me #email:hover,.light section.contact-me #message:hover{box-shadow:2px 2px 10px var(--purple)}section.contact-me #message{min-height:9rem;resize:vertical}section.contact-me form{flex-direction:column;align-items:stretch}section.contact-me .submit{color:#fff;display:inline-block;background-color:var(--purple);padding:.75rem 1rem;text-align:center;font-size:1.05rem;border-radius:5px;margin-top:1rem;margin-bottom:1rem;letter-spacing:1.6px;border:1px solid var(--purple);box-shadow:2px 2px 10px var(--purple);width:59%;margin-left:3rem}section.contact-me .submit:hover{scale:.97}button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:825px){section.contact-me div.animation{display:none}}@media (max-width: 600px){section.contact-me form{width:85%;margin:auto}section.contact-me #email,section.contact-me #message{width:100%;margin-left:0;padding:.7rem 0;margin-top:1rem}section.contact-me .submit{width:30%;margin-left:0;align-self:center}}.footer{color:var(--title);padding:40px 20px;text-align:center;position:relative}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between}h2{font-size:2rem;margin-bottom:10px}p{font-size:1.1rem;margin-bottom:20px;font-weight:300}.footer-column{flex:1;margin:10px}.footer-column h3{font-size:1.3rem;margin-bottom:10px;font-weight:600}.footer-links{list-style:none;padding:0;margin-bottom:20px}.footer-links li{display:inline-block;margin-right:15px}.footer-links a{text-decoration:none;color:var(--sutitle);font-size:1rem;transition:color .3s ease}.footer-links a:hover{color:var(--purple)}.footer-socials{display:flex;justify-content:center;gap:15px}.footer-socials a{color:var(--sutitle);font-size:1.5rem;transition:color .3s ease}.footer-socials a:hover{color:var(--purple)}.footer-copy{font-size:.9rem;margin-top:20px;opacity:.6}@media (max-width: 768px){.footer-content{flex-direction:column;align-items:center}.footer-column{margin:20px 0;text-align:center}.footer-links{text-align:center;margin-bottom:20px}.footer-links li{display:block;margin-bottom:10px}.footer-socials a{font-size:1.3rem;margin:0 8px}}.banner{width:100%;height:115vh;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.skills-title h2{font-size:1.875rem;font-weight:700;color:var(--title);margin-bottom:2rem;position:relative;transition:.5s;margin-bottom:1rem}.skills-title h2:after{content:"";position:absolute;bottom:-.5rem;left:0;width:5rem;height:.25rem;background-color:var(--purple)}.skills-title h2:hover{color:var(--purple)}.skills-title p{font-family:Poppins,sans-serif;font-size:clamp(1rem,2.5vw,1.2rem);color:var(--subtitle);line-height:1.6;margin-bottom:2rem}mark{background-color:#800080e6;color:#000}.light mark{color:#fff}.slider{position:relative;width:160px;height:200px;transform-style:preserve-3d;transform:perspective(1000px);animation:autoRun 20s linear infinite;z-index:2}@keyframes autoRun{0%{transform:perspective(1000px) rotateX(-16deg) rotateY(0)}to{transform:perspective(1000px) rotateX(-16deg) rotateY(360deg)}}.slider-item{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(300px);display:flex;align-items:center;justify-content:center;padding:20px}.glass-effect{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:15px}.glass-effect:hover{border-color:var(--purple);background:var(--purple);box-shadow:2px 2px 10px var(--purple)}body.light .glass-effect{background:#800080e6}body.light .glass-effect:hover{background:#ffffff1a;border-color:var(--purple);box-shadow:2px 2px 10px var(--purple)}.content{position:relative;width:100%;max-width:1400px;padding:20px;display:flex;flex-direction:column;align-items:center;z-index:1;margin-top:2rem}.title{font-family:ICA Rubrik;line-height:1.2;color:var(--title);position:relative;text-align:center;width:100%;text-shadow:0 10px 20px var(--subtitle);font-size:clamp(3rem,8vw,13rem);margin-bottom:1rem}.title:after{position:absolute;top:0;right:0;bottom:0;left:0;content:attr(data-content);z-index:3;-webkit-text-stroke:2px #d2d2d2;color:transparent}.author{font-family:Poppins;text-shadow:0 10px 20px var(--purple);z-index:2;width:100%;text-align:center;padding:0 20px}.author h2{font-size:clamp(1.5rem,3vw,3rem);margin:10px 0;color:var(--subtitle)}.download-button{margin-top:5rem;z-index:2}.btn-download{color:#fff;background-color:var(--purple);padding:.75rem 1.5rem;text-align:center;font-size:1.05rem;border-radius:5px;letter-spacing:1.6px;border:1px solid var(--purple);box-shadow:2px 2px 10px var(--purple);transition:transform .2s ease,box-shadow .2s ease}@media screen and (max-width: 1024px){.slider{width:110px;height:180px}.slider-item{transform:rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(210px)}}@media screen and (max-width: 767px){.slider{width:100px;height:150px;margin-top:1rem}.slider-item{transform:rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(200px);padding:15px}.slider-item svg{transform:scale(.8)}.skills-title h2{font-size:clamp(1.8rem,5vw,3rem);color:var(--title)}.skills-title p{font-size:clamp(.9rem,2.5vw,1.1rem);color:var(--subtitle)}.title{font-size:clamp(2.5rem,8vw,10rem);color:var(--title)}.author h2{font-size:clamp(1.2rem,3vw,2.5rem);color:var(--subtitle)}.mdl{display:none}}@media screen and (max-width: 480px){.slider{width:80px;height:130px}.slider-item{transform:rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(150px);padding:10px}.slider-item svg{transform:scale(.7)}.download-button{margin-top:1rem}}
