.navbar{position:relative;width:100%;background-color:var(--dark-gray);z-index:50}.navbar-content{display:flex;justify-content:flex-end;align-items:center;height:4rem;padding:0 2rem}.navbar-brand{display:flex;align-items:center;gap:.5rem}.navbar-brand img{width:5rem;height:5rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;opacity:1}.navbar-brand span{color:var(--bright-blue);font-size:3rem;font-weight:700;letter-spacing:1px}@media (max-width: 768px){.navbar-content{padding:0 1rem}.navbar-brand img{width:4rem;height:4rem}.navbar-brand span{font-size:2.5rem}}.navbar-brand span:hover{color:var(--bright-blue)}.desktop-nav{display:none}.nav-link{color:var(--soft-white);padding:.5rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .3s}.nav-link:hover{color:var(--bright-blue);background-color:#60a5fa1a}.mobile-menu-button{display:block}.menu-toggle{color:var(--soft-white);background:none;border:none;cursor:pointer;padding:.5rem;transition:color .3s}.menu-toggle:hover{color:var(--bright-blue)}.mobile-menu{display:block;background-color:var(--dark-gray);position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 6px #0000001a}.mobile-nav{padding:1rem 0}.mobile-nav-link{display:block;color:var(--soft-white);padding:1rem;font-size:1.1rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .3s}.mobile-nav-link:hover{color:var(--bright-blue);background-color:#60a5fa1a}.mobile-social-links{padding:1.5rem;border-top:1px solid rgba(96,165,250,.2);display:flex;gap:1.5rem;justify-content:center}.social-link{color:var(--soft-white);transition:all .3s;font-size:1.5rem}.social-link:hover{color:var(--bright-blue);transform:translateY(-2px)}@media (min-width: 768px){.desktop-nav{display:flex;align-items:center;gap:1.5rem;margin-left:3rem}.mobile-menu-button,.mobile-menu{display:none}}.home-section{background-color:var(--dark-gray);min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:clamp(4rem,8vw,7rem) 0}.home-content{width:min(100%,1100px);margin:0 auto;padding:clamp(1.5rem,4vw,3rem);position:relative;z-index:1}.home-layout{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(2rem,6vw,4rem);text-align:center;position:relative}.logo-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;z-index:0;pointer-events:none}.home-logo{width:min(90%,720px);height:auto;opacity:.12;filter:blur(1px)}.text-content{flex:1 1 320px;max-width:560px;width:100%;text-align:center;position:relative;z-index:2;margin:0 auto}.profile-picture-container{flex:1 1 280px;width:min(100%,360px);aspect-ratio:3 / 4;display:flex;justify-content:center;align-items:center;background-color:#ffffff0d;border-radius:25px;position:relative;z-index:2;animation:float 3s ease-in-out infinite;overflow:hidden}.profile-picture-container:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:80%;height:20px;background:radial-gradient(ellipse at center,rgba(96,165,250,.3) 0%,transparent 70%);animation:shadowPulse 3s ease-in-out infinite}.home-profile-photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:25px;border:2px solid var(--light-blue);box-shadow:0 0 20px #60a5fa33}.home-title{font-size:clamp(2.6rem,6vw,3.75rem);margin-bottom:1rem;color:var(--soft-white);position:relative;line-height:1.1;white-space:normal}.home-title .name{color:var(--light-blue)}.home-subtitle{font-size:clamp(1.4rem,4vw,2rem);color:var(--light-blue);margin-bottom:2rem}.home-description{font-size:clamp(1.05rem,2.8vw,1.2rem);color:var(--soft-white);margin-bottom:3rem;line-height:1.6;max-width:48ch;margin-left:auto;margin-right:auto}.social-links{display:flex;justify-content:center;gap:2rem}.social-link{color:var(--soft-white);font-size:2rem;transition:all .3s}.social-link:hover{color:var(--bright-blue);transform:translateY(-5px)}@media (max-width: 1024px){.logo-container{opacity:.1}}@media (max-width: 768px){.home-layout{gap:clamp(2rem,8vw,3rem)}.profile-picture-container{width:min(100%,320px);aspect-ratio:3 / 4}}@media (max-width: 540px){.home-section{padding:4.5rem 0}.home-title{font-size:clamp(2.2rem,8vw,2.6rem)}.profile-picture-container{border-radius:20px}.social-links{flex-wrap:wrap;gap:1.25rem}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}@keyframes shadowPulse{0%{opacity:.3;width:60%}50%{opacity:.6;width:80%}to{opacity:.3;width:60%}}.greeting{display:inline-block;color:#fff;animation:greetingGlow 2s ease-in-out infinite}@keyframes greetingGlow{0%{text-shadow:0 0 2px rgba(255,255,255,.2)}50%{text-shadow:0 0 8px rgba(255,255,255,.4)}to{text-shadow:0 0 2px rgba(255,255,255,.2)}}.greeting-line{display:block;margin-bottom:.5rem}.greeting-line .text-rotate{display:inline-flex;align-items:baseline}.greeting-split{overflow:hidden;padding-bottom:.25rem}.name-line{display:block}.home-page{margin-top:clamp(3rem,8vw,6rem)}.about-section{padding:4rem 0;background-color:var(--dark-gray);color:var(--light-gray)}.about-section .container{max-width:1200px;margin:0 auto;padding:0 2rem}.about-content{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start}.about-text{font-size:1.1rem;line-height:1.8}.about-text p{margin-bottom:1.5rem}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;position:relative;z-index:1}.stat-item:nth-child(4){grid-column:1 / -2;max-width:100%;margin:0 auto;display:flex;align-items:center;padding:2rem}.stat-item:nth-child(4) h3{display:flex;align-items:center;gap:1rem;margin-bottom:0}.stat-item:nth-child(4) .icon{font-size:1.5rem;color:var(--light-blue);transition:all .3s ease}.stat-item:nth-child(4):hover .icon{color:#f9fafb;transform:scale(1.1)}@media (min-width: 768px){.about-stats{grid-template-columns:repeat(4,1fr)}}.hobbies-section{grid-column:1 / -1;margin-top:2rem}.hobbies-title{font-size:1.8rem;color:var(--light-blue);margin-bottom:2rem;text-align:center;text-shadow:0 0 10px rgba(96,165,250,.3)}.hobbies-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;position:relative;z-index:1}.stat-item{text-align:center;padding:1.5rem;background-color:#374151;border-radius:8px;transition:all .3s ease;position:relative;z-index:2;cursor:pointer}.stat-item h3{font-size:2rem;color:var(--light-blue);margin-bottom:.5rem;text-shadow:0 0 10px rgba(96,165,250,.3);transition:all .3s ease}.stat-item p{font-size:1rem;color:var(--light-gray);text-shadow:0 0 5px rgba(156,163,175,.3);transition:all .3s ease}.stat-item:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0003}.stat-item:hover h3,.stat-item:hover p{color:#f9fafb;text-shadow:0 0 15px rgba(249,250,251,.5)}@media (max-width: 768px){.about-content,.about-stats{grid-template-columns:1fr}.stat-item:nth-child(4){max-width:100%}.section-title{font-size:2rem}}@media (max-width: 480px){.about-stats{grid-template-columns:1fr}}.skills-section{padding:clamp(4rem,8vw,6rem) 0;background-color:var(--dark-gray);color:var(--light-gray)}.skills-section .container{max-width:1200px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.section-title{font-size:clamp(2.2rem,5vw,2.8rem);margin-bottom:clamp(2.5rem,6vw,3.5rem);text-align:center;color:var(--soft-white)}.skills-content{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,2.25rem);margin-top:2rem}.skills-category{background-color:#0f172ad9;border-radius:10px;padding:clamp(1.5rem,3vw,2rem);box-shadow:0 4px 6px #0000001a}.skills-category h3{color:var(--light-blue);margin-bottom:1rem;font-size:1.5rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1rem}.skill-item{background-color:#ffffff0d;padding:.75rem 1rem;border-radius:10px;text-align:center;transition:all .3s ease;display:flex;align-items:center;justify-content:center;cursor:pointer;will-change:transform}.skill-item:hover{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #0003}.skills-grid .skill-item{transition:all .3s ease}.skills-grid .skill-item:hover{transform:scale(1.05);background-color:#fff3;box-shadow:0 4px 8px #0003}.skills-marquee{margin:clamp(1.5rem,4vw,2.5rem) 0;padding:1rem 0;background:#ffffff0d;border-radius:12px;overflow:hidden}.skill-item-marquee{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin:.75rem 1rem;background:#ffffff1f;border-radius:999px;transition:all .3s ease}.skill-item-marquee:hover{background:#fff3;transform:scale(1.05)}.skill-icon{font-size:1.2rem}.skill-name{font-size:.9rem;font-weight:500;color:var(--soft-white)}.skills-grid img{width:22px;height:22px;margin-right:10px}.skills-marquee img{width:20px;height:20px;margin-top:4px}@media (max-width: 992px){.skills-content{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width: 768px){.skills-section .container{padding:0 1.25rem}.skills-content{grid-template-columns:1fr}}@media (max-width: 480px){.skills-category{padding:1.25rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}.experience-section{padding:clamp(4rem,8vw,6.5rem) 0;background-color:var(--dark-gray);color:var(--light-gray)}.experience-section .container{max-width:1100px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.experience-section .section-title{font-size:clamp(2.2rem,5vw,3rem);margin-bottom:clamp(2.5rem,6vw,4rem);text-align:center;color:var(--soft-white)}.vertical-timeline{padding:0!important}.vertical-timeline:before{background:linear-gradient(180deg,#60a5fa00,#60a5fa66,#60a5fa00)}.vertical-timeline-element{margin:clamp(1.5rem,4vw,2.25rem) 0!important}.vertical-timeline-element-content{border-radius:18px!important;padding:clamp(1.5rem,3vw,2.25rem)!important;background:#0f172ae6!important;border:1px solid rgba(96,165,250,.25)!important;box-shadow:0 18px 35px #0f172a73!important}.vertical-timeline-element-content:before{border-right-color:#0f172ae6!important}.vertical-timeline-element-title{color:var(--soft-white);font-size:clamp(1.2rem,3vw,1.6rem);margin-bottom:.4rem}.vertical-timeline-element-subtitle{color:var(--light-blue);font-size:clamp(1rem,2.6vw,1.15rem);font-weight:500;margin-bottom:.85rem}.timeline-description{margin:0;padding-left:1.15rem;color:var(--light-gray)}.timeline-description li{margin-bottom:.65rem;line-height:1.65}.timeline-description li:last-child{margin-bottom:0}.vertical-timeline-element-icon{box-shadow:0 0 0 4px #3b82f666,inset 0 0 0 2px #1e293bcc,0 12px 20px #0f172a59!important}.vertical-timeline-element-icon svg{width:18px;height:18px}@media (max-width: 900px){.vertical-timeline:before{left:26px!important}.vertical-timeline-element-content{margin-left:clamp(3.25rem,9vw,4.2rem)!important}.vertical-timeline-element-icon{width:42px!important;height:42px!important;left:5px!important}}@media (max-width: 640px){.experience-section .container{padding:0 1.1rem}.vertical-timeline-element-content{padding:1.4rem!important}.timeline-description{padding-left:1rem}}.vertical-timeline *{-webkit-box-sizing:border-box;box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;position:relative;padding:2em 0}.vertical-timeline:after{content:"";display:table;clear:both}.vertical-timeline:before{content:"";position:absolute;top:0;left:18px;height:100%;width:4px;background:var(--line-color)}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{position:relative;margin:2em 0}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";display:table;clear:both}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%}.vertical-timeline-element-icon.shadow-size-small{-webkit-box-shadow:0 0 0 2px #fff,inset 0 1px 0 rgba(0,0,0,.08),0 2px 0 4px rgba(0,0,0,.05);box-shadow:0 0 0 2px #fff,inset 0 1px #00000014,0 2px 0 4px #0000000d}.vertical-timeline-element-icon.shadow-size-medium{-webkit-box-shadow:0 0 0 3px #fff,inset 0 2px 0 rgba(0,0,0,.08),0 3px 0 5px rgba(0,0,0,.05);box-shadow:0 0 0 3px #fff,inset 0 2px #00000014,0 3px 0 5px #0000000d}.vertical-timeline-element-icon.shadow-size-large{-webkit-box-shadow:0 0 0 4px #fff,inset 0 2px 0 rgba(0,0,0,.08),0 4px 0 6px rgba(0,0,0,.05);box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 4px 0 6px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{display:block;width:24px;height:24px;position:relative;left:50%;top:50%;margin-left:-12px;margin-top:-12px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.vertical-timeline-element-icon{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;-webkit-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{position:relative;margin-left:60px;background:#fff;border-radius:.25em;padding:1em;-webkit-box-shadow:0 3px 0 #ddd;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;-webkit-box-shadow:none;box-shadow:none}.vertical-timeline-element-content:after{content:"";display:table;clear:both}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;padding:.8em 0;opacity:.7}.vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:100%;height:0;width:0;border:7px solid transparent;border-right:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:unset;left:100%;height:0;width:0;border:7px solid transparent;border-left:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{left:100%;border-left:7px solid #fff;border-right:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{position:absolute;width:100%;left:124%;top:6px;font-size:16px;font-size:1rem}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);transform:translate(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);transform:translate(20px)}to{-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);transform:translate(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);transform:translate(-20px)}to{-webkit-transform:translateX(0);transform:translate(0)}}.projects-section{padding:4rem 0;background-color:var(--dark-gray);color:var(--light-gray)}.projects-section .container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{font-size:2.5rem;margin-bottom:3rem;text-align:center;color:var(--light-gray)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.project-card{background-color:var(--dark-gray);border-radius:15px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;box-shadow:0 5px 15px #0000004d;position:relative;display:flex;flex-direction:column;height:100%}.project-card:hover{transform:translateY(-5px);box-shadow:0 5px 20px #60a5fa4d}.window-controls{position:absolute;top:12px;left:16px;right:16px;display:flex;gap:8px;z-index:2;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.35)}.control-circle{width:12px;height:12px;border-radius:50%}.control-circle.red{background-color:#ff5f56}.control-circle.yellow{background-color:#ffbd2e}.control-circle.green{background-color:#27c93f}.project-image{width:100%;height:clamp(220px,32vw,320px);overflow:hidden;border-radius:25px;padding:60px 10px 10px}.project-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease,padding .3s ease;border-radius:15px}.project-card:hover .project-image img{transform:scale(.97);transform-origin:center}.project-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}.project-content h3{margin:0 0 1rem;color:var(--light-gray);font-size:1.5rem;transition:color .3s ease}.project-card:hover .project-content h3{color:var(--light-blue)}.project-description{margin:0 0 1rem;color:var(--light-gray);line-height:1.6}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.project-tech span{background-color:#60a5fa2e;color:var(--soft-white);padding:.25rem .75rem;border-radius:999px;font-size:.85rem}.project-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}.project-links a{color:var(--light-gray);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--light-gray);border-radius:4px;transition:background-color .3s ease,color .3s ease}.project-card:hover .project-links a:hover{background-color:var(--light-blue);color:var(--dark-gray)}@media (max-width: 1024px){.projects-section .container{padding:0 1rem}.section-title{font-size:2rem}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}}@media (max-width: 480px){.project-content{padding:1.25rem}.project-links a{flex:1 1 100%;text-align:center}}.text-type{display:inline-block;white-space:pre-wrap}.text-type__content{display:inline}.text-type__cursor{margin-left:.25rem;display:inline-block;opacity:1}.text-type__cursor--hidden{opacity:0}.text-rotate{display:inline-flex;flex-wrap:wrap;white-space:pre-wrap;position:relative}.text-rotate-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-rotate-word{display:inline-flex}.text-rotate-lines{display:flex;flex-direction:column;width:100%}.text-rotate-element{display:inline-block}.text-rotate-space{white-space:pre}.footer{background-color:var(--dark-gray);padding:2rem 0;margin-top:4rem;width:100%;text-align:center;position:relative;bottom:0}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer-text{color:var(--soft-white);font-size:1rem}.footer-icons{display:flex;gap:3rem}.footer-icon{color:var(--soft-white);font-size:3rem;transition:all .3s ease;position:relative}.footer-icon:hover{color:var(--bright-blue);transform:translateY(-3px)}.email-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:var(--dark-gray);color:var(--bright-blue);padding:.5rem 1rem;border-radius:4px;font-size:.8rem;white-space:nowrap;box-shadow:0 2px 4px #0003;animation:fadeInOut 2s ease-in-out}@media (max-width: 768px){.footer{padding:1.5rem 0}.footer-icons{gap:1.5rem}.footer-icon{font-size:1.25rem}}.intro{position:fixed;z-index:9999;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;background-color:#111827;transform:translateY(0);will-change:transform;pointer-events:none;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:0 1.5rem}.logo-wrapper{width:100%;max-width:32rem;display:flex;justify-content:center;transform-origin:center;transform:scale(1)}.intro.slide-up{animation:slideUp .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideUp{0%{transform:translateY(0)}to{transform:translateY(-100%);visibility:hidden}}.logo-header{color:var(--light-blue);font-size:clamp(1.2rem,8vw,6rem);font-weight:900;text-align:center;text-shadow:0 0 10px rgba(0,195,255,.2);letter-spacing:clamp(1px,.4vw,4px);line-height:1.05;display:inline-flex;justify-content:center;flex-wrap:nowrap;white-space:nowrap;gap:clamp(.05em,.5vw,.15em)}.letter{display:inline-block;opacity:0;transform:translateY(20px);transition:all .2s cubic-bezier(.2,.8,.2,1)}.letter.active{opacity:1;transform:translateY(0)}.letter.fade{opacity:0;transform:translateY(-20px)}@media (max-width: 480px){.intro{padding:0 1rem}.logo-wrapper{transform:scale(.85)}.logo-header{max-width:100%;gap:.075em;letter-spacing:.05em;font-size:clamp(1rem,9vw,2.8rem)}}@media (max-width: 360px){.logo-wrapper{transform:scale(.75)}.logo-header{font-size:clamp(.95rem,11vw,2.4rem);letter-spacing:.04em}}.scroll-meter{position:fixed;right:20px;top:50%;transform:translateY(-50%);height:60vh;width:6px;background-color:#ffffff1a;border-radius:3px;z-index:1000}.scroll-meter-progress{width:100%;background-color:#007bff;position:absolute;top:0;left:0;border-radius:3px}@media (max-width: 768px){.scroll-meter{right:10px;width:5px;height:50vh}}.sidebar-trigger{position:fixed;top:clamp(1rem,4vw,2rem);left:clamp(1rem,4vw,2rem);width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;background:#0f172ab3;border:1px solid rgba(59,130,246,.35);box-shadow:0 10px 25px #0f172a59;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s ease,box-shadow .2s ease}.sidebar-trigger:hover{transform:translateY(-2px);box-shadow:0 12px 30px #60a5fa59}.sidebar-trigger .line{position:absolute;width:24px;height:3px;background-color:var(--soft-white);border-radius:999px;transition:transform .3s ease,opacity .3s ease,top .3s ease}.sidebar-trigger .line:nth-child(1){top:16px}.sidebar-trigger .line:nth-child(2){top:22px}.sidebar-trigger .line:nth-child(3){top:28px}.sidebar-trigger.open .line:nth-child(1){transform:translateY(6px) rotate(45deg)}.sidebar-trigger.open .line:nth-child(2){opacity:0}.sidebar-trigger.open .line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:950;animation:fadeInOverlay .25s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;left:clamp(-320px,-35vw,-280px);top:0;width:min(320px,82vw);height:100vh;background-color:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:left .3s ease;z-index:960;padding-top:90px;overflow-y:auto}.sidebar.open{left:0}.sidebar-content{padding:2rem clamp(1.5rem,6vw,3rem);color:#fff;display:flex;flex-direction:column;gap:2rem;min-height:calc(100vh - 120px)}.sidebar-content h3{color:var(--bright-blue);margin-bottom:1.5rem;font-size:1.6rem;position:relative;display:inline-block;cursor:default}.sidebar-content h3:after{content:"";position:absolute;width:0;height:2px;bottom:-5px;left:0;background-color:var(--bright-blue);transition:width .3s ease}.sidebar-content h3:hover:after{width:100%}.sidebar-content ul{list-style:none;padding:0;margin:0}.sidebar-content li{margin-bottom:1.2rem;transform:translate(0);transition:transform .3s ease}.sidebar-content li:hover{transform:translate(10px)}.sidebar-content a{color:#fff;text-decoration:none;position:relative;font-size:1.1rem;transition:all .3s ease;padding:.5rem 0;display:inline-block;cursor:pointer}.sidebar-content a:before{content:">";position:absolute;left:-20px;opacity:0;transform:translate(-10px);transition:all .3s ease;color:var(--bright-blue)}.sidebar-content a:hover:before{opacity:1;transform:translate(0)}.sidebar-content a:after{content:"";position:absolute;width:0;height:2px;bottom:0;left:0;background-color:var(--bright-blue);transition:width .3s ease}.sidebar-content a:hover{color:var(--bright-blue);transform:scale(1.05)}.sidebar-content a:hover:after{width:100%}.sidebar-content a:active{transform:scale(.95)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.sidebar-content h3:hover{animation:pulse 2s infinite}@media (max-width: 768px){.sidebar{width:min(280px,80vw)}.sidebar-trigger{top:1rem;left:1rem}}.sidebar-logo{margin-top:auto;display:flex;align-items:center;justify-content:center;width:clamp(90px,14vw,140px);height:clamp(90px,14vw,140px);align-self:center;opacity:.8;transition:transform .3s ease,opacity .3s ease;padding-bottom:2rem}.sidebar-logo button{width:100%;height:100%;border:none;padding:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.sidebar-logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 6px rgba(96,165,250,.35))}.sidebar-logo:hover{opacity:1;transform:scale(1.05)}.sidebar-email-button{background:none;border:none;color:var(--soft-white);cursor:pointer;padding:0;display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;font-size:1rem;transition:all .3s ease;position:relative}.sidebar-email-button:hover{color:var(--bright-blue)}.sidebar-tooltip{position:absolute;bottom:10%;left:85%;transform:translate(-50%);background-color:var(--dark-gray);color:var(--bright-blue);padding:.5rem 1rem;border-radius:4px;font-size:.8rem;white-space:nowrap;box-shadow:0 2px 4px #0003;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,10px)}20%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}:root{--dark-gray: #1F2937;--mid-gray: #374151;--light-gray: #9CA3AF;--light-blue: #60A5FA;--bright-blue: #3B82F6;--soft-white: #F9FAFB;--soft-black: #111827;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--font-4xl: 2.25rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-32: 8rem;--spacing-40: 10rem;--spacing-48: 12rem;--spacing-56: 14rem;--spacing-64: 16rem;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-outline: 0 0 0 3px rgba(66, 153, 225, .5);--shadow-none: none}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--dark-gray);color:var(--soft-white);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1280px;margin:0 auto;padding:0 1rem}.section{min-height:100vh;display:flex;align-items:center;padding:4rem 0;position:relative}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:2rem;color:var(--light-blue);position:relative;animation:float 3s ease-in-out infinite;text-shadow:0 0 10px rgba(96,165,250,.3)}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:50%;height:2px;background:linear-gradient(90deg,transparent,var(--bright-blue),transparent);animation:shadowPulse 3s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes shadowPulse{0%{opacity:.3;width:30%}50%{opacity:.7;width:70%}to{opacity:.3;width:30%}}.section-content{width:100%}@media (min-width: 768px){.container{padding:0 2rem}.section-title{font-size:3rem}}@media (min-width: 1024px){.container{padding:0 4rem}}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;margin-bottom:var(--spacing-4)}h1{font-size:var(--font-4xl)}h2{font-size:var(--font-3xl)}h3{font-size:var(--font-2xl)}h4{font-size:var(--font-xl)}p{margin-bottom:var(--spacing-4)}a{color:var(--light-blue);text-decoration:none;transition:color .3s ease}a:hover{color:var(--bright-blue)}button{cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-5{margin-top:var(--spacing-5)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mt-10{margin-top:var(--spacing-10)}.mt-12{margin-top:var(--spacing-12)}.mt-16{margin-top:var(--spacing-16)}.mt-20{margin-top:var(--spacing-20)}.mt-24{margin-top:var(--spacing-24)}.mt-32{margin-top:var(--spacing-32)}.mt-40{margin-top:var(--spacing-40)}.mt-48{margin-top:var(--spacing-48)}.mt-56{margin-top:var(--spacing-56)}.mt-64{margin-top:var(--spacing-64)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-5{margin-bottom:var(--spacing-5)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.mb-10{margin-bottom:var(--spacing-10)}.mb-12{margin-bottom:var(--spacing-12)}.mb-16{margin-bottom:var(--spacing-16)}.mb-20{margin-bottom:var(--spacing-20)}.mb-24{margin-bottom:var(--spacing-24)}.mb-32{margin-bottom:var(--spacing-32)}.mb-40{margin-bottom:var(--spacing-40)}.mb-48{margin-bottom:var(--spacing-48)}.mb-56{margin-bottom:var(--spacing-56)}.mb-64{margin-bottom:var(--spacing-64)}.min-h-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.max-w-6xl{max-width:72rem;width:100%}.px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}body{background-color:var(--dark-gray);font-family:Inter,sans-serif;color:#e0e0e0}.bg-dark-gray{background-color:var(--dark-gray)}.bg-mid-gray{background-color:#2b2b2b}.text-soft-white{color:#f5f5f5}.text-light-gray{color:#c4c4c4}.text-light-blue{color:#5edfff}.hover\:text-soft-white:hover{color:#f5f5f5}.hover\:bg-bright-blue:hover{background-color:#009dff}.shadow-lg{box-shadow:0 10px 30px #0000004d}.rounded-xl{border-radius:1rem}.transition-colors{transition:background-color .3s,color .3s}a{text-decoration:none;font-weight:500}span.rounded-full{background:linear-gradient(145deg,#202020,#2e2e2e);box-shadow:2px 2px 5px #1c1c1c,-2px -2px 5px #323232}.text-light-blue.mr-2{font-size:1.5rem;line-height:1}.project-logo img{width:100%;height:auto;max-width:100px;padding-right:1rem;transition:transform .3s ease}h2{padding-left:.75rem;margin-left:2rem}.bg-mid-gray:hover{background-color:#343434;transition:background-color .3s ease}.links{display:inline-flex;justify-content:center;align-items:center;padding:.5rem 1rem;border:1px solid var(--light-gray);border-radius:8px;color:var(--light-gray);font-size:1rem;transition:background-color .3s ease,color .3s ease;text-decoration:none;font-weight:500}.links:hover{background-color:var(--light-blue);color:var(--dark-gray)}.overview-container{display:flex;padding:2rem;border-radius:15px}.features-grid{align-items:center;justify-content:center;gap:1rem;padding:2rem;border-radius:15px}.features-bullets{padding-right:2rem;border-radius:15px}.features-title,.tech-title{font-size:2rem;font-weight:600;margin-top:1rem;padding-top:1rem}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:2rem;padding:2rem;border-radius:15px}.tech-grid span{font-size:1rem;line-height:1;padding:.5rem;border-radius:15px;color:#fff;transition:transform .3s ease,background-color .3s ease}.tech-item{background-color:#ffffff0d;padding:1rem 4rem;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;transition:all .3s ease;cursor:pointer}.tech-item:hover{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #0003}.tech-item span{font-size:.9rem;font-weight:500;color:var(--light-gray)}.tech-icon{width:20px;height:20px}
