*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Inter Placeholder,sans-serif;letter-spacing:-.06em;background:#fff}a{text-decoration:none;color:inherit}.main-content{padding:30px 80px 80px}@media(max-width:809px){.main-content{padding:30px 20px 20px}}.main-header{margin:20px 40px;position:-webkit-sticky;position:sticky}.main-header__container{display:flex;justify-content:space-between;align-items:center}@media(max-width:809px){.main-header__container{justify-content:center;flex-direction:column;gap:20px}}.main-header__logo{font-size:30px;font-weight:700}.main-header__nav{display:flex;gap:40px}.main-header__link{font-size:18px;text-decoration:none;color:#000;font-weight:lighter}.main-header__link:hover{color:#a4a4a4;transition:all .3s ease-in-out}.divider{width:100%;border:.5px solid #d6d6d6}.hero{flex-direction:column;min-height:800px}.hero,.hero__row{justify-content:space-between;display:flex}.hero__row{align-items:flex-start;width:100%;margin:0}.hero__row--bottom{margin-top:60px;margin-bottom:110px}@media(max-width:1199px)and (min-width:810px){.hero__row--bottom{margin-bottom:150px}}@media(max-width:809px)and (min-width:0px){.hero__row{flex-direction:column}}.hero__title{font-size:174px;letter-spacing:-.09em;margin:0;word-break:break-word}@media(max-width:1199px)and (min-width:810px){.hero__title{font-size:116px}}@media(max-width:809px)and (min-width:0px){.hero__title{font-size:53px}}.hero__photo{border-radius:140px;flex:none;height:168px;overflow:hidden;position:relative;width:168px}.hero__photo img{position:absolute;border-radius:inherit;inset:0;width:100%;height:100%;object-fit:cover}.hero__email{font-size:30px;font-weight:400;margin:0}@media(max-width:809px)and (min-width:0px){.hero__email{margin-bottom:30px}}.hero__phone{font-family:Inter,Inter Placeholder,sans-serif;font-style:normal;font-weight:500;font-variation-settings:normal;letter-spacing:-.04em;line-height:1.2em;color:#000;text-decoration:none;text-transform:none;text-align:justify;font-size:30px;font-weight:400;margin:0}@media(max-width:809px){.hero__phone{text-align:left}}@media(max-width:809px)and (min-width:0px){.hero__phone{margin-bottom:30px}}.hero__description{max-width:763px;font-size:40px;line-height:1.1em;margin:0;font-family:Inter,Inter Placeholder,sans-serif;font-style:normal;font-weight:500;font-variation-settings:normal;letter-spacing:-.04em;line-height:1.2em;color:#000;text-decoration:none;text-transform:none;text-align:justify}@media(max-width:809px){.hero__description{text-align:left}}@media(max-width:1199px)and (min-width:810px){.hero__description{font-size:32px;max-width:550px}.hero{min-height:750px}}@media(max-width:809px)and (min-width:0px){.hero{min-height:650px}}.works__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.works__title{z-index:1;font-size:30px;font-family:Inter,Inter Placeholder,sans-serif;font-style:normal;font-weight:500;font-variation-settings:normal;letter-spacing:-.04em;line-height:1.2em;color:#000;text-decoration:none;text-transform:none;text-align:justify}@media(max-width:809px){.works__title{text-align:left}}.about{display:flex;flex-direction:column;gap:60px}.about__header{display:flex;justify-content:space-between;align-items:center;margin-top:60px}.about__title{margin:0;font-size:30px;font-weight:700;font-family:Inter,Inter Placeholder,sans-serif;font-style:normal;font-weight:500;font-variation-settings:normal;letter-spacing:-.04em;line-height:1.2em;color:#000;text-decoration:none;text-transform:none;text-align:justify}@media(max-width:809px){.about__title{text-align:left}}.about__headline{font-size:40px;font-family:Inter,Inter Placeholder,sans-serif;font-style:normal;font-weight:500;font-variation-settings:normal;letter-spacing:-.04em;line-height:1.2em;color:#000;text-decoration:none;text-transform:none;text-align:justify;max-width:764px;margin:0}@media(max-width:809px){.about__headline{text-align:left}}.about__content{justify-content:end;align-items:center;display:flex}@media(max-width:768px){.about__content{flex-direction:column;text-align:center}}.about__image-wrapper{flex:1 1;max-width:553px;height:400px;border:1px solid #000}.about__image-wrapper img{width:100%;height:auto;object-fit:cover;border-radius:8px}.about__description{flex:2 1;max-width:750px;font-size:30px;font-family:Inter,Inter Placeholder,sans-serif;font-style:normal;font-weight:500;font-variation-settings:normal;letter-spacing:-.04em;line-height:1.2em;color:#000;text-decoration:none;text-transform:none;text-align:justify}@media(max-width:809px){.about__description{text-align:left}}.footer{display:flex;flex-direction:column;justify-content:space-between;height:calc(var(--framer-viewport-height, 100vh)*1);padding:80px;background-color:#000;color:#fff}.footer__top{display:flex;justify-content:flex-end;gap:30px}.footer__top a{text-decoration:none;color:#fff}.footer__middle{flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:40px}.footer__middle h2{font-size:50px;max-width:800px;font-weight:500;-webkit-mask-image:linear-gradient(90deg,black 60%,transparent);mask-image:linear-gradient(90deg,black 60%,transparent)}.footer__middle h2 span{font-weight:700}.footer__middle-actions{display:flex;align-items:center;gap:20px}.footer__middle-actions button{padding:1rem 2rem;font-weight:700;border:none;background-color:#fff;color:#000;cursor:pointer}.footer__middle-actions .dot{display:flex;align-items:center;gap:10px;font-size:16px}.footer__middle-actions .dot:before{content:"";display:inline-block;width:12px;height:12px;background-color:#fff;border-radius:50%;box-shadow:0 0 0 0 hsla(0,0%,100%,.4);animation:haloPulse 1.5s ease-out infinite}.footer__bottom{display:flex;justify-content:space-between;font-size:14px;flex-wrap:wrap;gap:20px}.footer__bottom-section{display:flex;flex-direction:column}@media(max-width:768px){.footer{padding:40px 20px}.footer__middle h2{font-size:32px}.footer__middle-actions{flex-direction:column;align-items:flex-start}.footer__bottom{flex-direction:column;align-items:center;text-align:center}}@keyframes haloPulse{0%{box-shadow:0 0 0 0 hsla(0,0%,100%,.4)}70%{box-shadow:0 0 0 15px hsla(0,0%,100%,0)}to{box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}.about__button,.works__button{color:#000;background:linear-gradient(45deg,#000 50%,transparent 0) 100%/250% 100% no-repeat,linear-gradient(45deg,transparent 50%,#000 0) 0/250% 100% no-repeat;transition:.5s;padding:16px 26px;cursor:pointer;font-size:16px;text-decoration:none;background-color:#efefef}.about__button:hover,.works__button:hover{background-position:50%;color:#fff}.project-card{position:relative;overflow:hidden}.project-card .project-image{width:100%;height:700px;object-fit:cover;display:block;transition:transform 1.5s ease}@media(max-width:1199px)and (min-width:810px){.project-card .project-image{height:500px}}@media(max-width:809px){.project-card .project-image{height:500px}}.project-card .overlay{position:absolute;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));inset:0;opacity:0;transition:opacity 1s ease;color:#fff;padding:2rem;display:flex;flex-direction:column;justify-content:end;gap:20px}.project-card .overlay h3{margin:0}.project-card .overlay .tags{gap:10px;display:flex}.project-card .links{display:flex;gap:100px}.project-card .links a{display:flex;justify-content:center;align-items:center;gap:10px}.project-card .links a img{width:30px;height:30px}.project-card:hover .project-image{transform:scale(1.1)}.project-card.active .overlay,.project-card:hover .overlay{opacity:1}.project-card.active .project-image{transform:scale(1.1)}.project-gallery{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(1,minmax(0,1fr));grid-auto-rows:auto}@media(min-width:768px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1200px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.works-page{padding:30px 80px 80px}.works-page__subtitle{align-content:center;align-items:center;display:flex;flex:none;flex-wrap:nowrap;justify-content:flex-end;margin-bottom:60px}@media(max-width:809px){.works-page{padding:30px 20px 20px}}.page-title{font-size:174px;letter-spacing:-.09em;margin-bottom:60px;word-break:break-word}.page-title.left{text-align:left}.page-title.center{text-align:center}@media(max-width:1199px)and (min-width:810px){.page-title{font-size:116px}}@media(max-width:809px)and (min-width:0px){.page-title{font-size:62px}}.about-page{padding:30px 80px 80px}.about-page__block--formations,.about-page__block--skills{margin-top:60px;gap:30px;display:flex;flex-direction:column}.about-page .section-head__title{font-family:Inter,Inter Placeholder,sans-serif;font-style:normal;font-weight:500;font-variation-settings:normal;letter-spacing:-.04em;line-height:1.2em;color:#000;text-decoration:none;text-transform:none;text-align:justify}@media(max-width:809px){.about-page .section-head__title{text-align:left}.about-page{padding:30px 20px 20px}}.skills{--gap:5rem;--duration:24s;position:relative;width:100%;overflow:hidden;background-color:#f5f5f5;padding:2rem;border-radius:8px}.skills__row{display:flex;flex-direction:column;gap:40px;margin-bottom:2rem}.skills__label{font-weight:600;font-size:1.2rem;color:#000;flex:0 0 auto}.skills__viewport{overflow:hidden;flex:1 1;mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0,rgb(0,0,0) 12.5%,rgb(0,0,0) 87.5%,rgba(0,0,0,0));-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0,rgb(0,0,0) 12.5%,rgb(0,0,0) 87.5%,rgba(0,0,0,0))}.skills__track{display:flex;gap:var(--gap);width:max-content;will-change:transform}.skills__track>*{flex:0 0 auto}.skills__item{list-style:none;display:flex;align-items:center;gap:.4rem}.skills__item img{height:60px;width:auto;display:block;opacity:.6;transition:opacity .3s ease}.skills__item img:hover{opacity:1}.skills__icon{height:60px;width:auto;display:block}.skills__text{color:#bdbdbd;font-weight:500;letter-spacing:.02em;padding:.7rem 1rem;border-radius:4px;white-space:nowrap}.skills__fade{pointer-events:none;position:absolute;inset:0;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);background:rgba(0,0,0,0)}@media(prefers-reduced-motion:reduce){.skills__track{transform:none!important}}.contact-page{padding:30px 80px 80px}.contact-page__header{margin-bottom:60px;max-width:1200px}.contact-page__grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;grid-gap:40px;gap:40px}.contact-page__phone{font-family:Inter,Inter Placeholder,sans-serif;font-style:normal;font-weight:500;font-variation-settings:normal;letter-spacing:-.04em;line-height:1.2em;color:#000;text-decoration:none;text-transform:none;text-align:justify;font-size:30px}@media(max-width:809px){.contact-page__phone{text-align:left}}.contact-page__info{font-size:1.2rem;font-weight:500;display:flex;align-items:center;gap:20px}.contact-page__form{max-width:720px;margin-left:auto;width:100%}@media(max-width:768px){.contact-page{padding:30px 20px 20px}.contact-page__grid{grid-template-columns:1fr;gap:20px}.contact-page__form{margin-left:0}.contact-page__info{justify-content:flex-start}}.contact-form{max-width:720px;margin:0 auto;display:grid;grid-gap:16px;gap:16px}.contact-form__title{font-size:clamp(2rem,5vw,4.5rem);font-weight:800;margin:0 0 1rem}.contact-form__hp{position:absolute;left:-9999px;width:1px;height:1px}.contact-form__field input,.contact-form__field textarea{width:100%;border:none;background:#f4f4f4;padding:18px 20px;font-size:16px;outline:none}.contact-form__submit{background:#000;color:#fff;border:0;padding:18px 24px;cursor:pointer}.contact-form__error{color:#c0392b}.contact-form__success{color:#2ecc71}.contact-info{max-width:360px}.contact-info__list{list-style:none;padding:0;margin:0 0 16px}.contact-info__list li{display:grid;grid-template-columns:110px 1fr;grid-gap:8px;gap:8px;margin-bottom:8px}.contact-info__label{color:#777}.contact-info__value{color:#111;text-decoration:none}.contact-info__socials{display:flex;gap:12px}.contact-info__social{text-decoration:none;color:#111}.custom-cursor{position:fixed;left:0;top:0;width:35px;height:35px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:2147483647;background:#fff;mix-blend-mode:difference}@media(max-width:1024px){.custom-cursor{display:none}}.formations__title{font-size:40px;margin-bottom:40px}.formations__list{flex-direction:column;gap:30px;margin:0;padding:0;list-style:none;display:flex;justify-content:center}.formations__item{align-items:flex-start;display:flex;justify-content:space-between;background-color:#f5f5f5;border-radius:8px;width:100%;padding:2rem;position:relative;overflow:hidden;transition:background-color .8s ease,color .8s ease}.formations__item:hover{background-color:#000}.formations__item:hover .formations__annee,.formations__item:hover .formations__details,.formations__item:hover .formations__intitule{color:#fff}.formations__item:hover .formations__ecole{color:#ddd}@media(max-width:768px){.formations__item{flex-direction:column;gap:10px}}.formations__annee{font-weight:700;font-size:20px;min-width:120px;transition:color .3s ease}.formations__details{flex-direction:column;display:flex;text-align:end;gap:5px;transition:color .3s ease}@media(max-width:768px){.formations__details{text-align:start;gap:10px}}.formations__intitule{font-size:22px;margin:0;transition:color .3s ease}.formations__ecole{font-size:18px;color:#888;margin:0;transition:color .3s ease}