:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-alt:#fff7ed;--surface:#fff;--surface-muted:#fff7ed;--strong:#0c1423;--header-bg:#0c1423;--header-bg-alt:#0e203f;--heading:#0c1423;--text-strong:#0c1423;--text:#333;--text-muted:#555;--on-strong:#fff;--accent:#fdc57f;--accent-text:#9f540c;--accent-soft:#ffefdc;--blob:#fdc57f4d;--on-accent:#0c1423;--button-bg:#0c1423;--button-text:#fdc57f;--button-hover-bg:#fdc57f;--button-hover-text:#0c1423;--border:#0c14231f;--border-strong:#0c142340;--shadow:#0c142314;--shadow-strong:#0c142340;--overlay:#0c142399;--device-frame:#222;--success:#276c27;--danger:#d32f2f;--focus-ring:#fdc57f;--focus-ring-inner:#0c1423}.button-link{background-color:var(--button-bg);border:solid 1px var(--button-bg);border-radius:4px;min-width:100px;display:flex;position:relative}.button-link:hover{background-color:var(--button-hover-bg)}.button-link:hover .see-more{color:var(--button-hover-text);gap:14px}.button-link .see-more{width:100%;color:var(--button-text);justify-content:center;align-items:center;gap:4px;padding:6px 8px;transition:gap .4s;display:flex}@media screen and (width<=768px){.button-link .see-more{justify-content:center;align-items:center;gap:8px;min-width:120px;min-height:36px;padding:0;display:flex}.button-link .see-more span{justify-content:center;align-items:center;width:83%;height:59%;margin:0;display:flex}}@media screen and (width<=768px) and (width<=768px){.button-link .see-more span{width:fit-content}}.section-container.error-page{text-align:center;max-width:1000px;margin:0 auto;padding:140px 20px 100px}.section-container.error-page .error-status{background:linear-gradient(var(--accent) 34%, orange);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-family:effortless,serif;font-size:clamp(6rem,18vw,11rem);line-height:1}.section-container.error-page h1{color:var(--heading);margin:12px 0 8px}.section-container.error-page .error-message{max-width:520px;color:var(--text);margin:0 auto 48px;line-height:1.6}.section-container.error-page .error-links{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media screen and (width<=768px){.section-container.error-page .error-links{grid-template-columns:1fr}}.section-container.error-page .error-link{border-top:3px solid var(--accent);background-color:var(--surface);box-shadow:0 4px 8px var(--shadow);color:var(--text-strong);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:24px;text-decoration:none;transition:all .5s;display:flex}.section-container.error-page .error-link .text{flex-direction:column;gap:4px;display:flex}.section-container.error-page .error-link .name{font-size:1.2rem;font-weight:700}.section-container.error-page .error-link .teaser{color:var(--text);font-size:.9rem}.section-container.error-page .error-link .nav-arrow{flex-shrink:0;transition:transform .3s}.section-container.error-page .error-link:hover,.section-container.error-page .error-link:focus-visible{box-shadow:0 12px 30px var(--shadow-strong);transform:translateY(-4px)}.section-container.error-page .error-link:hover .name,.section-container.error-page .error-link:focus-visible .name{text-decoration:underline}.section-container.error-page .error-link:hover .nav-arrow,.section-container.error-page .error-link:focus-visible .nav-arrow{transform:translate(4px)}@media screen and (width>=768px){.homepage .hero-area{height:calc(100vh - 64px)}}@media screen and (width<=768px){.homepage .hero-area{padding-bottom:20px}}.homepage .hero-area{background:var(--bg-alt);flex-direction:column;margin-top:64px;display:flex}.homepage .hero-area .presentation{flex-wrap:wrap;justify-content:space-around;align-items:center;margin-top:auto;display:flex;position:relative}@media screen and (width>=1024px){.homepage .hero-area .presentation{width:80%}}@media screen and (width>=768px){.homepage .hero-area .presentation{width:96%;margin:auto}}@media screen and (width<=768px){.homepage .hero-area .presentation{flex-direction:column;margin-top:20px}}.homepage .hero-area .presentation .person{z-index:666;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}@media screen and (width<=768px){.homepage .hero-area .presentation .person{align-items:center}}.homepage .hero-area .presentation .person{min-width:24%;max-width:52%;height:fit-content}@media screen and (width>=768px){.homepage .hero-area .presentation .person h1{text-align:left;padding-bottom:26px;font-size:3.3rem}}@media screen and (width<=768px){.homepage .hero-area .presentation .person h1{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:fit-content;padding:10px;font-size:2rem;display:flex;gap:12px!important}.homepage .hero-area .presentation .person h1 br{display:none}.homepage .hero-area .presentation .person h1 .cursor{display:none!important}}.homepage .hero-area .presentation .person h1{color:var(--heading);margin:0;font-family:effortless,serif}.homepage .hero-area .presentation .person h1 .title{display:flex}.homepage .hero-area .presentation .person h1 .dev{align-items:flex-start}.homepage .hero-area .presentation .person h1 .cursor{background:0 0;width:12px;margin-left:4px;margin-right:-16px;animation:1s infinite blink;display:inline-block}.homepage .hero-area .presentation .person h1 .typewriter-rest{visibility:hidden}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media screen and (width<=768px){.homepage .hero-area .presentation .person{max-width:100%}}.homepage .hero-area .presentation .person .person-description{z-index:666;align-items:center;gap:0;min-width:25%;max-width:80%;min-height:348px;font-weight:700;display:grid;position:relative}@media screen and (width<=1024px){.homepage .hero-area .presentation .person .person-description{width:92%;max-width:92%}}.homepage .hero-area .presentation .person .person-description{height:fit-content;color:var(--text-strong);align-items:center;padding:6px 16px;overflow:hidden}.homepage .hero-area .presentation .person .person-description .description{z-index:666}.homepage .hero-area .presentation .person .person-description .description p{z-index:666;height:fit-content;margin:6px 0 0;padding:0}.homepage .hero-area .presentation .person .person-description .description p a{color:var(--accent-text)}.homepage .hero-area .presentation .person .person-description .description p a:hover{text-decoration:underline}.homepage .hero-area .presentation .person .person-description .hero-cta{z-index:12;background-color:var(--button-bg);color:var(--button-text);border-radius:4px;justify-self:start;align-items:center;gap:8px;margin:4px 0 10px;padding:10px 20px;font-size:1.1rem;font-weight:700;text-decoration:none;transition:background-color .3s,gap .3s;display:inline-flex;position:relative}.homepage .hero-area .presentation .person .person-description .hero-cta:hover,.homepage .hero-area .presentation .person .person-description .hero-cta:focus-visible{background-color:var(--button-hover-bg);color:var(--button-hover-text);gap:14px}@media screen and (width<=768px){.homepage .hero-area .presentation .person .person-description .hero-cta{justify-self:center}}.homepage .hero-area .presentation .person .person-description:before{content:"";border-top:1px solid var(--heading);border-left:1px solid var(--heading);clip-path:inset(0 100% 100% 0);width:100%;height:100%;animation:1s cubic-bezier(.68,-.55,.27,1.55) forwards border-appear-top-left;position:absolute;top:3px;left:0;transform:skew(1deg)skewY(-1deg)}.homepage .hero-area .presentation .person .person-description:after{content:"";border-bottom:1px solid var(--heading);border-right:1px solid var(--heading);clip-path:inset(100% 0 0 100%);width:100%;height:100%;animation:1s cubic-bezier(.68,-.55,.27,1.55) .6s forwards border-appear-bottom-right;position:absolute;bottom:3px;right:0;transform:skew(1deg)skewY(-1deg)}.homepage .hero-area .presentation .picture-name-wrapper{z-index:20;flex-direction:column;align-items:flex-end;width:40%;max-width:50%;display:flex}@media screen and (width<=768px){.homepage .hero-area .presentation .picture-name-wrapper{align-items:center;width:100%;max-width:100%}}.homepage .hero-area .presentation .picture-name-wrapper .picture-name-container{flex-direction:column;align-items:center;display:flex}.homepage .hero-area .presentation .picture-name-wrapper .picture-name-container img{width:300px;height:auto}@media screen and (width<=768px){.homepage .hero-area .presentation .picture-name-wrapper .picture-name-container img{width:200px;margin-bottom:20px}}.homepage .hero-area .presentation .picture-name-wrapper .picture-name-container img{z-index:16;position:relative}.homepage .hero-area .presentation .picture-name-wrapper .name-tag{color:var(--accent);background-color:var(--strong);z-index:20;letter-spacing:2px;border-radius:8px;margin-top:0;margin-bottom:.83em;padding:6px 20px;font-family:montserrat,serif;font-size:1.5em;font-weight:700}@media screen and (width<=768px){.homepage .hero-area .presentation .picture-name-wrapper .name-tag{text-align:center;margin:0 auto 20px}}.homepage .hero-area img.shape{z-index:2;width:735px;position:absolute;bottom:-1px;right:0}@media screen and (width<=1024px){.homepage .hero-area img.shape{display:none}}.homepage .hero-area .links-wrapper{z-index:12;gap:20px;margin:auto;display:flex}.homepage .hero-area .links-wrapper .audience-switch{border:1px solid var(--text-strong);border-radius:50px;flex-wrap:wrap;gap:6px;margin-bottom:32px;padding:6px;display:inline-flex}@media screen and (width<=768px){.homepage .hero-area .links-wrapper .audience-switch{border-radius:26px;flex-direction:column;justify-content:center;align-items:center;margin:0 12px 20px}.homepage .hero-area .links-wrapper .audience-switch a{min-width:100%}}.homepage .hero-area .links-wrapper .audience-switch a{color:var(--text-strong);text-align:center;border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:700;text-decoration:none;transition:background-color .25s,color .25s;display:flex}.homepage .hero-area .links-wrapper .audience-switch a:hover,.homepage .hero-area .links-wrapper .audience-switch a:focus-visible{background-color:var(--button-hover-bg);color:var(--button-hover-text)}.homepage .hero-area .links-wrapper .audience-switch a.active{background-color:var(--button-bg);color:var(--button-text)}.homepage .hero-area .links-wrapper .audience-switch a.active svg{display:flex}.homepage .hero-area .links-wrapper .audience-switch a svg{width:24px;height:24px;fill:var(--accent-soft);display:none}.homepage .hero-area .links-wrapper .link-button{z-index:12;color:var(--on-strong);border:solid 1px var(--accent);background-color:var(--accent-soft);border-radius:4px;justify-content:center;width:140px;padding:0;transition:all .36s;display:flex;position:relative}.homepage .hero-area .links-wrapper .link-button:hover a{gap:14px}.homepage .hero-area .links-wrapper .link-button a{cursor:pointer;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 16px;font-size:1.2rem;transition:gap .4s;display:flex}.back-to-top{z-index:120;background-color:var(--accent-soft);border:solid 1px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:4px;padding:10px;position:fixed;bottom:20px;right:20px}.back-to-top:hover{border:solid 1px color-mix(in srgb, var(--accent) 40%, transparent)}.back-to-top svg{stroke:var(--text-strong)}@keyframes border-appear-top-left{0%{clip-path:inset(0 100% 100% 0)}50%{clip-path:inset(0 0 calc(100% - 1px))}to{clip-path:inset(0)}}@keyframes border-appear-bottom-right{0%{clip-path:inset(100% 0 0 100%)}50%{clip-path:inset(calc(100% - 1px) 0 0)}to{clip-path:inset(0)}}.section-container.services-container{max-width:1300px;padding:var(--section-top) 20px 40px;margin:0 auto}.section-container.services-container .services-intro{text-align:center;max-width:640px;color:var(--text);margin:0 auto 40px;font-size:1.1rem;line-height:1.6}.section-container.services-container .services-list{grid-template-columns:repeat(2,1fr);gap:24px;margin:0;padding:0;display:grid}@media screen and (width<=768px){.section-container.services-container .services-list{grid-template-columns:1fr}}.section-container.services-container .service{border:1px solid var(--border);background-color:var(--surface);border-radius:12px;flex-direction:column;gap:12px;padding:0;transition:border-color .25s,box-shadow .25s,transform .25s;display:flex;position:relative;overflow:hidden}.section-container.services-container .service:before{content:"";background-color:var(--accent);transform-origin:0;border-radius:0 0 3px 3px;height:3px;transition:transform .3s;position:absolute;bottom:0;left:12px;right:12px;transform:scaleX(0)}.section-container.services-container .service:hover{border-color:var(--border-strong);box-shadow:0 12px 30px var(--shadow);transform:translateY(-2px)}.section-container.services-container .service:hover:before{transform:scaleX(1)}.section-container.services-container .service .service-title{background-color:var(--strong);gap:14px;padding:6px 12px;display:flex}.section-container.services-container .service .service-title .service-number{color:var(--accent);font-family:effortless,serif;font-size:1.6rem;line-height:1}.section-container.services-container .service .service-title h3{color:var(--on-strong);margin:0;font-size:1.25rem}.section-container.services-container .service .service-body{padding:14px 20px 20px}.section-container.services-container .service .service-body .service-description{color:var(--text);line-height:1.6}.section-container.services-container .service .service-body .service-description p{margin:0}.section-container.services-container .service .service-body .service-examples{flex-wrap:wrap;align-items:center;gap:8px;margin:auto 0 0;padding-top:8px;font-size:.9rem;display:flex}.section-container.services-container .service .service-body .service-examples .label{color:var(--text-muted)}.section-container.services-container .service .service-body .service-examples a{background-color:var(--accent-soft);color:var(--text-strong);border-radius:999px;padding:3px 10px;font-weight:600;text-decoration:none;transition:background-color .2s}.section-container.services-container .service .service-body .service-examples a:hover,.section-container.services-container .service .service-body .service-examples a:focus-visible{background-color:var(--accent);color:var(--on-accent)}.section-container.pricing-container,.section-container.process-container{padding:var(--section-top) 40px 20px;margin:0 auto}.section-container.pricing-container .content,.section-container.process-container .content{max-width:1300px;margin:auto}.section-container.pricing-container{background-color:var(--bg-alt)}.section-container.pricing-container .pricing-intro{text-align:center;max-width:640px;color:var(--text);margin:0 auto 40px;font-size:1.1rem;line-height:1.6}.section-container.pricing-container .pricing-list{grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 24px;padding:0;list-style:none;display:grid}@media screen and (width<=900px){.section-container.pricing-container .pricing-list{grid-template-columns:1fr}}.section-container.pricing-container .plan{border:1px solid var(--border);background-color:var(--surface);border-radius:12px;flex-direction:column;gap:12px;display:flex;position:relative;overflow:hidden}.section-container.pricing-container .plan .plan-body{padding:12px 24px}.section-container.pricing-container .plan:before{content:"";background-color:var(--accent);border-radius:0 0 3px 3px;height:3px;position:absolute;bottom:0;left:28px;right:28px}.section-container.pricing-container .plan h3{text-align:center;color:var(--on-strong);background-color:var(--strong);margin:0;padding:8px 12px;font-size:1.25rem}.section-container.pricing-container .plan .plan-description{color:var(--text);flex:1;margin:0;line-height:1.6}.section-container.pricing-container .plan .plan-price{color:var(--text-strong);margin:0;font-family:effortless,serif;font-size:1.6rem}.section-container.pricing-container .plan-maintenance{background-color:var(--surface);flex-direction:row;justify-content:space-between;align-items:stretch;gap:12px;padding:14px}@media screen and (width<=768px){.section-container.pricing-container .plan-maintenance{flex-direction:column;align-items:flex-start}}.section-container.pricing-container .plan-maintenance .plan-main{flex-direction:column;gap:12px;padding:12px;display:flex}.section-container.pricing-container .plan-maintenance .plan-main h3{text-align:left;background-color:var(--surface);color:var(--text-strong);padding-left:0}.section-container.pricing-container .plan-maintenance .plan-main .plan-description{color:var(--text-strong);padding:0}.section-container.pricing-container .plan-maintenance .plan-side{background-color:var(--surface-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:30%;margin:0;padding:14px;display:flex}@media screen and (width<=768px){.section-container.pricing-container .plan-maintenance .plan-side{width:100%}}.section-container.pricing-container .plan-maintenance .plan-side .plan-price{text-align:center;width:100%;color:var(--text-strong)}.section-container.pricing-container .plan-maintenance .plan-cta{border:2px solid var(--button-bg);background-color:var(--button-bg);color:var(--button-text);border-radius:4px;padding:10px 20px;font-weight:700;text-decoration:none;transition:all .3s}.section-container.pricing-container .plan-maintenance .plan-cta:hover,.section-container.pricing-container .plan-maintenance .plan-cta:focus-visible{background-color:var(--button-hover-bg);color:var(--button-hover-text);padding:10px 24px}.section-container.process-container .process-steps{grid-template-columns:repeat(3,1fr);gap:32px 24px;margin:40px 0 0;padding:0;list-style:none;display:grid}@media screen and (width<=900px){.section-container.process-container .process-steps{grid-template-columns:repeat(2,1fr)}}@media screen and (width<=500px){.section-container.process-container .process-steps{grid-template-columns:1fr}}.section-container.process-container .step{border-left:3px solid var(--accent);flex-direction:column;gap:8px;padding-left:16px;display:flex}.section-container.process-container .step .step-number{color:var(--accent-text);font-family:effortless,serif;font-size:1.6rem;line-height:1}.section-container.process-container .step h3{color:var(--text-strong);margin:0;font-size:1.1rem}.section-container.process-container .step p{color:var(--text);margin:0;line-height:1.6}:root{--line-active:var(--accent)}header{z-index:999;width:100%;padding:0;display:flex;position:fixed;top:0}header.sticky{background-color:var(--header-bg);height:62px;overflow:visible}header.sticky li.brand{margin-top:30px}header.sticky ul li a,header.sticky ul li a:visited{color:var(--accent)}header nav{background-color:var(--header-bg)}header nav .burger{background:0 0;border:0;padding:0;display:none}header nav{width:100%;margin:0;padding:0;display:flex;position:relative}header nav .brand{margin-left:20px}header nav ul{flex:1;justify-content:space-around;align-items:center;gap:12px;margin:0 60px;padding:0 14px;list-style-position:inside;display:flex}header nav ul li{margin-left:-1em;padding-left:0;display:flex}header nav ul li a,header nav ul li a:visited{color:var(--accent);margin:0 var(--spacing,0px);letter-spacing:1px;font-family:quicksand,"sans-serif";text-decoration:none;transition:margin .25s;position:relative}header nav ul li a:hover svg,header nav ul li a:visited:hover svg{opacity:1}header nav ul li a svg,header nav ul li a:visited svg{fill:none;width:calc(100% + 46px);height:57px;stroke:var(--stroke,var(--line));stroke-width:2px;stroke-dasharray:var(--offset,69px) 278px;stroke-dashoffset:361px;transition:stroke .25s ease var(--stroke-delay,0s), stroke-dasharray .35s;opacity:0;position:absolute;top:-26px;left:50%;transform:translate(-50%,7px)translateZ(0)}header nav ul li a:hover,header nav ul li a:visited:hover{--stroke:var(--line-active);--stroke-delay:.1s;--offset:180px}header nav ul li a.active svg{--stroke:var(--line-active);--stroke-delay:.1s;--offset:180px;opacity:1}header nav ul img{width:40px;margin:0}@media screen and (width<=768px){header{background-color:var(--header-bg);height:62px}header nav{position:relative;overflow:visible}header nav .navlist{margin:0 20px;display:none}header nav .burger{cursor:pointer;flex-direction:column;justify-content:space-around;gap:4px;width:40px;height:40px;margin-top:12px;margin-left:auto;margin-right:20px;display:flex}header nav .burger span{background:var(--on-strong);border-radius:2px;height:2px;transition:all .3s;display:block}header nav .burger.open span:first-child{background:var(--accent);transform:translateY(14.5px)rotate(45deg)}header nav .burger.open span:nth-child(2){opacity:0}header nav .burger.open span:nth-child(3){background:var(--accent);transform:translateY(-14.5px)rotate(-45deg)}header nav.mobile-nav{background:linear-gradient(128deg, var(--header-bg) 65%, var(--header-bg-alt));z-index:80;width:100%;height:100vh;margin:0;display:flex;position:absolute;inset:0;overflow:visible}header nav.mobile-nav ul{flex-direction:column;justify-content:space-evenly;align-items:center;padding:14px;display:flex}}@media screen and (width<=768px) and (width<=420px){header nav.mobile-nav ul{margin:40px auto}}@media screen and (width<=768px){header nav.mobile-nav ul li{border-bottom:solid 1px color-mix(in srgb, var(--accent) 40%, transparent);flex:1;justify-content:center;align-items:center;width:100%;margin:auto}header nav.mobile-nav ul li a,header nav.mobile-nav ul li a:visited{font-size:2rem;color:var(--accent)!important}header nav.mobile-nav ul li a svg,header nav.mobile-nav ul li a:visited svg,header nav.mobile-nav .theme-switcher{display:none}}footer{background-color:var(--header-bg);width:100%;color:var(--accent);z-index:16;flex-direction:column;justify-content:center;align-items:center;display:flex}footer .footer-container{flex-wrap:wrap;justify-content:space-around;align-items:flex-end;gap:20px;width:100%;padding:40px 0;display:flex}footer .footer-container .brand{display:flex}footer .footer-container .brand a.logo-link{margin-right:18px}footer .footer-container .brand .text .footer-name{margin:1em 0;font-size:1.17em;font-weight:700}footer .footer-container .brand .text .footer-role{color:var(--on-strong);margin:1.33em 0;font-weight:700}footer .footer-container .brand .text a{color:var(--on-strong);text-decoration:none}footer .footer-container .brand .text a:hover{color:var(--accent)}footer .footer-container .links{justify-content:space-between;gap:12px;display:flex}footer .footer-container .links a svg{fill:var(--on-strong);transition:all .3s}footer .footer-container .links a:hover{box-shadow:0 1px #11111a1a,0 8px 24px #11111a1a,0 16px 48px #11111a1a}footer .footer-container .links a:hover svg{fill:var(--accent);transform:scale(1.07)}footer .copyright{border-top:solid 1px color-mix(in srgb, var(--accent) 40%, transparent);align-items:center;height:40px;margin:auto;display:flex}@media screen and (width>=560px){footer .copyright{justify-content:center;width:80%}}@media screen and (width<=560px){footer .copyright{justify-content:space-around;width:96%;font-size:.8rem}}footer .copyright span{text-align:center;margin:0 5px}footer .copyright a{color:inherit;margin:0 5px}.projects-container{padding:var(--section-top) 0 80px;background-color:var(--bg-alt)}.projects-container .projects-list{grid-template-columns:1fr 1fr;justify-content:center;gap:20px;width:94%;max-width:1300px;margin:auto;padding-left:0;display:grid}@media screen and (width<=768px){.projects-container .projects-list{grid-template-columns:1fr}}.projects-container .projects-list .project-item{min-width:300px;box-shadow:0 4px 12px var(--shadow);border:1px solid var(--border-strong);border-radius:12px;transition:all .4s;position:relative;overflow:hidden}.projects-container .projects-list .project-item .item-content{flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:100%;margin:0;padding:0;transition:all .4s;display:flex;position:relative}.projects-container .projects-list .project-item .item-content .card-link{z-index:700;position:absolute;inset:0}.projects-container .projects-list .project-item .item-content .item-header{width:100%;position:relative}.projects-container .projects-list .project-item .item-content .item-header h3{background-color:var(--strong);color:var(--on-strong);text-align:center;z-index:666;width:100%;min-width:fit-content;margin:0;padding:4px;position:relative}.projects-container .projects-list .project-item .item-content .item-header img{z-index:12;width:100%;margin:0;transition:all .4s;position:relative}.projects-container .projects-list .project-item .item-content .item-header .infos{z-index:18;opacity:0;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:12px;margin-left:auto;display:flex;position:absolute;top:50%;right:0}.projects-container .projects-list .project-item .item-content .item-header .infos span{background-color:color-mix(in srgb, var(--accent) 90%, transparent);color:var(--on-accent);padding:4px;font-weight:700}.projects-container .projects-list .project-item .item-content .item-footer{background-color:var(--surface);border-top:solid 1px var(--accent-soft);flex-direction:column;justify-content:space-between;width:100%;height:100%;display:flex}.projects-container .projects-list .project-item .item-content .item-footer .description{padding:24px;line-height:24px}.projects-container .projects-list .project-item .item-content .item-footer .links-wrapper{opacity:0;flex-wrap:wrap;justify-content:space-around;width:100%;display:flex}@media screen and (width<=768px){.projects-container .projects-list .project-item .item-content .item-footer .links-wrapper{opacity:1;gap:6px}}.projects-container .projects-list .project-item .item-content .item-footer .links-wrapper{z-index:701;pointer-events:none;margin-bottom:24px;transition:all .4s;position:relative}.projects-container .projects-list .project-item .item-content .item-footer .links-wrapper a{pointer-events:auto}.projects-container .projects-list .project-item:hover{box-shadow:0 50px 100px -20px var(--shadow-strong), 0 30px 60px -30px var(--shadow-strong);transform:translateY(-6px)}.projects-container .projects-list .project-item:hover .item-content img{z-index:12;transform:scale(1.08)}.projects-container .projects-list .project-item:hover .item-content .infos,.projects-container .projects-list .project-item:hover .item-content .links-wrapper{opacity:1}.projects-container .projects-list .project-item:hover .item-content .item-header:after{content:"";background-color:var(--overlay);z-index:14;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;transform:scale(1.08)}@media screen and (width<=600px){.projects-container .projects-list .project-item{width:94%;box-shadow:0 14px 34px -18px var(--shadow-strong);margin-bottom:14px}}.projects-container .btn.more-btn{background-color:var(--button-bg);height:48px;color:var(--button-text);border:none;border-radius:30px;justify-content:center;align-items:center;gap:16px;font-size:1rem;transition:gap .4s;display:flex}.projects-container .btn.more-btn:hover{gap:24px}.project-container .project-description{grid-template-columns:2fr 1fr;gap:20px;display:grid}@media screen and (width<=1024px){.project-container .project-description{grid-template-columns:1fr}.project-container .project-description .description{order:2}.project-container .project-description .details-site-link{order:1}}.project-container .project-description .description{width:100%;color:var(--text);z-index:12;margin-top:20px}.project-container .project-description .description h2{margin:0!important}@media screen and (width<=768px){.project-container .project-description .description{width:100%}}.project-container .project-description .description h2{color:var(--text-strong);margin:1.6em 0 .5em;font-size:1.3rem}.project-container .project-description .description ul{list-style-type:circle}.project-container .project-description .description ul li{margin-bottom:4px}.project-container .project-description .description ul li a{color:var(--text-strong);padding:unset;text-decoration:underline;background-color:#0000!important}.project-container .project-description .description a{color:var(--button-text);background-color:var(--button-bg);border-radius:4px;height:48px;padding:10px 16px;transition:all .4s}.project-container .project-description .description a:hover{background-color:var(--button-hover-bg);color:var(--button-hover-text);padding:10px 22px}.project-container .project-description .infos,.project-container .project-description .details-site-link{height:fit-content;margin-top:20px;position:relative}.project-container .project-description .infos{background-color:var(--strong);z-index:666;border-radius:8px;flex-direction:column;width:100%;padding:0;display:flex;position:relative}.project-container .project-description .infos p.title{color:var(--on-accent);text-align:center;background-color:var(--accent);clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);border-top-left-radius:8px;border-top-right-radius:8px;margin-top:0;padding:16px;font-weight:700;position:relative;top:0}.project-container .project-description .infos ul{border-bottom:solid 1px color-mix(in srgb, var(--on-strong) 40%, transparent);flex-wrap:wrap;justify-content:center;gap:8px;height:fit-content;padding:14px;display:flex}.project-container .project-description .infos ul li{border:1px solid var(--border-strong);background-color:var(--surface);color:var(--text-strong);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.85rem;font-weight:600;line-height:1.2;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.project-container .project-description .infos ul li:before{content:"";background-color:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:50%}.project-container .project-description .infos ul li:hover{background-color:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.project-container .project-description .details-site-link{border:1px solid var(--border);background-color:var(--surface);width:100%;box-shadow:0 12px 30px var(--shadow);border-radius:12px;flex-direction:column;gap:18px;height:fit-content;margin-top:20px;padding:28px;display:flex;position:relative;overflow:hidden}.project-container .project-description .details-site-link:before{content:"";background-color:var(--accent);border-radius:0 0 3px 3px;height:3px;position:absolute;bottom:0;left:28px;right:28px}.project-container .project-description .details-site-link h2{color:var(--text-strong);margin:0;font-size:1.25rem}.project-container .project-description .details-site-link dl{gap:10px;margin:0;display:grid}.project-container .project-description .details-site-link dl div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding-bottom:10px;display:flex}.project-container .project-description .details-site-link dl dt{color:var(--text-muted)}.project-container .project-description .details-site-link dl dd{color:var(--text-strong);overflow-wrap:anywhere;text-align:right;margin:0;font-weight:700}.project-container .project-description .details-site-link .visit-button{border:2px solid var(--button-bg);background-color:var(--button-bg);color:var(--button-text);border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}.project-container .project-description .details-site-link .visit-button svg{width:20px;height:20px}.project-container .project-description .details-site-link .visit-button:hover,.project-container .project-description .details-site-link .visit-button:focus-visible{gap:20px}.project-container .project-description .details-site-link .contact-cta{text-align:center;color:var(--text);margin:0}.project-container .project-description .details-site-link .contact-cta a{color:var(--text-strong);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;font-weight:700;text-decoration-thickness:2px}.project-container .project-audit-wrapper{grid-template-columns:1fr 1fr;align-items:stretch;margin:20px;display:grid}@media screen and (width<=1024px){.project-container .project-audit-wrapper{grid-template-columns:1fr;margin:12px}}.project-container .project-audit-wrapper .description ul{padding-left:0}.project-container .project-audit-wrapper .description ul li{margin:12px 0}.project-container .project-audit-wrapper figure{justify-content:center;display:grid}.project-container .project-audit-wrapper figure img{border:solid 1px var(--border);border-radius:10px;width:100%;height:auto}.project-container .project-audit-wrapper figure figcaption{text-align:center;justify-content:center;gap:6px;width:100%;margin-top:6px;display:flex}.project-container .project-audit-wrapper figure figcaption time{font-weight:700}.preview-infos{width:60%}@media screen and (width<=1024px){.preview-infos{width:100%}}.preview-infos ul{padding-left:0}.preview-infos li{grid-template-columns:.1fr 1.9fr;align-items:center;gap:4px;margin:8px 0;display:grid}.preview-infos li svg{width:30px;height:30px;fill:var(--success)}.preview-images-wrapper{z-index:12;box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;gap:20px;min-height:900px;margin-top:40px;margin-bottom:60px;display:flex;position:relative}@media screen and (width<=1300px){.preview-images-wrapper{flex-direction:column;align-items:center;gap:40px}}@media screen and (width<=768px){.preview-images-wrapper{height:fit-content}}.preview-images-wrapper .computer-images-wrapper{z-index:12;box-sizing:border-box;width:70%;display:flex;position:relative}@media screen and (width<=1300px){.preview-images-wrapper .computer-images-wrapper{width:84%}}@media screen and (width<=768px){.preview-images-wrapper .computer-images-wrapper{width:96%;height:300px}}.preview-images-wrapper .computer-images-wrapper .computer-container{border:solid 26px var(--device-frame);scrollbar-color:var(--strong) var(--surface);scrollbar-width:thin;border-radius:30px;height:fit-content;position:relative;overflow:hidden}@media screen and (width<=768px){.preview-images-wrapper .computer-images-wrapper .computer-container{border:solid 16px var(--device-frame)}}.preview-images-wrapper .computer-images-wrapper .computer-container .computer-img-container{height:700px;overflow:hidden scroll}@media screen and (width<=1300px){.preview-images-wrapper .computer-images-wrapper .computer-container .computer-img-container{max-height:600px}}@media screen and (width<=768px){.preview-images-wrapper .computer-images-wrapper .computer-container .computer-img-container{max-height:300px}}.preview-images-wrapper .computer-images-wrapper .computer-container img.project-image{width:100%;display:flex;position:relative}.preview-images-wrapper .mobile-images-wrapper{box-sizing:border-box;width:20%;position:relative}@media screen and (width<=1300px){.preview-images-wrapper .mobile-images-wrapper{width:50%;margin:auto;right:0}}@media screen and (width<=768px){.preview-images-wrapper .mobile-images-wrapper{width:76%;height:400px;margin:auto;right:0}}.preview-images-wrapper .mobile-images-wrapper .mobile-container{border:solid 14px var(--device-frame);border-radius:20px;position:relative;overflow:hidden}@media screen and (width<=768px){.preview-images-wrapper .mobile-images-wrapper .mobile-container{border:solid 12px var(--device-frame);height:400px}}.preview-images-wrapper .mobile-images-wrapper .mobile-container .mobile-img-container{scrollbar-color:var(--strong) var(--surface);scrollbar-width:thin;height:700px;overflow:hidden scroll}@media screen and (width<=768px){.preview-images-wrapper .mobile-images-wrapper .mobile-container .mobile-img-container{height:400px}}.preview-images-wrapper .mobile-images-wrapper .mobile-container img.project-image{width:100%;display:flex;position:relative}.projects-nav{z-index:3;justify-content:space-between;gap:20px;display:flex;position:relative}.projects-nav .projects-nav-link{color:var(--text-strong);background-color:var(--surface);box-shadow:0 4px 8px var(--shadow);border-radius:12px;grid-template-columns:1fr;justify-items:center;gap:4px;margin-bottom:60px;text-decoration:none;transition:all .5s;display:grid}.projects-nav .projects-nav-link.next{text-align:right;margin-left:auto}.projects-nav .projects-nav-link img{object-fit:cover;filter:grayscale();border-radius:12px}.projects-nav .projects-nav-link .labels-wrapper{justify-content:center;align-items:center;gap:10px;width:100%;padding:8px;transition:all .5s;display:flex}.projects-nav .projects-nav-link .text{flex-direction:column;gap:2px;display:flex}.projects-nav .projects-nav-link .teaser{color:var(--text);font-size:.9rem}.projects-nav .projects-nav-link .nav-arrow{flex-shrink:0;transition:transform .3s}.projects-nav .projects-nav-link:hover,.projects-nav .projects-nav-link:focus-visible{transform:translateY(-4px)}.projects-nav .projects-nav-link:hover .nav-arrow.previous,.projects-nav .projects-nav-link:focus-visible .nav-arrow.previous{transform:translate(-4px)}.projects-nav .projects-nav-link:hover .nav-arrow.next,.projects-nav .projects-nav-link:focus-visible .nav-arrow.next{transform:translate(4px)}.projects-nav .projects-nav-link:hover img,.projects-nav .projects-nav-link:focus-visible img{filter:grayscale(0)}.projects-nav .projects-nav-link .name{font-size:1.3rem;font-weight:700}.projects-nav .projects-nav-link:hover .name,.projects-nav .projects-nav-link:focus-visible .name{text-decoration:underline}@media screen and (width>=728px){.projects-nav{margin:60px 60px 40px}.projects-nav .projects-nav-link,.projects-nav .projects-nav-link img{width:300px;height:160px}}@media screen and (width<=728px){.projects-nav{justify-content:center;align-items:stretch;margin:20px}.projects-nav .projects-nav-link{width:160px}.projects-nav .projects-nav-link .labels-wrapper{text-align:center;flex-direction:column}.projects-nav .projects-nav-link .labels-wrapper .teaser{margin-top:14px}.projects-nav .projects-nav-link img{width:120px;height:80px;margin:10px 0}.projects-nav .projects-nav-link .nav-arrow{order:4}}.project-container{align-items:flex-start;gap:12px;width:100%;padding-top:80px}@media screen and (width<=768px){.project-container{flex-direction:column}}.project-container .content{margin:0 60px}@media screen and (width<=1024px){.project-container .content{margin:0 34px}}@media screen and (width<=768px){.project-container .content{margin:0 18px}}.project-container .project-pills{z-index:12;grid-template-columns:1fr 1fr 1fr;gap:4px;width:fit-content;display:grid}.project-container .project-pills button{cursor:pointer;border:solid 2px var(--button-bg);border-top-left-radius:18px;border-top-right-radius:18px;width:120px;min-width:80px;height:48px;font-weight:700;transition:all .4s;position:relative;bottom:-2px}@media screen and (width<=540px){.project-container .project-pills button{width:100px;font-size:.8rem}}.project-container .project-pills button.pill{background-color:var(--button-bg);color:var(--button-text)}.project-container .project-pills button.active,.project-container .project-pills button:hover{background-color:var(--surface-muted);z-index:666;border-bottom:var(--surface-muted);color:var(--button-bg)}.project-container .panel-container{z-index:444;border:solid 2px var(--button-bg);background-color:var(--surface-muted);border-radius:0 10px 10px;width:100%;padding:16px 20px;position:relative}.project-container .round{background:var(--blob);z-index:-1;border-radius:60% 40% 50% 70%/60% 30% 70% 40%;width:600px;height:500px;display:none;position:absolute;top:9%;left:-80px}@media screen and (width<=768px){.project-container .round{top:0;left:-44px}}@media screen and (width<=600px){.project-container .round{width:300px;height:300px;top:113px;left:-13px}}.project-container .buttons-link-wrapper{flex-wrap:wrap;justify-content:center;gap:8px;padding:14px;display:flex}.project-container .buttons-link-wrapper .button-link{border:solid 2px var(--accent)}.section-container.reviews-container{border-bottom:solid 1px var(--border);background-color:var(--surface);margin:auto}.section-container.reviews-container .reviews-wrapper{max-width:1100px;padding:var(--section-top) 0 60px;margin:0 auto}.section-container.reviews-container .reviews-wrapper .reviews-count{text-align:center;width:fit-content;margin:auto;font-style:italic;display:flex;position:relative;top:-20px}.section-container.reviews-container .reviews-slider{margin-top:40px}.section-container.reviews-container .reviews-track{--gap:24px;gap:var(--gap);scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;margin:0;padding:14px 4px 26px;list-style:none;display:flex;overflow-x:auto}.section-container.reviews-container .reviews-track::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.section-container.reviews-container .reviews-track{scroll-behavior:auto}}.section-container.reviews-container .review-card{flex:0 0 calc((100% - var(--gap)) / 2);border:1px solid var(--border);background-color:var(--surface);border-radius:11% 6% 2% 13%/4% 15% 14% 6%;flex-direction:column;justify-content:space-between;gap:24px;margin:0 auto;padding:0;display:flex;position:relative;box-shadow:0 25px 20px -20px #0000001a}.section-container.reviews-container .review-card:nth-child(odd){scroll-snap-align:start}@media screen and (width<=768px){.section-container.reviews-container .review-card{scroll-snap-align:start;flex-basis:100%;padding:24px}}.section-container.reviews-container .review-card .review-google{z-index:666;background-color:var(--surface);color:var(--text-muted);align-items:center;gap:8px;padding:4px 12px;font-size:.85rem;display:flex;position:absolute;top:-28px;left:16px}.section-container.reviews-container .review-card .review-google .stars{letter-spacing:2px;color:var(--accent-text);font-size:1.1rem}.section-container.reviews-container .review-card .review-google .stars .empty{color:var(--border-strong)}.section-container.reviews-container .review-card .review-google a{color:var(--accent-text);text-decoration:underline}.section-container.reviews-container .review-card blockquote{color:var(--text);height:fit-content;margin:24px;line-height:1.6;position:relative}.section-container.reviews-container .review-card blockquote:before{content:"“";color:var(--accent);font-family:effortless,serif;font-size:4rem;line-height:1;position:absolute;top:-4px;left:-6px}.section-container.reviews-container .review-card blockquote:after{content:"“";color:var(--accent);font-family:effortless,serif;font-size:4rem;line-height:1;position:absolute;right:-6px}.section-container.reviews-container .review-card blockquote p{white-space:pre-line;background-color:var(--surface-muted);border-radius:12% 8% 10%/14% 9% 10% 8%;margin:10px;padding:12px 16px}.section-container.reviews-container .review-card blockquote p:after{content:"";border:24px solid;border-top-color:var(--surface-muted);border-right-color:var(--surface-muted);border-bottom-color:var(--surface-muted);border-left-color:var(--surface-muted);border-color:transparent transparent transparent var(--surface-muted);width:0;height:0;position:absolute;inset:auto 0 -12px auto}.section-container.reviews-container .review-card footer{border-top:solid 1px var(--border);background-color:#0000;justify-content:flex-end;align-items:flex-end;padding:0;display:flex;position:relative}.section-container.reviews-container .review-card footer .footer-review{width:100%;padding:12px 16px;position:relative}.section-container.reviews-container .review-card footer .footer-review p{text-align:right;margin:6px 0}.section-container.reviews-container .review-card footer .footer-review .review-author{color:var(--text-strong)}.section-container.reviews-container .review-card footer .footer-review .review-author .author-name{font-weight:700}.section-container.reviews-container .review-card footer .footer-review .review-author .author-role{color:var(--text);font-size:.9rem}.section-container.reviews-container .review-card footer .footer-review .review-meta{color:var(--text-muted);margin-top:6px;font-size:.85rem}.section-container.reviews-container .review-card footer .footer-review .review-meta a{color:var(--accent-text);text-decoration:underline}.section-container.reviews-container .reviews-controls{justify-content:center;align-items:center;gap:20px;margin-top:16px;display:flex}.section-container.reviews-container .reviews-arrow{background-color:var(--button-bg);width:44px;height:44px;color:var(--button-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s,color .2s;display:flex}.section-container.reviews-container .reviews-arrow:hover:not(:disabled){background-color:var(--button-hover-bg);color:var(--button-hover-text)}.section-container.reviews-container .reviews-arrow:disabled{opacity:.35;cursor:default}.section-container.reviews-container .reviews-dots{gap:4px;display:flex}.section-container.reviews-container .reviews-dot{cursor:pointer;background:0 0;border:none;width:24px;height:24px;padding:0}.section-container.reviews-container .reviews-dot:before{content:"";background-color:var(--border-strong);border-radius:50%;width:10px;height:10px;margin:auto;transition:background-color .2s,transform .2s;display:block}.section-container.reviews-container .reviews-dot.active:before{background-color:var(--accent-text);transform:scale(1.3)}.section-container.reviews-container .share-review-link{text-align:right;margin-top:20px}.section-container.reviews-container .share-review-link a{color:var(--accent-text)}#a-propos{overflow:hidden}#a-propos .section-container .content{padding-top:var(--section-top)}#a-propos .section-container .about-me-wrapper{justify-content:center;max-width:96%;margin:60px auto 40px;display:flex;position:relative}#a-propos .section-container .about-me-wrapper .name{flex-direction:column;align-items:flex-end;display:flex;position:relative}#a-propos .section-container .about-me-wrapper .name .person-title{text-transform:capitalize;z-index:12;text-align:center;margin:1em 0;font-family:effortless,"sans-serif";font-size:2rem;font-weight:700;position:relative}#a-propos .section-container .about-me-wrapper img.me{z-index:8;position:relative}#a-propos .section-container .about-me-wrapper .image-wrapper{margin-left:30px;margin-right:40px;position:relative}@media screen and (width<=1048px){#a-propos .section-container .about-me-wrapper .image-wrapper{margin-right:10px}}@media screen and (width<=768px){#a-propos .section-container .about-me-wrapper{flex-direction:column}#a-propos .section-container .about-me-wrapper .name{align-items:center}#a-propos .section-container .about-me-wrapper .name img.arrow{position:absolute;left:75px;right:0;transform:rotate(96deg)}}@media screen and (width<=768px) and (width<=600px){#a-propos .section-container .about-me-wrapper .name img.arrow{left:0}}@media screen and (width<=768px){#a-propos .section-container .about-me-wrapper .image-wrapper{justify-content:center;margin:auto;display:flex}}#a-propos .section-container .about-me-wrapper .tags{margin-left:40px}@media screen and (width<=1048px){#a-propos .section-container .about-me-wrapper .tags{margin-left:10px}}#a-propos .section-container .about-me-wrapper .tags ul{z-index:12;flex-direction:column;gap:20px;padding-left:0;display:flex}#a-propos .section-container .about-me-wrapper .tags ul li{color:var(--text-strong);border:solid 1px var(--border);background-color:var(--surface);text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 12px;font-size:1.4rem;display:flex;position:relative;right:0}#a-propos .section-container .about-me-wrapper .tags ul li:before,#a-propos .section-container .about-me-wrapper .tags ul li:after{content:"";z-index:-2;transition:all .25s ease-out;position:absolute}#a-propos .section-container .about-me-wrapper .tags ul li:nth-child(odd):before{width:50%;max-width:200px;height:55%;max-height:100px;bottom:12px;left:10px;transform:skew(-8deg)rotate(-3deg);box-shadow:1px 8px 18px #1f1f1fcc}#a-propos .section-container .about-me-wrapper .tags ul li:nth-child(2n):after{width:50%;max-width:200px;height:55%;max-height:100px;bottom:12px;right:10px;transform:skew(8deg)rotate(3deg);box-shadow:1px 8px 18px #0c1423cc}#a-propos .section-container .text-container{background-color:var(--bg-alt);position:relative}#a-propos .section-container .text-container span.info{width:200px;height:200px;color:var(--accent);letter-spacing:2px;background:url(/build/assets/paint-ClweTdkT.webp) 50%/contain no-repeat;justify-content:center;align-items:center;font-family:amatic_bold,"sans-serif";font-size:1.2rem;font-weight:700;transition:top .2s ease-out,left .2s ease-out,bottom .2s ease-in-out,right .2s ease-in-out;display:flex;position:absolute}@media screen and (width<=1048px){#a-propos .section-container .text-container span.info{width:160px;height:160px;font-size:.9rem}}@media screen and (width<=800px){#a-propos .section-container .text-container span.info{display:none!important}}#a-propos .section-container .text-container span.info.dev{top:0;left:20px}#a-propos .section-container .text-container span.info.grimpe{top:40px;right:12%}@media screen and (width<=1260px){#a-propos .section-container .text-container span.info.grimpe{top:140px;right:20px}}#a-propos .section-container .text-container span.info.where{bottom:8px;left:7%}#a-propos .section-container .text-container span.info.age{bottom:60px;right:60px}#a-propos .section-container .text-container span.info.bounce{animation:1.2s ease-in-out bounce}#a-propos .section-container .text-container .text-wrapper{width:50%;padding:60px}@media screen and (width<=1260px){#a-propos .section-container .text-container .text-wrapper{width:62%}}@media screen and (width<=800px){#a-propos .section-container .text-container .text-wrapper{width:100%;padding:20px}}@media screen and (width<=500px){#a-propos .section-container .text-container .text-wrapper{padding:14px}}#a-propos .section-container .text-container .text-wrapper{margin:auto}#a-propos .section-container .text-container .diplomas{display:grid}#a-propos .section-container .text-container .diplomas svg.graduation{fill:var(--heading)}#a-propos .section-container .text-container .diplomas ul{flex-direction:column;gap:14px;margin-left:0;padding-left:0;font-weight:700;list-style-type:none;display:flex}#a-propos .section-container .text-container .diplomas ul li .infos{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}#a-propos .section-container .text-container .diplomas ul li span.date{border:1px solid var(--border-strong);background-color:var(--surface);color:var(--text-strong);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.85rem;font-weight:600;line-height:1.2;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}#a-propos .section-container .text-container .diplomas ul li span.date:before{content:"";background-color:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:50%}#a-propos .section-container .text-container .diplomas ul li span.date:hover{background-color:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}#a-propos .section-container .text-container .diplomas ul li span.title{white-space:nowrap;font-style:italic}#a-propos .section-container .text-container .diplomas ul li p{width:fit-content;box-shadow:0 4px 8px var(--shadow);border:solid 1px var(--border);border-radius:30px;margin-left:80px;padding:8px 16px}@media screen and (width<=768px){#a-propos .section-container .text-container .diplomas svg.graduation{margin:auto}#a-propos .section-container .text-container .diplomas ul li .infos{flex-direction:column;justify-content:center;align-items:center}#a-propos .section-container .text-container .diplomas ul li p{text-align:center;margin:16px auto}}#a-propos .round{background:var(--blob);z-index:-1;border-radius:60% 40% 50% 70%/60% 30% 70% 40%;width:500px;height:540px;position:absolute;top:-3%;right:-27px;transform:rotate(40deg)}@media screen and (width<=768px){#a-propos .round{right:-14%}}@keyframes bounce{0%,to{transform:scale(1)}25%{transform:scale(.9,1.1)}50%{transform:scale(1.1,.9)}75%{transform:scale(.95,1.05)}}.section-container.parcours-container .parcours-wrapper{margin:var(--section-top) auto 40px auto;flex-direction:column;justify-content:center;display:flex;position:relative}.section-container.parcours-container .parcours-wrapper .title{justify-content:center;align-items:center;gap:20px;display:flex}.section-container.parcours-container .parcours-wrapper .timeline{margin:0 20px}.section-container.parcours-container .parcours-wrapper .timeline ul{padding-left:0}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .experience-title{font-size:1.5em}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .experience-organization{margin:1em 0;font-size:1.17em;font-weight:700}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item{border-top:3px solid;border-image:linear-gradient(to right, var(--text-strong) 0%, #8398cc 100%);counter-increment:section;border-image-slice:1;width:80%;margin:auto;padding:30px;line-height:1.2em;display:flex;position:relative}@media screen and (width<=768px){.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item{width:100%}}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .description{background-color:var(--surface-muted);width:fit-content;margin-bottom:8px;padding-bottom:1px}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .description .tasks{border-radius:16px;max-width:74%;padding:12px 20px;font-size:1.2rem;line-height:1.6rem}@media screen and (width<=768px){.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .description .tasks{text-align:center;max-width:100%}}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .description .tasks ul{margin:0}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item ul.tools{border-top:1px solid color-mix(in srgb, var(--accent) 28%, transparent);flex-wrap:wrap;gap:8px;margin:16px;padding-top:16px;display:flex}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item ul.tools li{border:1px solid var(--border-strong);background-color:var(--surface);color:var(--text-strong);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.85rem;font-weight:600;line-height:1.2;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item ul.tools li:before{content:"";background-color:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:50%}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item ul.tools li:hover{background-color:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .projects{flex-wrap:wrap;gap:8px;height:fit-content;margin:12px 0 0;display:flex}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .projects a{background-color:var(--button-bg);height:fit-content;color:var(--button-text);border-radius:8px;align-items:center;padding:8px 16px;font-weight:700;text-decoration:none;transition:all .4s;display:flex}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .projects a:hover{background-color:var(--button-hover-bg);color:var(--button-hover-text);padding:8px 20px}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .date{background-color:var(--strong);color:var(--accent);border-radius:2px;padding:4px 16px;line-height:1.25em;position:absolute;top:18px}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item .date:after{content:"";background-color:var(--bg);width:0;height:20px;color:var(--strong);border-top:15px solid #0000;border-bottom:14px solid #0000;position:absolute;top:0}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(odd){text-align:right;border-right:3px solid;justify-content:flex-end;padding-left:50px}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(odd) .date{margin-left:-10px;left:100%}@media screen and (width<=768px){.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(odd) .date{margin-left:0;top:6px;left:auto;right:-20px}}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(odd) .date:after{border-right-style:solid;border-right-width:19px;right:96%}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(odd) .tasks{margin-left:auto}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(odd) .tools,.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(odd) .projects{justify-content:flex-end}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(2n){border-left:3px solid;padding-right:0}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(2n) .date{margin-right:-10px;right:100%}@media screen and (width<=768px){.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(2n) .date{margin-right:0;top:6px;left:-20px;right:auto}}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(2n) .date:after{border-left-style:solid;border-left-width:19px;left:96%}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(2n) .tasks{margin-right:auto}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:nth-child(2n) .tools{justify-content:flex-start}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:first-child{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.section-container.parcours-container .parcours-wrapper .timeline ul .timeline-item:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}@media screen and (width>=768px){.section-container.parcours-container .tag-list{width:60%}}@media screen and (width<=768px){.section-container.parcours-container .tag-list{width:100%}}.section-container.parcours-container .tag-list{flex-direction:column;flex-shrink:0;gap:1rem 0;min-width:300px;max-width:90vw;margin:auto;padding:1.5rem 0;display:flex;position:relative;overflow:hidden}.section-container.parcours-container .loop-slider .inner{width:fit-content;animation-name:loop;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:var(--direction);animation-duration:var(--duration);display:flex}.section-container.parcours-container .tag{min-width:130px;color:var(--on-strong);background-color:var(--strong);box-shadow:0 .1rem .2rem var(--shadow), 0 .1rem .5rem var(--shadow), 0 .2rem 1.5rem var(--shadow-strong);border-radius:.4rem;justify-content:center;align-items:center;gap:0 .2rem;margin-right:1rem;padding:.7rem 1rem;font-size:.9rem;display:flex}.section-container.parcours-container .tag span{color:var(--text-muted);font-size:1.2rem}.section-container.parcours-container .fade{pointer-events:none;background:linear-gradient(90deg, var(--bg), transparent 10%, transparent 20%, var(--bg));position:absolute;inset:0}@keyframes loop{0%{transform:translate(10%)}to{transform:translate(0%)}}#contact{background-color:var(--bg-alt)}.section-container .contact-wrapper{margin:var(--section-top) auto 0 auto;flex-direction:column;justify-content:center;padding-bottom:60px;display:flex;position:relative}.section-container .contact-wrapper .contact-form{background-color:var(--surface);border-radius:12px;width:74%;margin:auto;padding:80px}@media screen and (width<=768px){.section-container .contact-wrapper .contact-form{width:84%;padding:20px}}@media screen and (width<=500px){.section-container .contact-wrapper .contact-form{width:92%}}.section-container .contact-wrapper .contact-form{flex-direction:column;display:flex}.section-container .contact-wrapper .contact-form .status-wrapper{margin:auto;display:flex}.section-container .contact-wrapper .contact-form .status-wrapper .alert{text-align:center;width:100%;font-weight:700}.section-container .contact-wrapper .contact-form .status-wrapper .alert.loading{color:var(--text-strong)}.section-container .contact-wrapper .contact-form .status-wrapper .alert.alert-success{color:var(--success)}.section-container .contact-wrapper .contact-form .status-wrapper .alert.alert-error{color:var(--danger)}.section-container .contact-wrapper .contact-form form{flex-direction:column;justify-content:space-between;gap:20px;width:100%;display:flex;position:relative}.section-container .contact-wrapper .contact-form form input{height:40px}.section-container .contact-wrapper .contact-form form input,.section-container .contact-wrapper .contact-form form textarea{border:none;border-bottom:solid 1px var(--text-muted);width:100%;color:var(--text-strong);background-color:#0000;padding:20px}.section-container .contact-wrapper .contact-form form input:focus,.section-container .contact-wrapper .contact-form form input:active,.section-container .contact-wrapper .contact-form form textarea:focus,.section-container .contact-wrapper .contact-form form textarea:active{border:solid 1px var(--text-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-strong) 15%, transparent);border-radius:6px;outline:none}.section-container .contact-wrapper .contact-form form .input-wrapper{position:relative}.section-container .contact-wrapper .contact-form form .input-wrapper label{color:var(--text-muted);pointer-events:none;font-size:.9rem;transition:all .2s ease-out;position:absolute;top:1rem;left:.5rem}.section-container .contact-wrapper .contact-form form .input-wrapper input:focus+label,.section-container .contact-wrapper .contact-form form .input-wrapper input:not(:placeholder-shown)+label,.section-container .contact-wrapper .contact-form form .input-wrapper textarea:focus+label,.section-container .contact-wrapper .contact-form form .input-wrapper textarea:not(:placeholder-shown)+label{background:var(--surface);color:var(--text-strong);padding:0 8px;font-size:.75rem;top:-.5rem;left:.4rem}.section-container .contact-wrapper .contact-form form #website{display:none}.section-container .contact-wrapper .contact-form form .quote-fields{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media screen and (width<=1184px){.section-container .contact-wrapper .contact-form form .quote-fields{grid-template-columns:1fr}}.section-container .contact-wrapper .contact-form form .select-wrapper{flex-direction:column;gap:6px;display:flex}.section-container .contact-wrapper .contact-form form .select-wrapper label{color:var(--text-strong);font-size:.75rem}.section-container .contact-wrapper .contact-form form .select-wrapper select{border:none;border-bottom:solid 1px var(--text-muted);background-color:var(--surface);height:40px;font:inherit;color:var(--text-strong);cursor:pointer;border-radius:6px;padding:0 12px}.section-container .contact-wrapper .contact-form form .select-wrapper select:focus{border:solid 1px var(--text-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-strong) 15%, transparent);border-radius:6px;outline:none}.section-container .contact-wrapper .contact-form form button.email-button{text-align:center;text-transform:uppercase;border:none;align-items:center;width:200px;height:40px;margin:auto;padding:4px;font-weight:700;display:flex;position:relative}.section-container .contact-wrapper .contact-form form button.email-button .sent-mail{cursor:pointer}.section-container .contact-wrapper .contact-form form .form-error{color:var(--danger);font-size:.9rem}.section-container.legal-container{max-width:800px;color:var(--text);margin:0 auto;padding:120px 20px 60px;line-height:1.6}.section-container.legal-container section{margin-bottom:32px}.section-container.legal-container h2{color:var(--text-strong);margin-bottom:8px;font-size:1.25rem}.section-container.legal-container a{color:var(--text-strong);text-decoration:underline}.section-container.local-container{max-width:900px;color:var(--text);margin:0 auto;padding:120px 20px 60px;line-height:1.6}.section-container.local-container .local-intro{margin-bottom:40px;font-size:1.1rem}.section-container.local-container section{margin-bottom:32px}.section-container.local-container h2{color:var(--text-strong);margin-bottom:8px;font-size:1.4rem}.section-container.local-container p a,.section-container.local-container .local-card a{color:var(--text-strong);text-decoration:underline}.section-container.local-container .local-cards{grid-template-columns:repeat(2,1fr);gap:24px;margin:16px 0;padding:0;display:grid}@media screen and (width<=700px){.section-container.local-container .local-cards{grid-template-columns:1fr}}.section-container.local-container .local-cards .local-card{border:1px solid var(--border);border-bottom:3px solid var(--accent);background-color:var(--surface);border-radius:12px;flex-direction:column;gap:8px;padding:20px 24px;display:flex}.section-container.local-container .local-cards .local-card h3{color:var(--text-strong);margin:0;font-size:1.2rem}.section-container.local-container .local-cards .local-card .local-card-text{flex:1}.section-container.local-container .local-cards .local-card .local-card-text p{margin:0}.section-container.local-container .local-cards .local-card a{font-weight:700}.section-container.local-container .local-cta{text-align:center;margin-top:48px}.section-container.local-container .local-cta .local-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.section-container.local-container .local-button{border:2px solid var(--button-bg);background-color:var(--button-bg);color:var(--button-text);border-radius:4px;padding:10px 20px;font-weight:700;transition:all .3s}.section-container.local-container .local-button:hover,.section-container.local-container .local-button:focus-visible{background-color:var(--button-hover-bg);color:var(--button-hover-text)}.section-container.local-container .local-button.secondary{color:var(--text-strong);background-color:#0000}.section-container.local-container .local-button.secondary:hover,.section-container.local-container .local-button.secondary:focus-visible{background-color:var(--button-hover-bg);color:var(--button-hover-text)}.section-container.local-container .local-author{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding-top:24px}.section-container.local-container .local-author strong{color:var(--text-strong)}.section-container.review-page .contact-wrapper{padding-top:20px}.section-container.review-page .review-intro{text-align:center;max-width:640px;color:var(--text);margin:0 auto 40px;padding:0 20px;line-height:1.6}.section-container.review-page .contact-form form .form-help{color:var(--text-muted);margin-top:6px;font-size:.8rem}.section-container.review-page .contact-form form .review-projects{border:none;flex-wrap:wrap;gap:10px 24px;margin:0;padding:0;display:flex}.section-container.review-page .contact-form form .review-projects legend{width:100%;color:var(--text-strong);margin-bottom:10px;font-size:.9rem}.section-container.review-page .contact-form form .checkbox-wrapper{color:var(--text-strong);cursor:pointer;align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.4;display:flex}.section-container.review-page .contact-form form .checkbox-wrapper input[type=checkbox]{width:18px;height:18px;accent-color:var(--text-strong);cursor:pointer;flex-shrink:0;margin:1px 0 0;padding:0}.section-container.review-page .contact-form form .checkbox-wrapper input[type=checkbox]:focus-visible{outline:2px solid var(--text-strong);outline-offset:2px;box-shadow:none}.section-container.review-page .contact-form form .consent-wrapper .form-error,.section-container.review-page .contact-form form .review-projects .form-error{width:100%;margin-top:6px}.section-container.review-page .contact-form form button.email-button:disabled{opacity:.6;cursor:wait}.section-container.review-page .google-link{margin-top:40px}.section-container.review-page .google-link a{color:var(--accent-text)}.homepage .hero-area{--mx:0;--my:0;clip-path:inset(0)}.homepage .hero-area .person,.homepage .hero-area .picture-name-container,.homepage .hero-area img.shape{translate:calc(var(--mx) * var(--depth-x) * -1px) calc(var(--my) * var(--depth-y) * -1px);will-change:translate}.homepage .hero-area img.shape{--depth-x:14;--depth-y:10;bottom:-21px;right:-20px}.homepage .hero-area .person{--depth-x:8;--depth-y:4}.homepage .hero-area .picture-name-container{--depth-x:32;--depth-y:18}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.round{animation:linear both parallax-float;animation-timeline:view()}}}@keyframes parallax-float{0%{translate:0 80px}to{translate:0 -80px}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c1423;--bg-alt:#101b2f;--surface:#15223a;--surface-muted:#1b2b47;--strong:#22365a;--header-bg:#070d18;--header-bg-alt:#0e1a30;--heading:#fdc57f;--text-strong:#f4eee6;--text:#c9d1de;--text-muted:#92a0b6;--on-strong:#f4eee6;--accent:#fdc57f;--accent-text:#fdc57f;--accent-soft:#3a2e22;--blob:#fdc57f12;--on-accent:#0c1423;--button-bg:#fdc57f;--button-text:#0c1423;--button-hover-bg:#ffe1bb;--button-hover-text:#0c1423;--border:#ffffff1a;--border-strong:#ffffff38;--shadow:#0000004d;--shadow-strong:#0000008c;--overlay:#040810b3;--device-frame:#2c3a52;--success:#74d68a;--danger:#ff7b7b}.theme-switcher{align-items:center;margin-right:20px;display:flex}.theme-switcher ul{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:999px;flex:none;gap:2px;margin:0;padding:3px;display:flex}.theme-switcher ul li{margin:0;display:flex}.theme-switcher button{color:var(--accent);letter-spacing:1px;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 12px;font-family:quicksand,sans-serif;font-size:.85rem;transition:background-color .2s,color .2s}.theme-switcher button:hover,.theme-switcher button:focus-visible{background-color:color-mix(in srgb, var(--accent) 15%, transparent)}.theme-switcher button[aria-pressed=true]{background-color:var(--accent);color:var(--on-accent)}@media screen and (width<=768px){.theme-switcher{align-items:flex-start;margin:12px 0 0 auto}}@font-face{font-family:montserrat;src:url(/build/assets/Montserrat-Regular-BHiDHGqd.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:quicksand;src:url(/build/assets/Quicksand-Regular-BU0k1ePE.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:effortless;src:url(/build/assets/effortless-zbBRFHSL.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:amatic;src:url(/build/assets/AmaticSC-Regular-D42-14BQ.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:amatic_bold;src:url(/build/assets/AmaticSC-Bold-BbVv1hIX.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}body,html{margin:0;padding:0}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-ring-inner)}.skip-link{z-index:1000;background-color:var(--button-bg);color:var(--button-text);border-radius:4px;padding:10px 16px;font-weight:700;position:fixed;top:12px;left:12px;translate:0 -200%}.skip-link:focus-visible{translate:0}body{background-color:var(--bg);color:var(--text);font-family:montserrat,serif}*,:before,:after{box-sizing:border-box}ul{list-style-type:none}a{text-decoration:none}[hidden]{display:none!important}p a{text-underline-offset:.15em;text-decoration:underline}:root{--section-top:80px}.section-container{position:relative}main h1,main .section-title{color:var(--heading);text-transform:capitalize;z-index:12;text-align:center;font-family:effortless,serif;font-size:2.2rem;position:relative}section:not(#home){padding-top:4px;position:relative}img{height:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.weblink-icon{stroke:currentColor}.plus-icon,.github-icon g{fill:currentColor}[tabindex="-1"]:focus{box-shadow:none;outline:none}
