@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,600;1,700&display=swap');
.site-nav{position:sticky!important;top:0;z-index:100;height:74px!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(16px);border-bottom:1px solid #cbd5e1!important}.site-nav .brand{display:flex;align-items:center;gap:.65rem;letter-spacing:0}.site-nav .brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#101827;color:#5ee0ff;font:700 .72rem "DM Mono",monospace}.site-nav .brand-name{font:700 .82rem "DM Sans",sans-serif;letter-spacing:-.02em}.site-nav nav{display:flex;align-items:center;gap:.15rem;padding:.28rem;border:1px solid #d5dbea;border-radius:99px}.site-nav nav a{padding:.45rem .7rem;border-radius:99px;color:#27344c;font-size:.76rem}.site-nav nav a span{margin-right:.35rem;color:#087ea4;font:500 .57rem "DM Mono",monospace}.site-nav nav a:hover{background:#eaf1ff;color:#101827}.site-nav .nav-contact{margin-left:.15rem;background:#101827;color:#fff}.site-nav .nav-contact b{margin-left:.35rem;color:#5ee0ff}.site-nav .nav-contact:hover{background:#5135b8;color:#fff}.site-nav .cv-link{padding:.56rem .78rem;border-color:#101827;background:#fff;font-size:.72rem}.site-nav .cv-link span{color:#5135b8}.mobile-menu{display:none}.mobile-menu summary{list-style:none;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}
:root{--paper:#ffffff!important;--ink:#101827!important;--muted:#34435e!important;--line:#aebbd3!important;--cyan:#087ea4!important;--violet:#5135b8!important;--blue:#dbe7ff!important;--night:#101b3d!important;--white:#ffffff!important}body{background:#fff!important;color:#101827!important}.lead,.strip p,.role,.slide ul,.modal-content p,.popup-content p{color:#34435e!important}.profile{background:#101b3d!important;color:#fff!important}.profile p,.profile footer{color:#e2e9ff!important}.skills,.contact{background:#101b3d!important;color:#fff!important}.skills .title>p,.contact>p{color:#d3ddfb!important}.competence-item{background:#101b3d!important;color:#fff!important}.competence-item:hover{background:#1b2d5c!important}.competence-item em,.contact>div a{color:#e2e9ff!important}.featured{background:#5135b8!important;color:#fff!important}.featured:before{box-shadow:0 0 0 37px #7862d5,0 0 0 75px #40289b!important}.tile{background:#edf3ff!important}.plantard{background:#dbe7ff!important}.passions{background:#d7f3ff!important}.passion{color:#101827!important;border-bottom-color:#8bb9c9!important}.contact>a{color:#5ee0ff!important;border-bottom-color:#5ee0ff!important}

:root{--paper:#f5f7ff;--ink:#111827;--muted:#5a6882;--line:#d5dbea;--cyan:#38d8ff;--violet:#7c5cff;--blue:#c6d4ff;--night:#111a35;--white:#edf4ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif}.glow{position:fixed;z-index:-1;width:30rem;height:30rem;border-radius:50%;filter:blur(100px);opacity:.18}.one{top:-15rem;left:-15rem;background:#9fc5ff}.two{top:35rem;right:-15rem;background:#8ae7ff}header,.hero,.section{width:min(1240px,calc(100% - 48px));margin:auto}header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);font:700 1.7rem "DM Mono";letter-spacing:-.15em;text-decoration:none}.brand span{color:var(--violet)}nav{display:flex;gap:2rem}nav a,.cv-link{color:var(--ink);font-size:.79rem;font-weight:700;text-decoration:none}.cv-link{padding:.65rem .9rem;border:1px solid var(--ink);border-radius:99px}.cv-link:hover{background:var(--ink);color:#fff}.hero{min-height:615px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:4rem}.kicker,.title>p,.cert>p,.passions>p,.contact>p{font:500 .68rem "DM Mono";letter-spacing:.08em;color:var(--muted)}.kicker i{display:inline-block;width:8px;height:8px;margin-right:.55rem;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px #bceeff}h1{margin:.8rem 0 1.8rem;font-size:clamp(3.6rem,7vw,6.8rem);line-height:.88;letter-spacing:-.085em}h1 em,.contact em{font-family:"Playfair Display"}.lead{max-width:500px;color:var(--muted);font-size:1.04rem;line-height:1.7}.actions{display:flex;gap:.7rem;margin-top:2rem}.actions a,.actions button{padding:.9rem 1.05rem;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font:700 .8rem "DM Sans";text-decoration:none}.actions .primary{background:var(--ink);border-color:var(--ink);color:#fff}.actions a:hover,.actions button:hover{transform:translateY(-3px)}
.profile{min-height:380px;padding:1rem;color:var(--white);background:var(--night);transform:rotate(3deg);box-shadow:14px 15px 0 var(--blue)}.profile>div,.profile footer{display:flex;justify-content:space-between;font:500 .63rem "DM Mono";letter-spacing:.06em}.profile>div i{width:8px;height:8px;border-radius:50%;background:var(--cyan)}.profile>strong{width:164px;height:164px;margin:3rem auto 1.3rem;display:grid;place-items:center;border:1px solid #6073ab;border-radius:50%;box-shadow:inset 0 0 0 11px #192548;color:var(--cyan);font:700 3rem "DM Mono"}.profile h2,.profile p{text-align:center}.profile h2{margin:0;font-size:1.1rem}.profile p,.profile footer{color:#c4cee5}.profile footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #43547f}.strip{padding:1.4rem max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;gap:2rem;border-block:1px solid var(--line)}.strip p{margin:0;color:var(--muted)}.strip div{display:flex;gap:.5rem}.strip span{padding:.4rem .6rem;border:1px solid var(--line);border-radius:99px;font:500 .63rem "DM Mono"}
.section{padding:7.5rem 0}.title{display:flex;justify-content:space-between;margin-bottom:3rem}.title h2,.cert h2{margin:0;text-align:right;font-size:clamp(2.2rem,4.2vw,4.1rem);line-height:.92;letter-spacing:-.075em}.journey{display:grid;grid-template-columns:.62fr 1.38fr;gap:4rem}.journey .title{display:block}.journey .title h2{margin-top:1rem;text-align:left}.experience-slider{height:370px}.slider-container{height:100%;overflow:hidden}.slider-wrapper-horizontal{display:flex;height:calc(100% - 52px);transition:transform .5s}.slide{min-width:100%;display:flex;justify-content:space-between;align-items:center;padding:2.2rem;border:1px solid var(--line);background:#e9efff;opacity:.2}.slide.active{opacity:1}.date,.role{font:500 .7rem "DM Mono";letter-spacing:.06em}.date{color:var(--violet)}.role,.slide ul{color:var(--muted)}.slide h3{margin:.5rem 0;font-size:2rem;letter-spacing:-.06em}.slide ul{max-width:430px;padding-left:1rem;font-size:.86rem;line-height:1.8}.company-logo{width:120px;height:120px;object-fit:contain;background:#fff;padding:.5rem;margin-left:2rem}.slider-controls{height:52px;display:flex;align-items:center;gap:.8rem}.arrow{width:31px;height:31px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.arrow:hover{background:var(--ink);color:#fff}.dots{display:flex;gap:.35rem}.dot{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer}.dot.active{background:var(--violet)}
.skills{padding:7.5rem max(24px,calc((100vw - 1240px)/2));background:var(--night);color:var(--white)}.skills .title{display:block}.skills .title>p{color:#aebcdf}.skills .title h2{margin-top:1rem;text-align:left}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#4a5e90}.competence-item{min-height:230px;padding:1.3rem;border:0;background:var(--night);color:var(--white);display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr;gap:.8rem;text-align:left;cursor:pointer}.competence-item:hover{background:#1d2d56}.competence-item small{font:500 .66rem "DM Mono";color:var(--cyan)}.competence-item>b{grid-row:2;font-size:2.4rem}.competence-item span{align-self:end;grid-row:2}.competence-item strong,.competence-item em{display:block}.competence-item em{margin-top:.25rem;color:#bdc9e4;font-style:normal}
.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}.featured{position:relative;grid-row:span 2;min-height:480px;padding:2rem;overflow:hidden;background:var(--violet);color:#fff;cursor:pointer}.featured:before{content:"";position:absolute;right:-4rem;top:-5rem;width:22rem;height:22rem;border:1px solid #e1dcff;border-radius:50%;box-shadow:0 0 0 37px #947fff,0 0 0 75px #654de0}.featured>*{position:relative}.featured p,.tile p{font:500 .66rem "DM Mono";letter-spacing:.07em}.featured h3{margin-top:13rem;font-size:3rem;line-height:.9;letter-spacing:-.08em}.featured span{position:absolute;right:2rem;bottom:2rem;font-size:2rem}.featured small{position:absolute;bottom:2.5rem;font:500 .6rem "DM Mono"}.tile{min-height:232px;padding:1.5rem;display:flex;align-items:center;gap:1.2rem;border:1px solid var(--line);background:#e7ecf7;color:var(--ink);text-align:left;text-decoration:none;font:inherit;cursor:pointer}.tile:hover,.more:hover{transform:translateY(-4px)}.tile img{width:85px;height:85px;object-fit:contain}.tile h3{margin:0;font-size:1.4rem;letter-spacing:-.05em}.tile> :last-child{margin-left:auto}.plantard{border:0;background:var(--blue)}.more{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--ink);color:#fff;font-size:.82rem;font-weight:700;text-decoration:none}.more b{color:var(--cyan);font-size:2rem}
.extras{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem}.cert{padding:1.8rem;border:1px solid var(--line)}.cert h2{text-align:left;margin:.8rem 0 2rem}.cert>div{display:flex;gap:1rem}.cert button{flex:1;display:flex;align-items:center;gap:.6rem;padding:.7rem;border:1px solid var(--line);background:transparent;color:var(--ink);font:700 .72rem "DM Sans";cursor:pointer}.cert button:hover{background:#e9efff}.cert img{width:35px;height:35px;object-fit:contain}.passions{padding:1.8rem;background:var(--cyan)}.passions h3{font-size:2rem;line-height:.9;letter-spacing:-.07em}.passion{width:100%;display:flex;justify-content:space-between;padding:.6rem 0;border:0;border-bottom:1px solid #95cbe2;background:transparent;color:var(--ink);font:700 .75rem "DM Sans";cursor:pointer}.contact{padding:7rem max(24px,calc((100vw - 1240px)/2));background:var(--night);color:var(--white)}.contact>p{color:#aebcdf}.contact h2{font-size:clamp(2.8rem,6vw,5.5rem);line-height:.88;letter-spacing:-.08em}.contact>a{display:inline-block;color:var(--cyan);border-bottom:1px solid var(--cyan);padding-bottom:.3rem;font-size:clamp(1rem,2vw,1.5rem);font-weight:600;text-decoration:none}.contact>div{display:flex;gap:1.2rem;margin-top:4rem}.contact>div a{color:#bdc9e4;font:500 .7rem "DM Mono";text-decoration:none}.footer{padding:1rem max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;background:#0b1128;color:#aebcdf;font:500 .6rem "DM Mono"}
.modal,.popup{display:none;position:fixed;inset:0;z-index:20;align-items:center;justify-content:center;padding:1rem;background:#081020bb;backdrop-filter:blur(6px)}.modal-content,.popup-content{position:relative;max-height:88vh;width:min(590px,100%);overflow:auto;padding:2rem;background:var(--paper);color:var(--ink)}.modal-content p,.popup-content p{color:var(--muted);line-height:1.65;white-space:pre-line}.close,.popup-close{position:absolute;top:.5rem;right:.8rem;border:0;background:transparent;color:var(--ink);font-size:1.7rem;cursor:pointer}.modal-img,.popup-img{max-width:100%;max-height:260px;object-fit:contain}
@media(max-width:760px){header,.hero,.section{width:calc(100% - 32px)}header{height:70px}nav{display:none}.cv-link{font-size:.68rem}.hero{min-height:auto;padding:5.5rem 0;grid-template-columns:1fr;gap:3.5rem}h1{font-size:clamp(3.4rem,16vw,5rem)}.profile{width:min(320px,90%);min-height:330px;margin:auto}.strip{display:block;padding:1.5rem 1rem}.strip div{margin-top:1rem;flex-wrap:wrap}.section{padding:4.5rem 0}.title{display:block}.title h2{margin-top:1rem;text-align:left}.journey{display:block}.experience-slider{height:430px;margin-top:2.5rem}.slide{position:relative;padding:1.3rem;align-items:flex-start}.company-logo{position:absolute;right:1.3rem;bottom:1.3rem;width:75px;height:75px;margin:0}.skills{padding:4.5rem 1rem}.skill-grid,.project-grid{grid-template-columns:1fr}.competence-item{min-height:145px}.featured{grid-row:auto;min-height:370px}.featured h3{margin-top:8rem}.tile{min-height:150px}.extras{display:block}.passions{margin-top:1rem}.cert>div{flex-wrap:wrap}.cert button{min-width:calc(50% - .5rem)}.contact{padding:5rem 1rem}.footer{padding:1rem;font-size:.53rem}}

/* Navigation principale */
.site-nav{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px)}
.site-nav .brand{display:flex;align-items:center;gap:.65rem;letter-spacing:0}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--cyan);font:700 .72rem "DM Mono",monospace}.brand-name{font:700 .78rem "DM Sans",sans-serif;letter-spacing:-.02em}.site-nav nav{gap:.3rem;padding:.3rem;border:1px solid var(--line);border-radius:99px}.site-nav nav a{padding:.42rem .7rem;border-radius:99px;transition:background .2s,color .2s}.site-nav nav a:hover{background:#e7ecf7}.site-nav .nav-contact{background:var(--ink);color:#fff}.site-nav .nav-contact:hover{background:var(--violet);color:#fff}.site-nav .nav-contact span{color:var(--cyan);margin-left:.25rem}.site-nav .cv-link{border-color:var(--line);background:#fff}.site-nav .cv-link:hover{border-color:var(--ink)}.site-nav .cv-link span{color:var(--violet);padding-left:.2rem}@media(max-width:760px){.site-nav .brand-name{display:none}.site-nav .cv-link{padding:.55rem .7rem}.site-nav .cv-link span{display:none}}
