@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&display=swap";h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:-.05em;line-height:1.1;margin-bottom:.6em}h1{font-size:clamp(3rem,10vw,8rem);text-transform:uppercase}h2{font-size:clamp(2rem,6vw,4rem);text-transform:uppercase}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.2rem}h6{font-size:1rem;letter-spacing:.2em;text-transform:uppercase}p{color:#9ca3af;font-family:Space Grotesk,sans-serif;font-size:1rem;line-height:1.7;margin-bottom:1.2em}a{color:#fff;text-decoration:none;transition:all .2s ease-in-out}a:hover{color:#0d59f2}*,*:before,*:after{box-sizing:border-box;scroll-behavior:smooth}body,h1,h2,h3,h4,h5,h6,p{margin:0}body{background:#212122;color:#fff;font-family:Space Grotesk,sans-serif}body .section{padding:10rem 0}@media(max-width:768px){body .section{padding:5rem 0}}.header{mix-blend-mode:difference;position:fixed;top:0;transition:background .3s ease,backdrop-filter .3s ease;width:100%;z-index:1000}.header.menu-open{mix-blend-mode:normal}.header.is-scrolled{background:#212122;mix-blend-mode:normal}.header__container{align-items:center;display:flex;height:70px;justify-content:space-between;margin:0 auto;max-width:1440px;padding:0 2rem}.header__logo{position:relative;z-index:1003}.header__logo a{color:#9ca3af;font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:-.03em;text-decoration:none;text-transform:uppercase}.header__logo a:hover{color:#9ca3af}.header__nav--desktop{display:flex;gap:3rem}.header__nav--desktop a{color:#9ca3af;display:inline-block;font-size:.85rem;font-weight:700;height:1.2em;letter-spacing:.18em;overflow:hidden;position:relative;text-decoration:none;text-transform:uppercase;transition:color .25s ease}.header__nav--desktop a span{display:block;transition:transform .3s cubic-bezier(.77,0,.175,1)}.header__nav--desktop a:after{color:#9ca3af;content:attr(data-text);left:0;position:absolute;top:100%;transition:transform .3s cubic-bezier(.77,0,.175,1)}.header__nav--desktop a:hover span{transform:translateY(-100%)}.header__nav--desktop a:hover:after{transform:translateY(-100%)}.header__actions{align-items:center;display:flex;position:relative;z-index:1003}.header__actions .btn-contact{color:#9ca3af;font-size:.85rem;font-weight:700;letter-spacing:.18em;position:relative;text-decoration:none;text-transform:uppercase;transition:color .25s ease}.header__actions .btn-contact:after{background:#fff;bottom:-.35rem;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;width:100%}.header__actions .btn-contact:hover{color:#9ca3af}.header__actions .btn-contact:hover:after{transform:scaleX(1)}.header__actions .menu-toggle,.header__mobile-nav{display:none}@media(max-width:768px){.header__nav--desktop,.header__actions .btn-contact{display:none}.header__actions .menu-toggle{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:inline-flex;font-size:1.5rem;justify-content:center;line-height:1;padding:0;position:relative;z-index:1004}.header__mobile-nav{background:#212122;display:flex;flex-direction:column;gap:1.5rem;inset:0;opacity:0;padding:7rem 2rem 2rem;pointer-events:none;position:fixed;transform:translateY(-1rem);transition:opacity .3s ease,transform .3s ease,visibility .3s ease;visibility:hidden;z-index:1002}.header__mobile-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.header__mobile-nav a{color:#9ca3af;font-size:1.25rem;font-weight:700;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:color .25s ease,transform .25s ease}.header__mobile-nav a:hover{color:#fff;transform:translate(.35rem)}.header__mobile-contact{border-top:1px solid rgba(255,255,255,.12);margin-top:1rem;padding-top:1rem}.header.menu-open .header__logo a,.header.menu-open .header__actions .menu-toggle{color:#9ca3af}}.footer{background:#fbfcf8;border-top:1px solid rgba(255,255,255,.1);overflow:hidden;padding:8rem 0 2rem;position:relative}.footer__grid{background-image:linear-gradient(rgba(0,0,0,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.15) 1px,transparent 1px);background-size:44px 44px;inset:0;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.9) 35%,transparent 100%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.9) 35%,transparent 100%);opacity:.6;pointer-events:none;position:absolute;z-index:0}.footer__container{margin:0 auto;max-width:1440px;padding:0 2rem;position:relative;z-index:2}.footer__top{align-items:flex-start;display:flex;flex-direction:column;gap:1.5rem;padding-bottom:5rem}.footer__eyebrow{color:#212122;font-size:.7rem;font-weight:700;letter-spacing:.3em;margin:0;text-transform:uppercase}.footer__title{color:#212122;font-family:Space Grotesk,sans-serif;font-size:clamp(3rem,8vw,7rem);font-weight:700;letter-spacing:-.05em;line-height:.9;margin:0;max-width:900px;text-transform:uppercase}.footer__title span{color:#9ca3af;display:block}.footer__cta{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #212122;border-radius:999px;color:#212122;display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center;letter-spacing:.18em;min-width:220px;padding:1rem 1.75rem;text-decoration:none;text-transform:uppercase;transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}.footer__cta:hover{background:#212122;border-color:#212122;box-shadow:0 0 30px #00000059;color:#fff;transform:translateY(-3px)}.footer__bottom{align-items:center;border-top:1px solid #212122;display:flex;gap:2rem;justify-content:space-between;padding-top:2rem}.footer__meta{display:flex;flex-direction:column;gap:.35rem}.footer__meta p{color:#6b7280;font-size:.7rem;font-weight:500;letter-spacing:.14em;margin:0;text-transform:uppercase}.footer__links{display:flex;flex-wrap:wrap;gap:1.5rem}.footer__links a{color:#6b7280;font-size:.75rem;font-weight:700;letter-spacing:.18em;position:relative;text-decoration:none;text-transform:uppercase;transition:color .25s ease}.footer__links a:after{background:#9ca3af;bottom:-.35rem;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;width:100%}.footer__links a:hover{color:#9ca3af}.footer__links a:hover:after{transform:scaleX(1)}@media(max-width:768px){.footer{padding:6rem 0 2rem}.footer__container{padding:0 1.25rem}.footer__top{padding-bottom:3rem}.footer__bottom{align-items:flex-start;flex-direction:column}.footer__links{gap:1rem}}.hero{align-items:center;background:#fbfcf8;color:#212122;display:flex;min-height:100vh;overflow:hidden;padding:8rem 0 4rem;position:relative}.hero__grid{background-image:linear-gradient(rgba(0,0,0,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.15) 1px,transparent 1px);background-size:44px 44px;inset:0;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.9) 35%,transparent 100%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.9) 35%,transparent 100%);opacity:.6;pointer-events:none;position:absolute;z-index:0}.hero__container{margin:0 auto;max-width:1440px;padding:0 2rem;position:relative;width:100%;z-index:2}.hero__badge{align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:999px;display:inline-flex;gap:.75rem;margin-bottom:2rem;padding:.5rem 1rem}.hero__badge span:last-child{color:#9ca3af;font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero__badge-dot{background:#22c55e;border-radius:50%;display:inline-block;height:.5rem;width:.5rem}.hero__content{display:flex;flex-direction:column;gap:3rem}.hero__title{font-family:Space Grotesk,sans-serif;font-size:clamp(3rem,15vw,10rem);font-weight:700;letter-spacing:-.05em;line-height:.85;margin:0;position:relative;text-transform:uppercase;z-index:2}.hero__bottom{align-items:end;display:grid;gap:4rem;grid-template-columns:1fr 280px}.hero__intro{max-width:42rem}.hero__text{color:#9ca3af;font-family:Space Grotesk,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:2rem;max-width:38rem}.hero__button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #212122;border-radius:999px;color:#212122;display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center;letter-spacing:.18em;min-width:220px;padding:1rem 1.75rem;text-decoration:none;text-transform:uppercase;transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}.hero__button:hover{background:#212122;border-color:#212122;box-shadow:0 0 30px #00000059;color:#fff;transform:translateY(-3px)}.hero__meta{border-top:1px solid #212122;display:flex;flex-direction:column;gap:1rem;padding-top:2rem}.hero__meta-item{display:flex;gap:1rem;justify-content:space-between}.hero__meta-label,.hero__meta-value{font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero__meta-label{color:#6b7280}.hero__meta-value{color:#9ca3af;text-align:right}@media(max-width:992px){.hero__bottom{gap:2.5rem;grid-template-columns:1fr}.hero__meta{max-width:24rem}}@media(max-width:768px){.hero{padding:7rem 0 3rem}.hero__container{padding:0 1.25rem}.hero__title{font-size:clamp(3rem,18vw,6rem)}.hero__text{font-size:1.125rem}.hero__button{max-width:18rem;width:100%}.hero__grid{background-size:30px 30px}}.about{border-top:1px solid rgba(255,255,255,.1);padding:10rem 0}.about__container{margin:0 auto;max-width:1440px;padding:0 2rem}.about__grid{display:flex;gap:8rem}.about__title{width:30%}.about__title h2{font-family:Space Grotesk,sans-serif;font-size:clamp(4rem,12vw,10rem);font-weight:700;letter-spacing:-.05em;line-height:.9;position:sticky;text-transform:uppercase;top:8rem}.about__content{flex:1;max-width:700px}.about__intro{color:#9ca3af;font-size:1.25rem;line-height:1.6;margin-bottom:4rem}.about__details{border-top:1px solid rgba(255,255,255,.1);display:grid;gap:3rem;grid-template-columns:repeat(2,1fr);padding-top:3rem}.about__block h4{color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.3em;margin-bottom:1rem;text-transform:uppercase}.about__block p{color:#9ca3af;font-size:.9rem;letter-spacing:.05em;line-height:1.7;text-transform:uppercase}@media(max-width:900px){.about__grid{flex-direction:column;gap:4rem}.about__title{width:100%}.about__title h2{position:relative;top:auto}.about__details{grid-template-columns:1fr}}.projects{background:#fbfcf8;border-top:1px solid rgba(255,255,255,.1);padding:10rem 0;position:relative}.projects__grid{background-image:linear-gradient(rgba(0,0,0,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.15) 1px,transparent 1px);background-size:44px 44px;inset:0;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.9) 35%,transparent 100%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.9) 35%,transparent 100%);opacity:.6;pointer-events:none;position:absolute;z-index:0}.projects__container{margin:0 auto;max-width:1440px;padding:0 2rem}.projects__header{margin-bottom:4rem}.projects__header h2{color:#212122;font-size:clamp(3rem,6vw,5rem);margin-bottom:1rem;text-transform:uppercase}.projects__header p{color:#9ca3af;max-width:500px}.projects__cards{display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}@media(max-width:1024px){.projects__cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.projects__cards{grid-template-columns:1fr}}.skills{border-top:1px solid rgba(255,255,255,.1);padding:10rem 0}.skills__container{margin:0 auto;max-width:1440px;padding:0 2rem}.skills__grid{display:flex;gap:8rem}.skills__title{width:30%}.skills__title h2{font-family:Space Grotesk,sans-serif;font-size:clamp(4rem,12vw,10rem);font-weight:700;letter-spacing:-.05em;line-height:.9;position:sticky;text-transform:uppercase;top:8rem}.skills__content{display:flex;flex:1;flex-direction:column;gap:5rem}.skills__group h3{color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.3em;margin:0 0 1.5rem;text-transform:uppercase}.skills__items{background:#ffffff1a;border:1px solid rgba(255,255,255,.1);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr))}.skills__item{align-items:center;background:#212122;display:flex;min-height:110px;overflow:hidden;padding:2rem;position:relative;transition:background .25s ease}.skills__item:hover{background:#fff}.skills__item:hover .skills__name{color:#212122;transform:translateY(-16px)}.skills__item:hover .skills__level{opacity:1;transform:translateY(0)}.skills__item:hover .skills__bar{transform:scaleX(1)}.skills__name{color:#9ca3af;font-size:.9rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s ease,color .25s ease}.skills__name{color:#9ca3af;font-size:.9rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s ease,color .25s ease;z-index:2}.skills__level{background:#00000026;bottom:2rem;height:4px;left:2rem;opacity:0;pointer-events:none;position:absolute;right:2rem;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}.skills__bar{background:#212122;height:100%;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}@media(max-width:900px){.skills__grid{flex-direction:column;gap:4rem}.skills__title{width:100%}.skills__title h2{position:relative;top:auto}.skills__items{grid-template-columns:1fr}}@media(max-width:600px){.skills__container{padding:0 1.25rem}.skills__item{min-height:88px;padding:1.25rem}.skills__level{left:1.3rem}}.project-card{background:#fbfcf8;border:1px solid #212122;box-shadow:#64646f33 0 7px 29px;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:transform .2s ease;z-index:1}.project-card:hover{transform:translateY(-5px)}.project-card__image{cursor:pointer;height:220px;overflow:hidden}.project-card__image img{height:100%;object-fit:cover;width:100%}.project-card__content{color:#212122;display:flex;flex:1;flex-direction:column;padding:1.5rem}.project-card h3{margin-bottom:.5rem}.project-card p{font-size:.9rem;margin-bottom:1rem}.project-card__tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.project-card__tech span{border:1px solid #212122;color:#212122;font-size:.7rem;padding:.2rem .5rem;text-transform:uppercase}.project-card__links{display:flex;gap:1rem;margin-top:auto}.project-card__links a{color:#212122;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.project-card__links a:hover{color:#6b7280}@media(max-width:768px){.project-card__image{height:275px}.project-card__image img{object-fit:contain}}@media(max-width:425px){.project-card__image{height:200px}}
