@font-face{font-family:Inter;src:url(/fonts/Inter-VariableFont_opsz,wght.ttf) format("truetype")}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-VariableFont_SOFT,WONK,opsz,wght.ttf) format("truetype")}@font-face{font-family:Fredoka;src:url(/fonts/Fredoka-VariableFont_wdth,wght.ttf)}:root{--color-works: #7481a8;--color-line: rgba(255, 255, 255, .5);--color-star: rgba(255, 255, 255, .85)}*{box-sizing:border-box}html,body,#root{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;font-family:Inter,sans-serif}.page{width:100%;height:200svh;overflow:hidden}.hero{position:relative;width:100%;height:100svh;overflow:hidden}.hero canvas{touch-action:none;inset:0;width:100%;height:100%}.hero-ui{opacity:0;visibility:hidden;pointer-events:none}.hero-ui-visible{opacity:1;visibility:visible}.hero-overlay{position:absolute;z-index:1001;inset:0;padding-left:clamp(24px,11vw,190px);padding-right:clamp(24px,10vw,120px);display:flex;align-items:center;justify-content:space-between;pointer-events:none;color:#fff}.hero-intro{width:clamp(240px,30vw,320px)}.hero-intro-greeting{margin:0 0 8px;font-size:28px;font-weight:300;letter-spacing:.04em;color:#ffffffe6}.hero-intro-name{margin:0;font-family:Fraunces,serif;font-weight:500;font-size:70px;line-height:1;letter-spacing:.04em}.hero-intro-line{display:flex;align-items:center;width:100%;margin:24px 0 20px}.hero-intro-line span{position:relative;display:block;width:90%;height:1px;background:var(--color-line)}.hero-intro-line span:after{content:"✦";position:absolute;right:-10px;top:50%;transform:translate(50%,-55%);font-size:12px;color:var(--color-star)}.hero-intro-description{margin:0;font-size:20px;line-height:1.9;letter-spacing:.03em;color:#ffffffe6}.hero-intro-button{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;width:158px;margin-top:26px;padding:11px 18px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:14px;letter-spacing:.04em;cursor:pointer;transition:background-color .3s ease,color .3s ease,transform .3s ease}.hero-intro-button span:last-child{font-size:17px;transition:transform .3s ease}.hero-intro-button:hover{background:#fff;color:#8191cb;transform:translateY(-2px)}.hero-intro-button.night:hover{background:#fff;color:#292f4a}.hero-intro-button:hover span:last-child{transform:translate(4px)}.hero-skills{width:clamp(240px,30vw,300px)}.hero-logo{position:absolute;top:20px;left:20px;display:inline-flex;align-items:center;gap:7px;color:#fff;font-family:Fredoka,sans-serif;font-size:28px;font-weight:600;letter-spacing:.03em;pointer-events:auto;cursor:default}.hero-logo:before,.hero-logo:after{content:"✦";font-family:serif;font-size:13px;line-height:1;color:#fff}.hero-logo:before{transform:translateY(2px)}.hero-logo:after{transform:translateY(2px)}@media(max-width:1440px){.hero-overlay{padding-left:130px;padding-right:130px}.hero-intro{width:270px}.hero-intro-greeting{font-size:24px}.hero-intro-name{font-size:65px}.hero-intro-line{width:100%;margin:20px 0 18px}.hero-intro-description{font-size:18px}.hero-skills{width:190px}}@media(max-width:1136px){.hero-overlay{padding-left:40px;padding-right:40px}.hero-intro{width:240px}.hero-intro-greeting{font-size:20px}.hero-intro-name{font-size:50px}.hero-intro-line{width:100%;margin:20px 0 18px}.hero-skills{width:170px}}@media(max-width:1024px){.hero-overlay{display:block;padding:0}.hero-intro{position:absolute;top:auto;bottom:30px;left:30px;width:min(320px,calc(100vw - 80px))}.hero-skills{display:none}}@media(max-width:650px){.hero-intro{bottom:24px;left:24px;width:min(50vw,260px)}.hero-intro-greeting{margin-bottom:3px;font-size:18px}.hero-intro-name{font-size:42px}.hero-intro-line{margin:10px 0}.hero-intro-description{line-height:1.5;font-size:14px}.hero-intro-button{margin-top:15px}.hero-skills{display:none}}.leva-container{position:fixed;right:0;bottom:0;width:280px;z-index:1000}.day-night-toggle{position:fixed;top:24px;right:24px;z-index:1000;width:80px;height:42px;padding:5px;display:flex;align-items:center;border:none;border:3px solid rgba(255,255,255,.45);border-radius:999px;background:#ffffff26;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .5s ease,border-color .4s ease}.day-night-toggle.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.day-night-toggle__thumb{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#777;box-shadow:0 1px 4px #0000002e;transform:translate(0);transition:transform .5s ease,color .4s ease}.day-night-toggle.night .day-night-toggle__thumb{transform:translate(38px)}.sun-icon,.moon-icon{transform:translate(-.5px,.5px)}.works{width:100%;height:100svh;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;padding:1.8rem 3em;font-family:Inter,sans-serif;background:var(--color-works)}.works::-webkit-scrollbar{display:none}.works-inner{width:min(100% - 3rem,1400px);margin:0 auto}.works h2{color:#fff;font-family:Fraunces,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:600;text-align:center;margin:1rem 0}.works h3{color:#fff;font-size:clamp(1rem,4vw,1.7rem);font-weight:300;margin:2rem 0}.back-to-hero-wrapper{display:flex;justify-content:center;margin-bottom:40px}.back-to-hero{width:clamp(2.5rem,5vw,3rem);height:clamp(2.5rem,5vw,3rem);border:2px solid rgba(255,255,255,.7);border-radius:50%;background:transparent;color:#fff;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background-color .3s ease,color .3s ease}.back-to-hero:hover{transform:translateY(-3px);border-color:#ffffff4d;background:#ffffffb3;color:var(--color-works)}.back-to-hero svg{width:clamp(1rem,2.5vw,1.4rem);height:clamp(1rem,2.5vw,1.4rem)}.featured{margin-bottom:25px}.featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.other-projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.projects-card{position:relative;aspect-ratio:16 / 10;border-radius:10px;overflow:hidden}.projects-card img{width:100%;height:100%;object-fit:cover;display:block}.projects-card-info{display:flex;align-items:center;justify-content:center;gap:.5rem;position:absolute;left:0;right:0;bottom:0;padding:.45rem;color:#fff;background:#14142873;transform:translateY(100%);transition:transform .4s ease}.projects-card:hover .projects-card-info{transform:translateY(0)}.projects-card-number{align-self:flex-start;display:block;font-size:clamp(.6rem,1vw,.7rem);letter-spacing:.15em}.projects-card-info h3{margin:0;font-size:clamp(.8rem,1.5vw,1.1rem);font-weight:400;line-height:1.1}.featured-title,.other-projects-title{display:flex;align-items:center;gap:.5em}.line{flex:1;height:1px;background:var(--color-line);transform:translateY(3px);margin-left:.7rem}.star{font-size:.8rem;transform:translateY(1px);color:var(--color-star)}.works-end{display:flex;align-items:center;margin:3rem auto 1rem;gap:.5em}.works-footer{display:flex;flex-direction:column;align-items:flex-end;padding:10px}.works-logo{text-align:center;color:#fff;font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;letter-spacing:.03em;pointer-events:auto;cursor:default;margin-bottom:8px}@media(max-width:1100px){.other-projects-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.featured-grid{grid-template-columns:1fr}.other-projects-grid{grid-template-columns:repeat(2,1fr)}.works-end{margin:1.5rem auto .5rem}.works-footer{padding:5px}.works-logo{font-size:20px}}@media(hover:none){.featured-grid .projects-card-info{transform:translateY(0)}.other-projects-grid .projects-card-info{transform:translateY(100%)}}.social-links{position:absolute;right:30px;bottom:24px;display:flex;align-items:center;gap:14px;pointer-events:auto}.social-links a{display:grid;place-items:center;transition:transform .25s ease}.social-links img{width:28px;height:28px;object-fit:contain}.social-links a:nth-child(1) img{width:32px;height:32px}.social-links a:nth-child(2) img{width:26px;height:26px}.social-links a:nth-child(4) img{width:30px;height:30px}.social-links a:hover{transform:translateY(-2px)}@media(max-width:400px){.social-links{right:24px;gap:6px}.social-links img{transform:scale(.85)}}.footer-social-links{position:static;justify-content:center}.footer-social-links img{width:24px;height:24px}.footer-social-links a:nth-child(1) img{width:27px;height:27px}.footer-social-links a:nth-child(2) img{width:22px;height:22px}.footer-social-links a:nth-child(4) img{width:26px;height:26px}@media(max-width:700px){.footer-social-links img{width:17px;height:17px}.footer-social-links a:nth-child(1) img{width:20px;height:20px}.footer-social-links a:nth-child(2) img{width:16px;height:16px}.footer-social-links a:nth-child(4) img{width:19px;height:19px}}.skill-item{position:relative;display:flex;align-items:center;gap:14px;min-height:82px;padding:10px 0}.skill-item:before{content:"";position:absolute;left:0;right:16px;bottom:0;height:1px;background:#ffffff4d}.skill-item:after{content:"✦";position:absolute;right:4px;bottom:0;transform:translate(50%,50%);margin-bottom:2px;font-size:12px;line-height:1;color:var(--color-star)}.skill-item:last-child{border-bottom:none}.skill-item:last-child:before,.skill-item:last-child:after{display:none}.skill-item-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid rgba(255,255,255,.65);border-radius:50%;font-size:13px;color:#ffffffe6}.skill-item-title{margin:0 0 5px;font-size:17px;font-weight:500;letter-spacing:.03em}.skill-item-subtitle{margin:0;font-size:12px;letter-spacing:.03em;color:#ffffffa6}@media(max-width:1440px){.skill-item{min-height:72px}.skill-item-title{font-size:14px}}@media(max-width:1136px){.skill-item{min-height:72px;padding:5px 0}.skill-item-title{font-size:14px}}
