*{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}:root{--black: #090909;--white: #E5E5E5;--grey-med: #4e4e4e;--red: #690B22;--red-light: #ae1037;--cream: #EFDDCB;--grey: #b4b4b4;--content: 1.8rem;--heading: 4rem;--text-small: 1.1rem}html{-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;scroll-behavior:smooth;font-size:16px}body{font-family:"DM Sans",sans-serif;font-size:var(--content);line-height:130%;font-weight:200;overflow-x:hidden;color:var(--white);background:var(--black)}[class~=canvas]{height:150vh;position:absolute;z-index:9;top:0px;left:0px;width:100vw}h1{font-size:var(--heading)}h2{font-size:var(--heading)}.site-header{position:fixed;right:2rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:1000}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:1rem}.nav__dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.4);border:2px solid rgba(0,0,0,0);cursor:pointer;-webkit-transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav__dot--active{background:var(--red-light);border-color:rgba(255,255,255,.8);-webkit-transform:scale(1.2);transform:scale(1.2)}.section{height:100vh;scroll-snap-align:start;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden}#hero{position:relative}.hero__background{position:absolute;top:0;left:0;width:100%;height:100%}.hero__content{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:2;position:relative}.hero__title{opacity:0;-webkit-animation:slideInLeft 1s ease .5s forwards;animation:slideInLeft 1s ease .5s forwards}.hero__heading{font-weight:700;text-align:center;margin-bottom:20px;color:var(--white);line-height:120%}.hero__highlight{color:var(--white)}.hero__subtitle{color:var(--grey);margin-bottom:30px;font-size:2.5rem;line-height:120%;font-weight:400;text-align:center;opacity:0;-webkit-animation:fadeInUp 1s ease 1s forwards;animation:fadeInUp 1s ease 1s forwards}#about{padding:4rem 2rem;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.about__image{position:absolute;top:0px;right:0px;z-index:1}.about__image-container{overflow:hidden;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease, -webkit-transform .3s ease}.about__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.about__content{width:60vw;z-index:3}.about__header{text-align:center;margin-bottom:4rem}.about__title{color:var(--white);margin-bottom:4rem;position:relative;line-height:140%}.about__title::after{content:"";position:absolute;bottom:-10px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:60px;height:4px;background:var(--red-light);border-radius:2px}.about__description{color:var(--white);max-width:930px;margin:0 auto}.about__skills-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:0px;margin-top:3rem;max-width:80%;margin:0 auto}.about__skills-grid.stagger-children>*{-webkit-transform:translateY(0px) !important;transform:translateY(0px) !important}.about__skill-card{padding:2rem;-webkit-transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);position:relative;overflow:hidden}.about__skill-card:nth-child(1),.about__skill-card:nth-child(3){border-right:1px solid var(--grey-med)}.about__skill-card:nth-child(3),.about__skill-card:nth-child(4){border-top:1px solid var(--grey-med)}.about__skill-title{font-size:1.5rem;font-weight:700;color:var(--white);margin-bottom:1rem}.about__skill-description{font-size:var(--text-small);line-height:130%;font-weight:400;color:var(--white)}#learning{color:var(--white);padding:4rem 2rem}.learning__content{max-width:1200px;margin:0 auto;text-align:center}.learning__title{color:var(--white);margin-bottom:4rem;position:relative;line-height:140%}.learning__title::after{content:"";position:absolute;bottom:-10px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:60px;height:4px;background:var(--red-light);border-radius:2px}.learning__description{max-width:930px;margin:0 auto 4rem}.learning__tech-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:2rem}.learning__tech-card{padding:2rem;border:1px solid var(--grey-med);-webkit-transition:all .3s ease;transition:all .3s ease;position:relative;overflow:hidden}.learning__tech-icon{width:80px;height:80px;margin:0 auto 1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;z-index:2}.learning__tech-icon img{width:100%}.learning__tech-name{font-size:1.5rem;font-weight:700;margin-bottom:1.2rem;position:relative;z-index:2}.learning__tech-description{font-size:var(--text-small);line-height:130%;font-weight:400;position:relative;z-index:2}#works{position:relative;display:block}.works__inner{display:grid;grid-template-columns:repeat(5, 1fr);grid-template-rows:1fr;position:relative;z-index:1;grid-column-gap:0px;grid-row-gap:0px;width:100%;height:100%;opacity:.5}.works__item{margin-bottom:-8px}.works__item img{width:100%;-webkit-filter:saturate(0);filter:saturate(0)}.works__content{margin:0 auto;text-align:center;position:absolute;z-index:2;background:rgba(0,0,0,.8);top:0px;left:0px;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.works__overlay{background:#000;color:var(--white);padding:3rem;position:relative;overflow:hidden;position:relative;z-index:9}.works__title{color:var(--white);margin-bottom:4rem;position:relative;line-height:140%}.works__title::after{content:"";position:absolute;bottom:-10px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:60px;height:4px;background:var(--red-light);border-radius:2px}.works__description{opacity:.9;position:relative;z-index:2}.works__inner.stagger-children>*{-webkit-transform:translateY(0px) !important;transform:translateY(0px) !important}#contact{color:var(--white);padding:4rem 2rem;position:relative;background-image:url("../images/contact-img.png");background-position:center bottom;background-repeat:no-repeat;background-size:cover;background-color:var(--black)}.contact__content{text-align:center;position:relative;z-index:2;background:#000;padding:40px}.contact__title{color:var(--white);margin-bottom:4rem;position:relative;line-height:140%}.contact__title::after{content:"";position:absolute;bottom:-10px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:60px;height:4px;background:var(--red-light);border-radius:2px}.contact__text{margin-bottom:2rem}.contact__email{display:inline-block;color:#fff;text-decoration:none;font-weight:600;-webkit-transition:all .3s ease;transition:all .3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:var(--red-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#e63946}.fade-in{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px);-webkit-transition:all .8s cubic-bezier(0.4, 0, 0.2, 1);transition:all .8s cubic-bezier(0.4, 0, 0.2, 1)}.fade-in.visible{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.stagger-children>*{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px);-webkit-transition:all .6s cubic-bezier(0.4, 0, 0.2, 1);transition:all .6s cubic-bezier(0.4, 0, 0.2, 1)}.stagger-children.visible>*:nth-child(1){-webkit-transition-delay:.1s;transition-delay:.1s}.stagger-children.visible>*:nth-child(2){-webkit-transition-delay:.2s;transition-delay:.2s}.stagger-children.visible>*:nth-child(3){-webkit-transition-delay:.3s;transition-delay:.3s}.stagger-children.visible>*:nth-child(4){-webkit-transition-delay:.4s;transition-delay:.4s}.stagger-children.visible>*{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.works__inner.stagger-children>*{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px);-webkit-transition:all .6s cubic-bezier(0.4, 0, 0.2, 1);transition:all .6s cubic-bezier(0.4, 0, 0.2, 1)}.works__inner.stagger-children.visible>*:nth-child(1){-webkit-transition-delay:.05s;transition-delay:.05s}.works__inner.stagger-children.visible>*:nth-child(2){-webkit-transition-delay:.1s;transition-delay:.1s}.works__inner.stagger-children.visible>*:nth-child(3){-webkit-transition-delay:.15s;transition-delay:.15s}.works__inner.stagger-children.visible>*:nth-child(4){-webkit-transition-delay:.2s;transition-delay:.2s}.works__inner.stagger-children.visible>*:nth-child(5){-webkit-transition-delay:.25s;transition-delay:.25s}.works__inner.stagger-children.visible>*:nth-child(6){-webkit-transition-delay:.3s;transition-delay:.3s}.works__inner.stagger-children.visible>*:nth-child(7){-webkit-transition-delay:.35s;transition-delay:.35s}.works__inner.stagger-children.visible>*:nth-child(8){-webkit-transition-delay:.4s;transition-delay:.4s}.works__inner.stagger-children.visible>*:nth-child(9){-webkit-transition-delay:.45s;transition-delay:.45s}.works__inner.stagger-children.visible>*:nth-child(10){-webkit-transition-delay:.5s;transition-delay:.5s}.works__inner.stagger-children.visible>*:nth-child(11){-webkit-transition-delay:.55s;transition-delay:.55s}.works__inner.stagger-children.visible>*:nth-child(12){-webkit-transition-delay:.6s;transition-delay:.6s}.works__inner.stagger-children.visible>*:nth-child(13){-webkit-transition-delay:.65s;transition-delay:.65s}.works__inner.stagger-children.visible>*:nth-child(14){-webkit-transition-delay:.7s;transition-delay:.7s}.works__inner.stagger-children.visible>*:nth-child(15){-webkit-transition-delay:.75s;transition-delay:.75s}.works__inner.stagger-children.visible>*:nth-child(16){-webkit-transition-delay:.8s;transition-delay:.8s}.works__inner.stagger-children.visible>*:nth-child(17){-webkit-transition-delay:.85s;transition-delay:.85s}.works__inner.stagger-children.visible>*:nth-child(18){-webkit-transition-delay:.9s;transition-delay:.9s}.works__inner.stagger-children.visible>*:nth-child(19){-webkit-transition-delay:.95s;transition-delay:.95s}.works__inner.stagger-children.visible>*:nth-child(20){-webkit-transition-delay:1s;transition-delay:1s}.works__inner.stagger-children.visible>*:nth-child(21){-webkit-transition-delay:1.05s;transition-delay:1.05s}.works__inner.stagger-children.visible>*:nth-child(22){-webkit-transition-delay:1.1s;transition-delay:1.1s}.works__inner.stagger-children.visible>*:nth-child(23){-webkit-transition-delay:1.15s;transition-delay:1.15s}.works__inner.stagger-children.visible>*:nth-child(24){-webkit-transition-delay:1.2s;transition-delay:1.2s}.works__inner.stagger-children.visible>*:nth-child(25){-webkit-transition-delay:1.25s;transition-delay:1.25s}.works__inner.stagger-children.visible>*:nth-child(26){-webkit-transition-delay:1.3s;transition-delay:1.3s}.works__inner.stagger-children.visible>*:nth-child(27){-webkit-transition-delay:1.35s;transition-delay:1.35s}.works__inner.stagger-children.visible>*:nth-child(28){-webkit-transition-delay:1.4s;transition-delay:1.4s}.works__inner.stagger-children.visible>*:nth-child(29){-webkit-transition-delay:1.45s;transition-delay:1.45s}.works__inner.stagger-children.visible>*:nth-child(30){-webkit-transition-delay:1.5s;transition-delay:1.5s}.works__inner.stagger-children.visible>*{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}@-webkit-keyframes slideInLeft{from{-webkit-transform:translateX(-100px);transform:translateX(-100px);opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes slideInLeft{from{-webkit-transform:translateX(-100px);transform:translateX(-100px);opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@-webkit-keyframes slideInRight{from{-webkit-transform:translateX(100px);transform:translateX(100px);opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes slideInRight{from{-webkit-transform:translateX(100px);transform:translateX(100px);opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@-webkit-keyframes fadeInUp{from{-webkit-transform:translateY(30px);transform:translateY(30px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes fadeInUp{from{-webkit-transform:translateY(30px);transform:translateY(30px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@media(max-width: 1800px){.about__content{width:60vw}.about__skills-grid{max-width:100%}.about__image{width:100%;max-width:40vw}}@media(max-width: 1400px){.about__content{width:60vw}.about__image{width:100%;max-width:40vw}}@media(max-width: 1200px){.site-header{display:none}.section{height:auto;scroll-snap-align:unset;overflow:visible}#hero{min-height:100vh;height:auto}#about{padding:4rem 2rem 8rem 2rem}.about__image{display:none}.about__content{width:100vw}#learning{padding:4rem 2rem 8rem 2rem}.learning__tech-grid{grid-template-columns:repeat(2, 1fr)}.works__content{background:rgba(9,9,9,.8)}#contact{min-height:100vh}}@media(max-width: 768px){:root{--heading: 3rem;--content: 1.3rem}.hero__content{grid-template-columns:1fr;text-align:center;gap:2rem}.hero__image{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.hero__img{width:250px;height:300px}.about__header{margin-bottom:2rem}.about__skill-title{font-size:var(--content);line-height:130%;font-weight:500}.about__skill-description{font-size:var(--content);line-height:130%;font-weight:200}.about__skills-grid{grid-template-columns:1fr}.about__skill-card{padding-left:0px;padding-right:0px}.about__skill-card:nth-child(1),.about__skill-card:nth-child(3){border-right:none}.about__skill-card:nth-child(2){border-top:1px solid var(--grey-med)}.about__skill-card:nth-child(3),.about__skill-card:nth-child(4){border-top:1px solid var(--grey-med)}.learning__tech-grid{grid-template-columns:1fr}.learning__tech-card{width:80%;margin:0 auto}.learning__tech-title{font-size:var(--content);line-height:130%;font-weight:500}.learning__tech-description{font-size:var(--content);line-height:130%;font-weight:200}#works{padding:0px}.works__inner{grid-template-columns:repeat(3, 1fr)}.site-header{right:1rem}.section{padding:2rem 1rem}}@media(max-width: 575px){.hero__subtitle br{display:none}}@media screen and (max-height: 990px){.section{height:auto;scroll-snap-align:unset;overflow:visible;min-height:100vh}}