:root{--color-bg: #ffffff;--color-text: #2c3333;--font-primary: Antonio, sans-serif;--font-secondary: Poppins, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100%}body{overflow-y:auto}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-primary)}.dark-mode{--color-bg: #2c3333;--color-text: #ffffff}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}.scroll-bar{position:fixed;top:0;left:0;width:100%;height:5px;z-index:10000;pointer-events:none}.scroll-bar .scroll-bar__progress{width:100%;height:100%;background:var(--color-text, #2c3333);transform-origin:left center;transform:scaleX(0)}.no-scroll{inset:0;position:fixed!important;height:100vh;overflow:hidden!important}a{color:inherit;text-decoration:none}.top-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:1rem 2rem;gap:2rem;background:var(--color-bg, #ffffff);color:var(--color-text, #2c3333)}.top-bar li a{position:relative;display:inline-block;overflow:hidden;padding:.25rem 0;text-decoration:none}.top-bar li a .text-stack{display:block;height:1em;overflow:hidden;line-height:1;position:relative}.top-bar li a .text-primary,.top-bar li a .text-secondary{display:block;will-change:transform,opacity}.top-bar .top-left,.top-bar .top-center,.top-bar .top-right{display:flex;flex-direction:column;gap:.25rem}.top-bar .top-left .name,.top-bar .top-left .role{text-transform:uppercase;font-size:1.2rem;font-weight:700;letter-spacing:1px}.top-bar .top-left .name .number,.top-bar .top-left .role .number{margin-left:.5rem;opacity:.6}.top-bar .top-center{text-align:center}.top-bar .top-center .location{font-size:1.2rem;opacity:.7;text-transform:uppercase}.top-bar .top-center .place{font-size:1.2rem;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.top-bar .top-center .place .time{margin-left:.5rem;opacity:.6}.top-bar .top-right{align-items:flex-end}.top-bar .top-right .nav-label{font-size:1.2rem;opacity:.7}.top-bar .top-right .nav-links{display:flex;gap:1.5rem;margin-top:.25rem}.top-bar .top-right .nav-links li{list-style:none}.top-bar .top-right .nav-links a{font-size:1.2rem;font-weight:700;text-transform:uppercase}@media (max-width: 768px){.top-bar{grid-template-columns:1fr;text-align:left;row-gap:.75rem}.top-bar .top-left,.top-bar .top-center,.top-bar .top-right{align-items:flex-start}.top-bar .top-left .name,.top-bar .top-left .role,.top-bar .top-center .location,.top-bar .top-center .place,.top-bar .top-right .nav-label,.top-bar .top-right .nav-links a{font-size:1.4rem}.top-bar .top-right .nav-links{justify-content:flex-start}}.hero-wrapper{position:relative;height:180vh}@media (max-width: 768px){.hero-wrapper{height:auto;min-height:100vh}}.hero-main{z-index:0;top:0;left:0;width:100%;position:absolute;height:80vh;overflow:hidden;background:var(--color-bg, #ffffff)}.hero-main .hero-graphic{position:absolute;top:50%;left:5%;width:40%;transform:translateY(-50%);opacity:.2;pointer-events:none}.hero-main .hero-title{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);max-width:90vw;width:max-content;margin:0 auto;font-family:Antonio,sans-serif;font-size:clamp(8rem,20vw,14rem);line-height:1;letter-spacing:-10px;color:var(--color-text, #2c3333);text-transform:uppercase;text-align:center;font-weight:700}.hero-main .hero-title>span{display:block;white-space:nowrap}.hero-main .hero-title span:first-child{text-align:right}.hero-main .hero-title span:last-child{text-align:left}@media (max-width: 768px){.hero-main .hero-title{top:45%;left:50%;transform:translate(-50%,-45%);font-size:clamp(4rem,10vw,6rem);letter-spacing:-6px;line-height:1.1}}.hero-title .letter{position:relative;display:inline-block;overflow:hidden;height:1.2rem;line-height:1}.hero-title .letter .front,.hero-title .letter .back{position:absolute;top:0;left:0}.hero-title .letter .front{z-index:2}.hero-title .letter .back{z-index:1}@keyframes out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes in-left{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes in-right{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes out-up{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes out-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes in-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.animate-out-left{animation:out-left .6s ease-in forwards}.animate-in-left{animation:in-left .6s ease-in forwards}.animate-out-right{animation:out-right .6s ease-in forwards}.animate-in-right{animation:in-right .6s ease-in forwards}.animate-out-up{animation:out-up .6s ease-in forwards}.animate-in-up{animation:in-up .6s ease-in forwards}.animate-out-down{animation:out-down .6s ease-in forwards}.animate-in-down{animation:in-down .6s ease-in forwards}#custom-cursor{position:fixed;top:0;left:0;width:20px;height:20px;background:#000;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(1);transition:transform .2s ease-out,background .2s ease-out;z-index:9999}#custom-cursor.hover{transform:translate(-50%,-50%) scale(5);background:#0003}@media (max-width: 768px){#custom-cursor{display:none}}#loader{position:fixed;inset:0;background-color:var(--color-bg, #ffffff);z-index:9999;overflow:hidden}.loader-number{position:absolute;bottom:2rem;right:2rem;font-family:Antonio,sans-serif;font-size:clamp(6rem,20vw,12rem);color:var(--color-text, #2c3333);font-weight:bolder;line-height:1;z-index:2}.about-me{position:absolute;top:80vh;left:0;width:100%;height:100vh;z-index:1;background:var(--color-bg, #ffffff);padding:15rem 2rem 6rem;color:var(--color-text, #2c3333)}.about-me .hello-container{margin-bottom:4rem;text-align:center}.about-me .hello-text{margin-top:10rem;display:inline-flex;align-items:center;font-family:Antonio,sans-serif;font-size:clamp(8rem,20vw,16rem);max-width:100%;letter-spacing:-.2rem;color:var(--color-text, #2c3333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;gap:1rem}.about-me .hello-text .hello-letter{display:inline-block}.about-me .hello-image-wrapper{display:inline-block;width:clamp(4rem,10vw,12rem);height:clamp(4rem,15vw,18rem);z-index:3;position:relative}.about-me .hello-image-wrapper .hello-image{width:100%;height:100%;object-fit:cover;border-radius:.25rem;box-shadow:0 0 10px #0000004d;display:block}.about-me .about-content{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:0 6rem}.about-me .about-content .description{font-family:Poppins,sans-serif;font-size:1.2rem;line-height:1.6;max-width:690px;text-align:left}.about-me .about-content .more-link{font-family:Poppins,sans-serif;font-size:1.2rem;text-transform:uppercase;color:var(--color-text, #2c3333);font-weight:700;text-decoration:none;position:relative}.about-me .about-content .more-link:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:2px;background:var(--color-text, #2c3333);transform:scaleX(1);transform-origin:right center;transition:transform .4s ease,opacity .4s ease}.about-me .about-content .more-link:hover:after{transform:scaleX(0);opacity:0}@media (max-width: 768px){.about-me{padding:6rem 1.5rem 4rem;top:60vh}.about-me .hello-text{font-size:clamp(4.5rem,10vw,6rem);gap:.3rem}.about-me .about-content{grid-template-columns:1fr;gap:1.5rem;padding:0}.about-me .about-content .description{text-align:center;font-size:1rem}.about-me .about-content .more-link{justify-self:center;font-size:1.2rem}}.skills-section{padding:10vh 2rem;background:var(--color-bg, #ffffff);color:var(--color-text, #2c3333);display:flex;flex-direction:column;gap:8vh;overflow:hidden;position:relative}.skills-section .skill{font-family:Antonio,sans-serif;font-size:clamp(6rem,20vw,16rem);font-weight:700;text-transform:uppercase;white-space:nowrap}.skills-section .skill:nth-child(1){text-align:left}.skills-section .skill:nth-child(2){text-align:right}.skills-section .skill:nth-child(3){text-align:left}.skills-section .skill:nth-child(4){text-align:right}@media (max-width: 768px){.skills-section{margin-top:45rem;margin-bottom:10rem;padding:6vh 1rem;gap:10vh}.skills-section .skill{font-size:clamp(4rem,15vw,8rem)}}.contact-section{position:relative;background:var(--color-bg, #ffffff);color:var(--color-text, #2c3333);padding:10vh 2rem;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:3rem}.contact-section .contact-title{font-family:Antonio,sans-serif;font-weight:700;font-size:clamp(6rem,15vw,12rem);text-transform:uppercase;display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;text-align:center;line-height:1;min-height:1.2em}.contact-section .contact-title .contact-letter{display:inline-block;line-height:1;position:relative;overflow:hidden}.contact-section .contact-title .contact-letter:after{content:attr(data-letter);position:absolute;left:0;top:0;transform:translateY(150%)}.contact-section .contact-content{text-align:center}.contact-section .contact-content .btn-primary{position:relative;overflow:hidden;background:var(--color-text, #2c3333);color:var(--color-bg, #ffffff);padding:1rem 2rem;border:2px solid var(--color-text, #2c3333);border-radius:50px;font-size:1.4rem;cursor:pointer;z-index:1;text-decoration:none;display:inline-block;transition:color .4s ease,border-color .4s ease,transform .2s ease}.contact-section .contact-content .btn-primary:after{content:"";position:absolute;inset:0;background:var(--color-bg, #ffffff);border-radius:50px;transform:scaleY(0);transform-origin:top center;transition:transform .4s ease;z-index:1}.contact-section .contact-content .btn-primary .btn-span{position:relative;z-index:2;transition:color .4s ease}.contact-section .contact-content .btn-primary:hover{border-color:var(--color-text, #2c3333);transform:translateY(-1px)}.contact-section .contact-content .btn-primary:hover:after{transform:scaleY(1)}.contact-section .contact-content .btn-primary:hover .btn-span{color:var(--color-text, #2c3333)!important}.contact-section .contact-content .btn-primary:active{transform:translateY(0)}.contact-section .contact-socials{display:flex;gap:1.5rem}.contact-section .contact-socials .social-link{font-family:Poppins,sans-serif;font-size:1rem;text-decoration:none;color:var(--color-text, #2c3333);position:relative;display:inline-block;padding:.5rem 1rem}.contact-section .contact-socials .social-link .text-stack{display:block;height:1.8em;overflow:hidden;line-height:1}.contact-section .contact-socials .social-link .text-primary,.contact-section .contact-socials .social-link .text-secondary{display:block;will-change:transform,opacity;transition:transform .3s ease,opacity .3s ease;color:inherit}@media (max-width: 768px){.contact-section{margin-top:1rem;padding:8vh 1rem;gap:5rem}.contact-section .contact-title{font-size:clamp(4rem,10vw,6rem);margin-bottom:2rem}.contact-section .contact-content{width:100%;display:flex;justify-content:center}.contact-section .contact-content .btn-primary{padding:.8rem 1.5rem;font-size:1rem}.contact-section .contact-socials{flex-wrap:wrap;justify-content:center;gap:1rem}.contact-section .contact-socials .social-link{font-size:.9rem;padding:.4rem .8rem}}.theme-toggle-btn{position:fixed;bottom:2rem;left:2rem;z-index:9999;background-color:var(--color-text);color:var(--color-bg);border:none;border-radius:50%;width:48px;height:48px;padding:.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px #0000004d;transition:all .3s ease}.theme-toggle-btn svg{width:24px;height:24px;stroke:currentColor}.theme-toggle-btn:hover{transform:scale(1.1)}
