html,body{height:100%;margin:0}body{color:#fff;background-color:#000;font-family:Franklin Gothic Medium,Arial Narrow,Arial,sans-serif}.home-page{box-sizing:border-box;width:min(1120px,100%);margin-inline:auto;padding:152px 24px 56px;font-family:Arial,sans-serif}.home-hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:28px 80px;display:grid}.home-eyebrow{color:#aaa;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 24px;font-size:12px;font-weight:600;line-height:1.6}.home-intro h1{color:#f5f5f5;letter-spacing:-2px;margin:0;font-size:clamp(36px,5vw,60px);font-weight:600;line-height:1.15}.home-intro h1>span{color:#999;letter-spacing:-.8px;margin-top:14px;font-size:.6em;font-weight:400;display:block}.home-description{text-align:justify;color:#aaa;max-width:480px;margin:28px 0;font-size:16px;line-height:1.8}.home-actions{flex-wrap:wrap;gap:12px;display:flex}.home-button{box-sizing:border-box;color:#eee;border:1px solid #383838;border-radius:8px;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.home-button:hover{background:#191919;border-color:#777}.home-social-icon{flex-shrink:0;width:20px;height:20px}.home-button[aria-disabled=true]{cursor:default}.home-button-primary{color:#111;background:#eee;border-color:#eee}.home-button-primary:hover{background:#fff;border-color:#fff}.home-page a:focus-visible{outline-offset:5px;outline:2px solid #fff}.home-avatar{background:#101010;border:1px solid #292929;border-radius:12px;justify-self:center;width:min(100%,400px);min-width:0;margin:0;overflow:hidden}.home-avatar img{aspect-ratio:1;width:100%;height:auto;display:block}.home-interests{border-top:1px solid #292929;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:32px;display:grid}.home-interests h2{margin:0 0 12px;font-size:15px;font-weight:600;line-height:1.5}.home-interests p{color:#999;margin:0 0 16px;font-size:14px;line-height:1.7}.home-interests span{color:#bbb;font-size:12px;line-height:1.8}.home-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=800px){.home-page{padding-top:120px}.home-hero{gap:32px}.home-interests{gap:24px}}@media (width<=640px){.home-page{padding:104px 20px 40px}.home-hero{grid-template-columns:1fr;gap:40px;padding:12px 0 40px}.home-intro h1{letter-spacing:-1px}.home-avatar{width:min(100%,300px)}.home-interests{grid-template-columns:1fr;gap:28px}}.parcours-section{box-sizing:border-box;width:min(1120px,100%);margin-inline:auto;padding:128px 24px 64px;font-family:Arial,sans-serif}.parcours-section h1{text-align:center;letter-spacing:-1px;margin:0 0 64px;font-size:clamp(28px,4vw,38px);font-weight:600}.parcours-timeline{margin:0;padding:0;list-style:none;position:relative}.parcours-timeline:before{content:"";background:#292929;width:2px;position:absolute;top:-24px;bottom:-64px;left:50%;transform:translate(-50%)}.parcours-item{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:96px;padding-bottom:80px;display:grid;position:relative}.parcours-item:last-child{padding-bottom:0}.parcours-item:nth-child(2n) .parcours-card{grid-column:2}.parcours-item:after{content:"";background:#292929;width:48px;height:1px;position:absolute;top:38px;right:50%}.parcours-item:nth-child(2n):after{left:50%;right:auto}.parcours-item:before{content:"";z-index:1;background:#60a5fa;border-radius:50%;width:12px;height:12px;position:absolute;top:32px;left:50%;transform:translate(-50%);box-shadow:0 0 0 5px #000}.parcours-card{overflow-wrap:anywhere;background:#101010;border:1px solid #292929;border-radius:12px;grid-column:1;padding:28px}.parcours-card .year{color:#93c5fd;margin-bottom:10px;font-size:14px;font-weight:600;display:inline-block}.parcours-card h2{color:#f5f5f5;margin:0 0 8px;font-size:20px;line-height:1.4}.parcours-card h3{color:#aaa;margin:0 0 20px;font-size:16px;font-weight:400;line-height:1.5}.parcours-card ul{color:#ccc;margin:0;padding-left:18px;font-size:15px;line-height:1.8}@media (width<=760px){.parcours-timeline:before{left:8px}.parcours-item{padding:0 0 48px 36px;display:block}.parcours-item:before{left:8px}.parcours-item:after{display:none}}@media (width<=580px){.parcours-section{padding:104px 20px 40px}.parcours-timeline:before{bottom:-40px}.parcours-section h1{margin-bottom:40px}.parcours-card{padding:20px}}.projects-container{box-sizing:border-box;width:min(1120px,100%);margin-inline:auto;padding:128px 24px 64px;font-family:Arial,sans-serif}.projects-container h1{text-align:center;letter-spacing:-1px;margin:0 0 36px;font-size:clamp(28px,4vw,38px);font-weight:600}#grid-projets{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.project-card{color:#f5f5f5;background:#101010;border:1px solid #292929;border-radius:12px;flex-direction:column;min-width:0;padding:28px;text-decoration:none;transition:border-color .18s,background-color .18s,transform .18s;display:flex}.project-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.project-pin{color:#bbb;flex-shrink:0;padding-top:5px;display:inline-flex}.project-card h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:20px;font-weight:600;line-height:1.4}.project-card p{color:#aaa;margin:0 0 28px;font-size:15px;line-height:1.7}.project-card-link{color:#ddd;border-top:1px solid #292929;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;font-size:13px;display:flex}.project-card-link>span{font-size:20px}@media (hover:hover){.project-card:hover{background:#171717;border-color:#666;transform:translateY(-3px)}}.project-card:focus-visible{outline-offset:4px;outline:2px solid #fff}@media (width<=900px){#grid-projets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=580px){.projects-container{padding:104px 20px 40px}.projects-container h1{margin-bottom:24px}#grid-projets{grid-template-columns:1fr;gap:16px}.project-card{padding:24px}}@media (prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover{transform:none}}.stack-page{box-sizing:border-box;width:min(1120px,100%);margin-inline:auto;padding:128px 24px 64px;font-family:Arial,sans-serif}.stack-page h1{text-align:center;letter-spacing:-1px;margin:0 0 16px;font-size:clamp(28px,4vw,38px);font-weight:600}.stack-intro{text-align:center;color:#aaa;max-width:520px;margin:0 auto 40px;font-size:15px;line-height:1.7}.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.stack-category{background:#101010;border:1px solid #292929;border-radius:12px;min-width:0;padding:28px}.stack-category h2{margin:0 0 12px;font-size:20px;font-weight:600;line-height:1.4}.stack-category p{color:#aaa;margin:0 0 24px;font-size:15px;line-height:1.7}.stack-category ul{gap:22px;margin:0;padding:0;list-style:none;display:grid}.stack-category li{color:#ddd;font-size:14px;line-height:1.4}.stack-skill-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.stack-level{color:#999;font-size:12px}.stack-gauge{background:#303030;border-radius:4px;height:7px;overflow:hidden}.stack-gauge>span{border-radius:inherit;background:#93c5fd;height:100%;display:block}@media (width<=640px){.stack-page{padding:104px 20px 40px}.stack-grid{grid-template-columns:1fr;gap:16px}.stack-category{padding:24px}}.site-header{z-index:100;background:#000;border-bottom:1px solid #262626;justify-content:center;align-items:center;gap:24px;padding:16px max(24px,50% - 560px);font-family:Arial,sans-serif;display:flex;position:fixed;inset:0 0 auto}.site-header a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.header-nav ul{gap:40px;margin:0;padding:0;list-style:none;display:flex}.header-nav a{color:#aaa;border-bottom:2px solid #0000;font-size:22px;font-weight:500}.header-nav a:hover,.header-nav a.active{color:#fff}.header-nav a.active{border-bottom-color:#fff}.site-header a:focus-visible{outline-offset:4px;outline:2px solid #fff}@media (width<=580px){.site-header{flex-direction:column;gap:0;padding:8px 20px}.header-nav ul{gap:clamp(12px,4vw,24px)}.header-nav a{font-size:20px}}@media (width<=380px){.header-nav a{font-size:18px}}
