@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(/fonts/poppins-medium-webfont.woff2) format("woff2"),url(/fonts/poppins-medium-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(/fonts/poppins-bold-webfont.woff2) format("woff2"),url(/fonts/poppins-bold-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:800;font-display:swap;src:url(/fonts/poppins-extrabold-webfont.woff2) format("woff2"),url(/fonts/poppins-extrabold-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:900;font-display:swap;src:url(/fonts/poppins-black-webfont.woff2) format("woff2"),url(/fonts/poppins-black-webfont.woff) format("woff")}@font-face{font-family:Lora;font-weight:400;font-display:swap;src:url(/fonts/lora-variablefont_wght-webfont.woff2) format("woff2"),url(/fonts/lora-variablefont_wght-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(/fonts/poppins-medium-webfont.woff2) format("woff2"),url(/fonts/poppins-medium-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(/fonts/poppins-bold-webfont.woff2) format("woff2"),url(/fonts/poppins-bold-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:800;font-display:swap;src:url(/fonts/poppins-extrabold-webfont.woff2) format("woff2"),url(/fonts/poppins-extrabold-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:900;font-display:swap;src:url(/fonts/poppins-black-webfont.woff2) format("woff2"),url(/fonts/poppins-black-webfont.woff) format("woff")}@font-face{font-family:Lora;font-weight:400;font-display:swap;src:url(/fonts/lora-variablefont_wght-webfont.woff2) format("woff2"),url(/fonts/lora-variablefont_wght-webfont.woff) format("woff")}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;border:0;border-radius:.5rem;transition:all .3s ease;font-weight:700;font-family:Poppins,sans-serif;line-height:150%;padding:.75rem 2.5rem}.btn,.btn:link,.btn:visited{border:0}.btn--primary{background-color:var(--primary-700);color:var(--neutral-50)}.btn--primary:hover{background-color:var(--primary-800)}.btn--primary:active{background-color:var(--primary-500)}.btn--secondary{background-color:var(--neutral-50);border:1px solid var(--neutral-400);color:var(--neutral-900)}.btn--secondary:hover{background-color:var(--neutral-200);border:1px solid var(--neutral-600)}.btn--animated{animation:moveInBottom .5s ease-out .6s;animation-fill-mode:backwards}.btn__copy{text-decoration:none;color:var(--neutral-50)}.btn--fixed{position:fixed;top:16%;left:2%;z-index:1000}.btn--md,.btn--lg{padding:.75rem 2.5rem;height:3rem}.btn-icon-container{display:flex;gap:8px;align-items:center;justify-content:center;align-content:center}.btn__icon{width:20px;height:20px}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0;font:inherit}*{scroll-behavior:smooth}*::-webkit-scrollbar-track{background-color:var(--core-color-neutral-100)}*::-webkit-scrollbar{width:.5rem}*::-webkit-scrollbar-thumb{background-color:#6297f9;border-radius:5rem}.ff-base{font-family:Lora,serif}.ff-accent{font-family:Poppins,sans-serif}.fw-regular{font-weight:400}.fw-bold{font-weight:700}.fs-900{font-size:var(--fs-900)}.fs-800{font-size:var(--fs-800)}.fs-700{font-size:var(--fs-700)}.fs-600{font-size:var(--fs-600)}.fs-500{font-size:var(--fs-500)}.fs-400{font-size:var(--fs-400)}.fs-300{font-size:var(--fs-300)}.fs-200{font-size:var(--fs-200)}.fs-100{font-size:var(--fs-100)}.container{--padding: 1rem * 2;--max-width: 60rem;width:min(100% - var(--padding),var(--max-width));margin-inline:auto}.container[data-type=narrow]{--max-width: 40rem}.container[data-type=wide]{--max-width: 75rem}.container[data-type=full-bleed]{--max-width: 100%}.section{padding-block:clamp(3rem,10vh,7rem)}.hero{padding-block:clamp(15rem,15vh,20rem)}.mx-auto{margin-inline:auto}.margin-1{margin:.25rem}.margin-block-start-1{margin-block-start:.25rem}.margin-block-end-1{margin-block-end:.25rem}.margin-block-1{margin-block:.25rem}.margin-inline-start-1{margin-inline-start:.25rem}.margin-inline-end-1{margin-inline-end:.25rem}.margin-inline-1{margin-inline:.25rem}.padding-1{padding:.25rem}.padding-block-start-1{padding-block-start:.25rem}.padding-block-end-1{padding-block-end:.25rem}.padding-block-1{padding-block:.25rem}.padding-inline-start-1{padding-inline-start:.25rem}.padding-inline-end-1{padding-inline-end:.25rem}.padding-inline-1{padding-inline:.25rem}.margin-2{margin:.5rem}.margin-block-start-2{margin-block-start:.5rem}.margin-block-end-2{margin-block-end:.5rem}.margin-block-2{margin-block:.5rem}.margin-inline-start-2{margin-inline-start:.5rem}.margin-inline-end-2{margin-inline-end:.5rem}.margin-inline-2{margin-inline:.5rem}.padding-2{padding:.5rem}.padding-block-start-2{padding-block-start:.5rem}.padding-block-end-2{padding-block-end:.5rem}.padding-block-2{padding-block:.5rem}.padding-inline-start-2{padding-inline-start:.5rem}.padding-inline-end-2{padding-inline-end:.5rem}.padding-inline-2{padding-inline:.5rem}.margin-3{margin:.75rem}.margin-block-start-3{margin-block-start:.75rem}.margin-block-end-3{margin-block-end:.75rem}.margin-block-3{margin-block:.75rem}.margin-inline-start-3{margin-inline-start:.75rem}.margin-inline-end-3{margin-inline-end:.75rem}.margin-inline-3{margin-inline:.75rem}.padding-3{padding:.75rem}.padding-block-start-3{padding-block-start:.75rem}.padding-block-end-3{padding-block-end:.75rem}.padding-block-3{padding-block:.75rem}.padding-inline-start-3{padding-inline-start:.75rem}.padding-inline-end-3{padding-inline-end:.75rem}.padding-inline-3{padding-inline:.75rem}.margin-4{margin:1rem}.margin-block-start-4{margin-block-start:1rem}.margin-block-end-4{margin-block-end:1rem}.margin-block-4{margin-block:1rem}.margin-inline-start-4{margin-inline-start:1rem}.margin-inline-end-4{margin-inline-end:1rem}.margin-inline-4{margin-inline:1rem}.padding-4{padding:1rem}.padding-block-start-4{padding-block-start:1rem}.padding-block-end-4{padding-block-end:1rem}.padding-block-4{padding-block:1rem}.padding-inline-start-4{padding-inline-start:1rem}.padding-inline-end-4{padding-inline-end:1rem}.padding-inline-4{padding-inline:1rem}.margin-5{margin:1.25rem}.margin-block-start-5{margin-block-start:1.25rem}.margin-block-end-5{margin-block-end:1.25rem}.margin-block-5{margin-block:1.25rem}.margin-inline-start-5{margin-inline-start:1.25rem}.margin-inline-end-5{margin-inline-end:1.25rem}.margin-inline-5{margin-inline:1.25rem}.padding-5{padding:1.25rem}.padding-block-start-5{padding-block-start:1.25rem}.padding-block-end-5{padding-block-end:1.25rem}.padding-block-5{padding-block:1.25rem}.padding-inline-start-5{padding-inline-start:1.25rem}.padding-inline-end-5{padding-inline-end:1.25rem}.padding-inline-5{padding-inline:1.25rem}.margin-6{margin:1.5rem}.margin-block-start-6{margin-block-start:1.5rem}.margin-block-end-6{margin-block-end:1.5rem}.margin-block-6{margin-block:1.5rem}.margin-inline-start-6{margin-inline-start:1.5rem}.margin-inline-end-6{margin-inline-end:1.5rem}.margin-inline-6{margin-inline:1.5rem}.padding-6{padding:1.5rem}.padding-block-start-6{padding-block-start:1.5rem}.padding-block-end-6{padding-block-end:1.5rem}.padding-block-6{padding-block:1.5rem}.padding-inline-start-6{padding-inline-start:1.5rem}.padding-inline-end-6{padding-inline-end:1.5rem}.padding-inline-6{padding-inline:1.5rem}.margin-7{margin:1.75rem}.margin-block-start-7{margin-block-start:1.75rem}.margin-block-end-7{margin-block-end:1.75rem}.margin-block-7{margin-block:1.75rem}.margin-inline-start-7{margin-inline-start:1.75rem}.margin-inline-end-7{margin-inline-end:1.75rem}.margin-inline-7{margin-inline:1.75rem}.padding-7{padding:1.75rem}.padding-block-start-7{padding-block-start:1.75rem}.padding-block-end-7{padding-block-end:1.75rem}.padding-block-7{padding-block:1.75rem}.padding-inline-start-7{padding-inline-start:1.75rem}.padding-inline-end-7{padding-inline-end:1.75rem}.padding-inline-7{padding-inline:1.75rem}.margin-8{margin:2rem}.margin-block-start-8{margin-block-start:2rem}.margin-block-end-8{margin-block-end:2rem}.margin-block-8{margin-block:2rem}.margin-inline-start-8{margin-inline-start:2rem}.margin-inline-end-8{margin-inline-end:2rem}.margin-inline-8{margin-inline:2rem}.padding-8{padding:2rem}.padding-block-start-8{padding-block-start:2rem}.padding-block-end-8{padding-block-end:2rem}.padding-block-8{padding-block:2rem}.padding-inline-start-8{padding-inline-start:2rem}.padding-inline-end-8{padding-inline-end:2rem}.padding-inline-8{padding-inline:2rem}.margin-9{margin:2.5rem}.margin-block-start-9{margin-block-start:2.5rem}.margin-block-end-9{margin-block-end:2.5rem}.margin-block-9{margin-block:2.5rem}.margin-inline-start-9{margin-inline-start:2.5rem}.margin-inline-end-9{margin-inline-end:2.5rem}.margin-inline-9{margin-inline:2.5rem}.padding-9{padding:2.5rem}.padding-block-start-9{padding-block-start:2.5rem}.padding-block-end-9{padding-block-end:2.5rem}.padding-block-9{padding-block:2.5rem}.padding-inline-start-9{padding-inline-start:2.5rem}.padding-inline-end-9{padding-inline-end:2.5rem}.padding-inline-9{padding-inline:2.5rem}.margin-10{margin:3rem}.margin-block-start-10{margin-block-start:3rem}.margin-block-end-10{margin-block-end:3rem}.margin-block-10{margin-block:3rem}.margin-inline-start-10{margin-inline-start:3rem}.margin-inline-end-10{margin-inline-end:3rem}.margin-inline-10{margin-inline:3rem}.padding-10{padding:3rem}.padding-block-start-10{padding-block-start:3rem}.padding-block-end-10{padding-block-end:3rem}.padding-block-10{padding-block:3rem}.padding-inline-start-10{padding-inline-start:3rem}.padding-inline-end-10{padding-inline-end:3rem}.padding-inline-10{padding-inline:3rem}.margin-11{margin:4rem}.margin-block-start-11{margin-block-start:4rem}.margin-block-end-11{margin-block-end:4rem}.margin-block-11{margin-block:4rem}.margin-inline-start-11{margin-inline-start:4rem}.margin-inline-end-11{margin-inline-end:4rem}.margin-inline-11{margin-inline:4rem}.padding-11{padding:4rem}.padding-block-start-11{padding-block-start:4rem}.padding-block-end-11{padding-block-end:4rem}.padding-block-11{padding-block:4rem}.padding-inline-start-11{padding-inline-start:4rem}.padding-inline-end-11{padding-inline-end:4rem}.padding-inline-11{padding-inline:4rem}.margin-12{margin:5rem}.margin-block-start-12{margin-block-start:5rem}.margin-block-end-12{margin-block-end:5rem}.margin-block-12{margin-block:5rem}.margin-inline-start-12{margin-inline-start:5rem}.margin-inline-end-12{margin-inline-end:5rem}.margin-inline-12{margin-inline:5rem}.padding-12{padding:5rem}.padding-block-start-12{padding-block-start:5rem}.padding-block-end-12{padding-block-end:5rem}.padding-block-12{padding-block:5rem}.padding-inline-start-12{padding-inline-start:5rem}.padding-inline-end-12{padding-inline-end:5rem}.padding-inline-12{padding-inline:5rem}.margin-13{margin:6rem}.margin-block-start-13{margin-block-start:6rem}.margin-block-end-13{margin-block-end:6rem}.margin-block-13{margin-block:6rem}.margin-inline-start-13{margin-inline-start:6rem}.margin-inline-end-13{margin-inline-end:6rem}.margin-inline-13{margin-inline:6rem}.padding-13{padding:6rem}.padding-block-start-13{padding-block-start:6rem}.padding-block-end-13{padding-block-end:6rem}.padding-block-13{padding-block:6rem}.padding-inline-start-13{padding-inline-start:6rem}.padding-inline-end-13{padding-inline-end:6rem}.padding-inline-13{padding-inline:6rem}.margin-14{margin:8rem}.margin-block-start-14{margin-block-start:8rem}.margin-block-end-14{margin-block-end:8rem}.margin-block-14{margin-block:8rem}.margin-inline-start-14{margin-inline-start:8rem}.margin-inline-end-14{margin-inline-end:8rem}.margin-inline-14{margin-inline:8rem}.padding-14{padding:8rem}.padding-block-start-14{padding-block-start:8rem}.padding-block-end-14{padding-block-end:8rem}.padding-block-14{padding-block:8rem}.padding-inline-start-14{padding-inline-start:8rem}.padding-inline-end-14{padding-inline-end:8rem}.padding-inline-14{padding-inline:8rem}.margin-15{margin:10rem}.margin-block-start-15{margin-block-start:10rem}.margin-block-end-15{margin-block-end:10rem}.margin-block-15{margin-block:10rem}.margin-inline-start-15{margin-inline-start:10rem}.margin-inline-end-15{margin-inline-end:10rem}.margin-inline-15{margin-inline:10rem}.padding-15{padding:10rem}.padding-block-start-15{padding-block-start:10rem}.padding-block-end-15{padding-block-end:10rem}.padding-block-15{padding-block:10rem}.padding-inline-start-15{padding-inline-start:10rem}.padding-inline-end-15{padding-inline-end:10rem}.padding-inline-15{padding-inline:10rem}.heading-1{font-size:var(--fs-900);color:var(--neutral-900);font-family:Poppins,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-weight:700;line-height:1}.heading-2{font-size:var(--fs-800);color:var(--neutral-900);font-family:Poppins,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-weight:700;line-height:1}.heading-3{font-size:var(--fs-700);color:var(--neutral-900);font-family:Poppins,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-weight:700;line-height:1}.box-shadow-1{box-shadow:0 .25rem 1rem #0000000d}.box-shadow-2{box-shadow:0 .25rem 1rem #00000026}.border-radius-1{border-radius:.5rem}.border-radius-2{border-radius:1rem}.display__100--regular{font-family:Poppins,sans-serif;font-weight:400;line-height:120%;font-size:var(--fs-900)}@media screen and (max-width: 37.5em){.display__100--regular{font-size:var(--fs-800)}}.display__100--bold{font-family:Poppins,sans-serif;font-weight:700;line-height:120%;font-size:var(--fs-900)}@media screen and (max-width: 37.5em){.display__100--bold{font-size:var(--fs-800)}}.display__200--regular{font-family:Poppins,sans-serif;font-weight:400;line-height:120%;font-size:var(--fs-800)}@media screen and (max-width: 37.5em){.display__200--regular{font-size:var(--fs-700)}}.display__200--bold{font-family:Poppins,sans-serif;font-weight:700;line-height:120%;font-size:var(--fs-800)}@media screen and (max-width: 37.5em){.display__200--bold{font-size:var(--fs-700)}}.heading__100--regular{font-family:Poppins,sans-serif;font-weight:400;line-height:120%;font-size:var(--fs-700)}@media screen and (max-width: 37.5em){.heading__100--regular{font-size:var(--fs-600)}}.heading__100--bold{font-family:Poppins,sans-serif;font-weight:700;line-height:120%;font-size:var(--fs-700)}@media screen and (max-width: 37.5em){.heading__100--bold{font-size:var(--fs-600)}}.heading__200--regular{font-family:Poppins,sans-serif;font-weight:400;line-height:120%;font-size:var(--fs-600)}@media screen and (max-width: 37.5em){.heading__200--regular{font-size:var(--fs-500)}}.heading__200--bold{font-family:Poppins,sans-serif;font-weight:700;line-height:120%;font-size:var(--fs-600)}@media screen and (max-width: 37.5em){.heading__200--bold{font-size:var(--fs-500)}}.heading__300--regular{font-family:Poppins,sans-serif;font-weight:400;line-height:120%;font-size:var(--fs-500)}@media screen and (max-width: 37.5em){.heading__300--regular{font-size:var(--fs-400)}}.heading__300--bold{font-family:Poppins,sans-serif;font-weight:700;line-height:120%;font-size:var(--fs-500)}@media screen and (max-width: 37.5em){.heading__300--bold{font-size:var(--fs-400)}}.heading__400--regular{font-family:Poppins,sans-serif;font-weight:400;line-height:120%;font-size:var(--fs-400)}@media screen and (max-width: 37.5em){.heading__400--regular{font-size:var(--fs-300)}}.heading__400--bold{font-family:Poppins,sans-serif;font-weight:700;line-height:120%;font-size:var(--fs-400)}@media screen and (max-width: 37.5em){.heading__400--bold{font-size:var(--fs-300)}}.paragraph__100--regular{font-family:Lora,serif;font-weight:400;line-height:150%;font-size:var(--fs-500)}.paragraph__100--medium{font-family:Lora,serif;font-weight:500;line-height:150%;font-size:var(--fs-500)}.paragraph__100--bold{font-family:Lora,serif;font-weight:700;line-height:150%;font-size:var(--fs-500)}.paragraph__200--regular{font-family:Lora,serif;font-weight:400;line-height:150%;font-size:var(--fs-400)}.paragraph__200--medium{font-family:Lora,serif;font-weight:500;line-height:150%;font-size:var(--fs-400)}.paragraph__200--bold{font-family:Lora,serif;font-weight:700;line-height:150%;font-size:var(--fs-400)}.paragraph__300--regular{font-family:Lora,serif;font-weight:400;line-height:150%;font-size:var(--fs-300)}.paragraph__300--medium{font-family:Lora,serif;font-weight:500;line-height:150%;font-size:var(--fs-300)}.paragraph__300--bold{font-family:Lora,serif;font-weight:700;line-height:150%;font-size:var(--fs-300)}.paragraph__400--regular{font-family:Lora,serif;font-weight:400;line-height:150%;font-size:var(--fs-200)}.paragraph__400--medium{font-family:Lora,serif;font-weight:500;line-height:150%;font-size:var(--fs-200)}.paragraph__400--bold{font-family:Lora,serif;font-weight:700;line-height:150%;font-size:var(--fs-200)}.paragraph__500--regular{font-family:Lora,serif;font-weight:400;line-height:150%;font-size:var(--fs-100)}.paragraph__500--medium{font-family:Lora,serif;font-weight:500;line-height:150%;font-size:var(--fs-100)}.paragraph__500--bold{font-family:Lora,serif;font-weight:700;line-height:150%;font-size:var(--fs-100)}.button__100--bold{font-family:Poppins,sans-serif;font-weight:700;line-height:120%;font-size:var(--fs-500)}.button__200--bold{font-family:Poppins,sans-serif;font-weight:700;line-height:120%;font-size:var(--fs-400)}.button__300--bold{font-family:Poppins,sans-serif;font-weight:700;line-height:120%;font-size:var(--fs-300)}.label__100--regular{font-family:Lora,serif;font-weight:400;line-height:120%;font-size:var(--fs-500)}.label__100--medium{font-family:Lora,serif;font-weight:500;line-height:120%;font-size:var(--fs-500)}.label__100--bold{font-family:Lora,serif;font-weight:700;line-height:120%;font-size:var(--fs-500)}.label__200--regular{font-family:Lora,serif;font-weight:400;line-height:120%;font-size:var(--fs-400)}.label__200--medium{font-family:Lora,serif;font-weight:500;line-height:120%;font-size:var(--fs-400)}.label__200--bold{font-family:Lora,serif;font-weight:700;line-height:120%;font-size:var(--fs-400)}.label__300--regular{font-family:Lora,serif;font-weight:400;line-height:120%;font-size:var(--fs-300)}.label__300--medium{font-family:Lora,serif;font-weight:500;line-height:120%;font-size:var(--fs-300)}.label__300--bold{font-family:Lora,serif;font-weight:700;line-height:120%;font-size:var(--fs-300)}.label__400--regular{font-family:Lora,serif;font-weight:400;line-height:120%;font-size:var(--fs-200)}.label__400--medium{font-family:Lora,serif;font-weight:500;line-height:120%;font-size:var(--fs-200)}.label__400--bold{font-family:Lora,serif;font-weight:700;line-height:120%;font-size:var(--fs-200)}.label__500--regular{font-family:Lora,serif;font-weight:400;line-height:120%;font-size:var(--fs-100)}.label__500--medium{font-family:Lora,serif;font-weight:500;line-height:120%;font-size:var(--fs-100)}.label__500--bold{font-family:Lora,serif;font-weight:700;line-height:120%;font-size:var(--fs-100)}.card-background-hub{background-color:var(--brand-hub)}.card-background-aleph{background-color:var(--brand-aleph)}.card-background-solve{background-color:var(--brand-solve)}.card-background-av{background-color:var(--brand-av)}.card-background-essilor{background-color:var(--brand-essilor)}.card-background-landing{background-color:var(--brand-landing)}body{font-family:Lora,serif;font-weight:400;font-size:var(--fs-400);color:var(--neutral-1000);line-height:1.5;background-color:var(--neutral-blue-50)}a{color:var(--primary-500)}a:is(:hover,:focus){color:var(--primary-100)}@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(/fonts/poppins-medium-webfont.woff2) format("woff2"),url(/fonts/poppins-medium-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(/fonts/poppins-bold-webfont.woff2) format("woff2"),url(/fonts/poppins-bold-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:800;font-display:swap;src:url(/fonts/poppins-extrabold-webfont.woff2) format("woff2"),url(/fonts/poppins-extrabold-webfont.woff) format("woff")}@font-face{font-family:Poppins;font-weight:900;font-display:swap;src:url(/fonts/poppins-black-webfont.woff2) format("woff2"),url(/fonts/poppins-black-webfont.woff) format("woff")}@font-face{font-family:Lora;font-weight:400;font-display:swap;src:url(/fonts/lora-variablefont_wght-webfont.woff2) format("woff2"),url(/fonts/lora-variablefont_wght-webfont.woff) format("woff")}:root{--neutral-50: hsl(0, 0%, 100%);--neutral-100: hsl(225, 40%, 98%);--neutral-200: hsl(225, 40%, 96%);--neutral-300: hsl(218, 30%, 90%);--neutral-400: hsl(220, 26%, 83%);--neutral-500: hsl(220, 20%, 65%);--neutral-600: hsl(219, 16%, 44%);--neutral-700: hsl(218, 9%, 27%);--neutral-800: hsl(220, 14%, 16%);--neutral-900: hsl(220, 18%, 12%);--neutral-1000: hsl(249, 31%, 15%);--neutral-blue-50: hsl(255, 25%, 97%);--neutral-blue-100: hsl(250, 32%, 95%);--neutral-blue-200: hsl(250, 32%, 85%);--neutral-blue-300: hsl(250, 32%, 75%);--neutral-blue-400: hsl(250, 32%, 65%);--neutral-blue-500: hsl(250, 32%, 55%);--neutral-blue-600: hsl(250, 32%, 45%);--neutral-blue-700: hsl(250, 32%, 35%);--neutral-blue-800: hsl(250, 32%, 25%);--neutral-blue-900: hsl(250, 32%, 15%);--neutral-blue-1000: hsl(250, 32%, 13%);--accent-100: hsl(39, 100%, 96%);--accent-200: hsl(39, 100%, 91%);--accent-300: hsl(40, 97%, 82%);--accent-400: hsl(40, 97%, 71%);--accent-500: hsl(39, 95%, 60%);--accent-600: hsl(30, 84%, 46%);--accent-700: hsl(30, 90%, 36%);--accent-800: hsl(30, 81%, 32%);--accent-900: hsl(29, 81%, 27%);--primary-100: hsl(219, 100%, 97%);--primary-200: hsl(220, 94%, 92%);--primary-300: hsl(220, 96%, 87%);--primary-400: hsl(220, 96%, 78%);--primary-500: hsl(219, 93%, 68%);--primary-600: hsl(220, 92%, 60%);--primary-700: hsl(219, 84%, 55%);--primary-800: hsl(219, 76%, 47%);--primary-900: hsl(220, 70%, 40%);--error-100: hsl(355, 86%, 97%);--error-200: hsl(355, 93%, 93%);--error-300: hsl(354, 96%, 89%);--error-400: hsl(355, 93%, 81%);--error-500: hsl(355, 90%, 70%);--error-600: hsl(354, 84%, 60%);--error-700: hsl(354, 74%, 52%);--error-800: hsl(354, 66%, 43%);--error-900: hsl(355, 69%, 35%);--brand-hub: hsl(219, 93%, 68%);--brand-hub-ds: hsl(219, 93%, 68%);--brand-aleph: hsl(220, 14%, 16%);--brand-solve: hsl(219, 84%, 55%);--brand-av: hsl(30, 74%, 22%);--brand-essilor: hsl(259, 71%, 53%);--brand-landing: hsl(218, 9%, 27%);--fixed-white: hsl(0, 0%, 100%);--fixed-black: hsl(249, 35%, 10%);--fixed-black-medium: hsl(237, 23%, 30%);--fixed-soft-blue: hsl(220, 94%, 92%);--opacity-blue-100: hsla(220, 94%, 92%, .6);--gradients-purple: linear-gradient(309deg, hsl(260, 95%, 91%), hsl(257, 100%, 98%));--fs-900: 3.75rem;--fs-800: 2.25rem;--fs-700: 1.75rem;--fs-600: 1.125rem;--fs-500: 1.125rem;--fs-400: 1rem;--fs-300: .875rem;--fs-200: .75rem;--fs-100: .625rem}@media screen and (max-width: 65em){:root{--fs-900: 3.75rem;--fs-800: 3rem;--fs-700: 1.75rem;--fs-600: 1.3125rem;--fs-500: 1.125rem;--fs-400: 1rem;--fs-300: .875rem;--fs-200: .75rem;--fs-100: .625rem}}body[data-theme=light]{--neutral-50: hsl(0, 0%, 100%);--neutral-100: hsl(225, 40%, 98%);--neutral-200: hsl(225, 40%, 96%);--neutral-300: hsl(218, 30%, 90%);--neutral-400: hsl(220, 26%, 83%);--neutral-500: hsl(220, 20%, 65%);--neutral-600: hsl(219, 16%, 44%);--neutral-700: hsl(218, 9%, 27%);--neutral-800: hsl(220, 14%, 16%);--neutral-900: hsl(220, 18%, 12%);--neutral-1000: hsl(249, 31%, 15%);--neutral-blue-50: hsl(255, 25%, 97%);--neutral-blue-100: hsl(250, 32%, 95%);--neutral-blue-200: hsl(250, 32%, 85%);--neutral-blue-300: hsl(250, 32%, 75%);--neutral-blue-400: hsl(250, 32%, 65%);--neutral-blue-500: hsl(250, 32%, 55%);--neutral-blue-600: hsl(250, 32%, 45%);--neutral-blue-700: hsl(250, 32%, 35%);--neutral-blue-800: hsl(250, 32%, 25%);--neutral-blue-900: hsl(250, 32%, 15%);--neutral-blue-1000: hsl(250, 32%, 13%);--accent-100: hsl(39, 100%, 96%);--accent-200: hsl(39, 100%, 91%);--accent-300: hsl(40, 97%, 82%);--accent-400: hsl(40, 97%, 71%);--accent-500: hsl(39, 95%, 60%);--accent-600: hsl(30, 84%, 46%);--accent-700: hsl(30, 90%, 36%);--accent-800: hsl(30, 81%, 32%);--accent-900: hsl(29, 81%, 27%);--primary-100: hsl(219, 100%, 97%);--primary-200: hsl(220, 94%, 92%);--primary-300: hsl(220, 96%, 87%);--primary-400: hsl(220, 96%, 78%);--primary-500: hsl(219, 93%, 68%);--primary-600: hsl(220, 92%, 60%);--primary-700: hsl(219, 84%, 55%);--primary-800: hsl(219, 76%, 47%);--primary-900: hsl(220, 70%, 40%);--error-100: hsl(355, 86%, 97%);--error-200: hsl(355, 93%, 93%);--error-300: hsl(354, 96%, 89%);--error-400: hsl(355, 93%, 81%);--error-500: hsl(355, 90%, 70%);--error-600: hsl(354, 84%, 60%);--error-700: hsl(354, 74%, 52%);--error-800: hsl(354, 66%, 43%);--error-900: hsl(355, 69%, 35%);--brand-hub: hsl(219, 93%, 68%);--brand-hub-ds: hsl(219, 93%, 68%);--brand-aleph: hsl(220, 14%, 16%);--brand-solve: hsl(219, 84%, 55%);--brand-av: hsl(30, 74%, 22%);--brand-essilor: hsl(259, 71%, 53%);--brand-landing: hsl(218, 9%, 27%);--fixed-white: hsl(0, 0%, 100%);--fixed-black: hsl(249, 35%, 10%);--fixed-black-medium: hsl(237, 23%, 30%);--fixed-soft-blue: hsl(220, 94%, 92%);--opacity-blue-100: hsla(220, 94%, 92%, .6);--gradients-purple: linear-gradient(309deg, hsl(260, 95%, 91%), hsl(257, 100%, 98%))}body[data-theme=dark]{--neutral-50: hsl(249, 31%, 15%);--neutral-100: hsl(220, 18%, 12%);--neutral-200: hsl(220, 14%, 16%);--neutral-300: hsl(218, 9%, 27%);--neutral-400: hsl(219, 16%, 44%);--neutral-500: hsl(220, 20%, 65%);--neutral-600: hsl(220, 26%, 83%);--neutral-700: hsl(218, 30%, 90%);--neutral-800: hsl(225, 40%, 96%);--neutral-900: hsl(225, 40%, 98%);--neutral-1000: hsl(0, 0%, 100%);--neutral-blue-50: hsl(250, 32%, 15%);--neutral-blue-100: hsl(250, 32%, 13%);--neutral-blue-200: hsl(250, 32%, 15%);--neutral-blue-300: hsl(250, 32%, 25%);--neutral-blue-400: hsl(250, 32%, 35%);--neutral-blue-500: hsl(250, 32%, 45%);--neutral-blue-600: hsl(250, 32%, 55%);--neutral-blue-700: hsl(250, 32%, 65%);--neutral-blue-800: hsl(250, 32%, 75%);--neutral-blue-900: hsl(250, 32%, 85%);--neutral-blue-1000: hsl(250, 32%, 95%);--accent-100: hsl(29, 81%, 27%);--accent-200: hsl(30, 81%, 32%);--accent-300: hsl(30, 90%, 36%);--accent-400: hsl(30, 84%, 46%);--accent-500: hsl(39, 95%, 60%);--accent-600: hsl(40, 97%, 71%);--accent-700: hsl(40, 97%, 82%);--accent-800: hsl(39, 100%, 91%);--accent-900: hsl(39, 100%, 96%);--primary-100: hsl(220, 70%, 40%);--primary-200: hsl(219, 76%, 47%);--primary-300: hsl(219, 84%, 55%);--primary-400: hsl(220, 92%, 60%);--primary-500: hsl(219, 93%, 68%);--primary-600: hsl(220, 96%, 87%);--primary-700: hsl(220, 96%, 78%);--primary-800: hsl(220, 96%, 87%);--primary-900: hsl(220, 94%, 92%);--error-100: hsl(355, 69%, 35%);--error-200: hsl(354, 66%, 43%);--error-300: hsl(354, 74%, 52%);--error-400: hsl(354, 84%, 60%);--error-500: hsl(355, 90%, 70%);--error-600: hsl(354, 96%, 89%);--error-700: hsl(355, 93%, 81%);--error-800: hsl(354, 96%, 89%);--error-900: hsl(355, 93%, 93%);--brand-hub: hsl(219, 93%, 68%);--brand-hub-ds: hsl(219, 93%, 68%);--brand-aleph: hsl(220, 14%, 16%);--brand-solve: hsl(219, 84%, 55%);--brand-av: hsl(30, 74%, 22%);--brand-essilor: hsl(259, 71%, 53%);--brand-landing: hsl(218, 9%, 27%);--fixed-white: hsl(0, 0%, 100%);--fixed-black: hsl(249, 35%, 10%);--fixed-black-medium: hsl(237, 23%, 30%);--fixed-soft-blue: hsl(220, 94%, 92%);--opacity-blue-100: hsla(250, 32%, 15%, .6);--gradients-purple: linear-gradient(309deg, hsl(260, 91%, 64%), hsl(260, 67%, 34%))}@keyframes moveInLeft{0%{opacity:0;transform:translate(-10rem)}80%{transform:translate(1rem)}to{opacity:1;transform:translate(0)}}@keyframes moveInRight{0%{opacity:0;transform:translate(10rem)}80%{transform:translate(-1rem)}to{opacity:1;transform:translate(0)}}@keyframes moveInBottom{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translate(0)}}@keyframes moveInTop{0%{opacity:0;transform:translateY(-3rem)}to{opacity:1;transform:translate(0)}}@keyframes scale{0%{opacity:0;transform:scale(.8)}80%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes portfolio{0%{opacity:0;transform:translateY(3rem)}to{opacity:1;transform:translate(0)}}@keyframes modalIn{0%{opacity:0;transform:translateY(100%)}70%{opacity:.5}to{opacity:1;transform:translateY(0)}}@keyframes modalOut{0%{opacity:0;transform:translateY(0)}70%{opacity:.5}to{opacity:1;transform:translateY(100%)}}@keyframes opacityModal{0%{opacity:0}70%{opacity:.5}to{opacity:1}}@keyframes clipboard{0%{opacity:0;transform:translateY(-2rem)}to{opacity:1;transform:translate(0)}}.container-home{display:grid;grid-template-rows:repeat(3,auto);grid-template-columns:repeat(4,1fr);grid-gap:1.5rem;margin:auto;width:100%;padding:0;grid-template-areas:"info info info info" "portfolio portfolio portfolio portfolio" "contact contact contact contact"}@media screen and (max-width: 45em){.container-home{grid-template-columns:repeat(2,1fr);grid-template-areas:"info info" "portfolio portfolio " "contact contact"}}.container-home .section-hero{grid-area:info;margin-top:3rem;margin:auto;max-width:75rem;width:100%;padding:0 1.5rem;overflow:hidden}.container-home .section-portfolio{grid-area:portfolio;margin:auto;max-width:75rem;width:100%;padding:2rem 1.5rem;position:relative}.container-home .section-portfolio:before{content:"";position:absolute;top:0;left:49.4%;width:100vw;height:100%;background-color:var(--neutral-blue-100);transform:translate(-50%);z-index:-1}@media screen and (max-width: 45em){.container-home .section-portfolio:before{left:49.2%}}.container-home .section-contact{grid-area:contact;margin:auto;background-color:var(--light-primary-hover);width:100%}.container-about{display:grid;grid-template-rows:repeat(2,auto);grid-template-columns:repeat(4,1fr);grid-gap:4rem;margin:auto;max-width:75rem;width:100%;grid-template-areas:"hero hero hero hero" "perfil perfil perfil perfil"}.container-about .hero-about{grid-area:hero}.container-about .profile{grid-area:perfil}.container-cv{display:grid;grid-template-rows:repeat(6,auto);grid-template-columns:repeat(5,1fr);grid-gap:4rem;margin:auto;max-width:75rem;width:100%;padding:5rem 1.5rem;grid-template-areas:"name-cv name-cv name-cv name-cv name-cv" "profile-cv profile-cv profile-cv profile-cv profile-cv" "experience-cv experience-cv experience-cv education-cv education-cv" "skills-cv skills-cv skills-cv skills-cv skills-cv" "languages-cv languages-cv languages-cv hobbies-cv hobbies-cv" "download-cv download-cv download-cv download-cv download-cv"}@media screen and (max-width: 45em){.container-cv{grid-template-rows:repeat(8,auto);grid-template-columns:repeat(2,1fr);grid-gap:2rem;grid-template-areas:"name-cv name-cv " "profile-cv profile-cv " "experience-cv experience-cv " "education-cv education-cv" "skills-cv skills-cv " "languages-cv languages-cv" "hobbies-cv hobbies-cv" "download-cv download-cv"}}.container-cv .name-cv{border-radius:2rem;grid-area:name-cv;padding:2.5rem;max-width:75rem;width:100%}.container-cv .name-cv__img{width:100%}.container-cv .profile-cv{border-radius:2rem;grid-area:profile-cv;padding:2.5rem;max-width:75rem;width:100%}.container-cv .experience-cv{border-radius:2rem;grid-area:experience-cv;padding:2.5rem;max-width:75rem;width:100%}.container-cv .education-cv{border-radius:2rem;grid-area:education-cv;padding:2.5rem;max-width:75rem;width:100%}.container-cv .skills-cv{border-radius:2rem;grid-area:skills-cv;padding:2.5rem;max-width:75rem;width:100%}.container-cv .languages-cv{border-radius:2rem;grid-area:languages-cv;padding:2.5rem;max-width:75rem;width:100%}.container-cv .hobbies-cv{border-radius:2rem;grid-area:hobbies-cv;padding:2.5rem;max-width:75rem;width:100%}.container-cv .download-cv{border-radius:2rem;grid-area:download-cv;max-width:75rem;width:100%}.container-porfolio-modal{display:grid;grid-template-rows:repeat(7,auto);grid-template-columns:repeat(4,1fr);grid-gap:4rem;margin:auto;max-width:140rem;grid-template-areas:"hero-modal hero-modal hero-modal hero-modal" "brief brief brief brief" "define define define define" "ideate ideate ideate ideate" "prototype prototype prototype prototype" "visual visual visual visual" "other other other other"}.container-porfolio-modal .modal__header{grid-area:hero-modal}.container-porfolio-modal .modal__project-info{grid-area:brief}.container-porfolio-modal .modal__define{grid-area:define;max-width:140rem}.container-porfolio-modal .modal__ideate{grid-area:ideate;max-width:140rem}.container-porfolio-modal .modal__prototyte{grid-area:prototype;max-width:140rem}.container-porfolio-modal .modal__visual-design{grid-area:visual;max-width:140rem}.container-porfolio-modal .modal__other-projects{grid-area:other;max-width:140rem}.error-section{display:flex;justify-content:center;text-align:center;padding:5rem;align-items:center}@media screen and (max-width: 45em){.error-section{flex-direction:column}}.error-section__content-box{display:flex;flex-direction:column;gap:1.5rem;min-width:40%}.error-section__text-box{display:flex;flex-direction:column;gap:.5rem}.error-section__text-box p{color:var(--neutral-800)}.error-section__img img{width:80%}@media screen and (max-width: 37.5em){.error-section__img img{width:100%}}.backtop-button{border:1px solid var(--neutral-blue-600);background-color:var(--primary-800);border-radius:16px;width:fit-content;position:fixed;right:2%;width:3rem;height:3rem;bottom:10%;cursor:pointer;transition:all .3s ease}.backtop-button:hover{background-color:var(--primary-400);border:1px solid var(--neutral-400)}.backtop-button__icon{color:var(--primary-200);width:2rem;height:2rem}.no-show{transition:all .3s ease;display:none}.spinner__container{display:flex;justify-content:center;align-items:center;background-color:var(--fixed-black);width:100vw;height:100vh}.logo-loading{width:80px;height:80px;background-color:var(--fixed-black);padding:.6rem;border-radius:.5rem;position:absolute;left:50vw;top:50vh}.logo-loading__paths{width:auto;position:relative;z-index:1;color:var(--fixed-white);stroke:url(#gradient)}.logo-loading__paths__path{stroke-width:3}.logo-loading__gradient stop{animation:gradient-animation 3s ease-in-out infinite}
