@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap);.header{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#000000b3;border-bottom:1px solid #adadac1a;color:#fff;display:flex;font-family:Stockport,serif;justify-content:center;left:0;padding:15px 0;position:fixed;right:0;top:0;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1000}.header.scrolled{background:#000000f2;border-bottom:1px solid #ffb82533;box-shadow:0 4px 30px #0000004d;padding:10px 0}.header-content{justify-content:space-between;max-width:1400px;padding:0 40px;width:100%}.brand-logo,.header-content{align-items:center;display:flex}.brand-logo{z-index:1001}.brand-logo a{align-items:center;display:flex;gap:2px;text-decoration:none;transition:transform .3s ease}.brand-logo a:hover{transform:translateY(-2px)}.brand-initial{-webkit-text-fill-color:#0000;animation:gradientPulse 3s ease-in-out infinite;background:linear-gradient(135deg,#ffb825,#ff6b6b);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.brand-initial,.brand-name{font-family:Stockport,serif}.brand-name{color:#adadac;font-size:1.25rem;transition:color .3s ease}.brand-name .brand-s{-webkit-text-fill-color:#0000;animation:gradientPulse 3s ease-in-out infinite;background:linear-gradient(135deg,#ffb825,#ff6b6b);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.brand-logo a:hover .brand-name{color:#fff}@keyframes gradientPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.social-icons{gap:20px}.social-icons,.social-icons a{align-items:center;display:flex}.social-icons a{border-radius:50%;color:#999;font-size:1.5rem;height:40px;justify-content:center;position:relative;transition:all .3s ease;width:40px}.social-icons a:before{background:linear-gradient(135deg,#ffb82533,#ff6b6b33);border-radius:50%;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease;z-index:-1}.social-icons a:hover{color:#ffb825;transform:translateY(-3px) scale(1.1)}.social-icons a:hover:before{opacity:1}.nav-container,.nav-menu ul{align-items:center;display:flex}.nav-menu ul{gap:10px;list-style:none;margin:0;padding:0}.nav-menu ul li a{border-radius:8px;color:#adadac;display:block;font-family:Stockport,serif;font-size:1rem;font-weight:500;padding:10px 20px;position:relative;text-decoration:none;transition:all .3s ease}.nav-menu ul li a:after{background:linear-gradient(90deg,#ffb825,#ff6b6b);bottom:8px;content:"";height:2px;left:20px;position:absolute;right:20px;transform:scaleX(0);transition:transform .3s ease}.nav-menu ul li a.active,.nav-menu ul li a:hover{background:#ffb8251a;color:#fff}.nav-menu ul li a.active:after,.nav-menu ul li a:hover:after{transform:scaleX(1)}.resume-btn{align-items:center;background:linear-gradient(135deg,#ffb825,#ff6b6b)!important;border-radius:25px!important;box-shadow:0 4px 15px #ffb8254d;color:#000!important;display:flex!important;font-family:Stockport,serif;font-weight:600;gap:8px;padding:10px 24px!important;transition:all .3s ease!important}.resume-btn:after{display:none!important}.resume-btn:hover{background:linear-gradient(135deg,#ff6b6b,#ffb825)!important;box-shadow:0 6px 20px #ffb82580!important;transform:translateY(-2px)!important}.link-icon{font-size:.9rem;transition:transform .3s ease}.resume-btn:hover .link-icon{transform:translateX(3px)}.menu-icon{cursor:pointer;display:none;flex-direction:column;padding:10px;z-index:1001}.menu-icon span{background:#fff;border-radius:2px;height:3px;margin:3px 0;transform-origin:center;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);width:25px}.menu-icon.open span:first-child{transform:rotate(45deg) translate(8px,8px)}.menu-icon.open span:nth-child(2){opacity:0;transform:translateX(-20px)}.menu-icon.open span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}@media (max-width:768px){.header-content{padding:0 20px}.brand-logo a{gap:1px}.brand-initial{font-size:1.5rem}.brand-name{font-size:1rem}.brand-name .brand-s{font-size:1.5rem}.social-icons{gap:15px}.social-icons a{font-size:1.2rem;height:35px;width:35px}.menu-icon{display:flex}.nav-menu{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#000000fa;border-left:1px solid #ffb82533;box-shadow:-5px 0 30px #00000080;height:calc(100vh - 70px);position:fixed;right:-100%;top:70px;transition:right .4s cubic-bezier(.68,-.55,.265,1.55);width:280px}.nav-menu.open{right:0}.nav-menu ul{flex-direction:column;gap:0;padding:20px 0;width:100%}.nav-menu ul li{border-bottom:1px solid #ffb8251a;width:100%}.nav-menu ul li a{border-radius:0;font-size:1.1rem;padding:18px 30px;width:100%}.nav-menu ul li a:after{bottom:16px;left:30px;right:30px}.resume-btn{justify-content:center!important;margin:10px 20px!important;width:calc(100% - 40px)!important}}@media (max-width:480px){.header-content{padding:0 15px}.brand-initial{font-size:1.3rem}.brand-name{font-size:.9rem}.brand-name .brand-s{font-size:1.3rem}.social-icons{gap:10px}.social-icons a{font-size:1.1rem;height:32px;width:32px}.menu-icon span{height:2.5px;width:22px}.nav-menu{width:250px}.nav-menu ul li a{font-size:1rem;padding:16px 25px}}@media (max-width:360px){.brand-initial{font-size:1.2rem}.brand-name{font-size:.85rem}.brand-name .brand-s{font-size:1.2rem}.social-icons a{font-size:1rem;height:30px;width:30px}}.hero{align-items:flex-start;animation:fadeIn 1s ease-in;flex-direction:row}.hero-left{align-items:center;animation:slideInLeft .8s ease-out;background-color:#1c1c1c;border-radius:10px;display:flex;flex-direction:column;justify-content:center;margin-right:20px;padding:20px}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100px)}to{opacity:1;transform:translateX(0)}}.hero-left img{animation:float 3s ease-in-out infinite;border-radius:50%;box-shadow:0 10px 30px #ffb8254d;height:150px;margin-bottom:20px;transition:transform .3s ease,box-shadow .3s ease;width:150px}.hero-left img:hover{box-shadow:0 15px 40px #ffb82580;transform:scale(1.1)}.hero-text{animation:slideInRight .8s ease-out;font-family:Flamante Sans Bold,serif;font-size:1.5rem;max-width:600px}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.hero-text h3{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#fff,#ffb825,#fff);background-size:200% auto;font-size:2.5rem;margin-bottom:15px}.hero-text p{animation:fadeInUp 1s ease-out .3s both;line-height:1.8}.services{margin:0;overflow:hidden;padding:100px 20px;position:relative}.services:before{animation:rotateGradient 30s linear infinite;background:radial-gradient(circle,#ffb8250d 0,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%;z-index:0}.services-header{animation:fadeInDown .8s ease-out;margin-bottom:60px;position:relative;z-index:1}.services h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#adadac);-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:3rem;margin-bottom:15px}.services-subtitle{color:#888;font-family:Stockport,serif;font-size:1.1rem;font-weight:400;margin-top:10px}.services h2:after{animation:glowPulse 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffb825,#0000);bottom:-10px;height:3px;left:50%;position:absolute;transform:translateX(-50%);width:80px}@keyframes glowPulse{0%,to{box-shadow:0 0 10px #ffb8254d;opacity:.8}50%{box-shadow:0 0 20px #ffb82599;opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.services-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin:0 auto;max-width:1400px;padding:0 20px;position:relative;z-index:1}.service-card{animation:fadeInUp .6s ease-out backwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1c1c1c80;border:1px solid #ffffff0d;border-radius:20px;cursor:pointer;height:450px;overflow:hidden;position:relative;transition:transform .4s cubic-bezier(.4,0,.2,1)}.service-card:first-child{animation-delay:.1s}.service-card:nth-child(2){animation-delay:.2s}.service-card:nth-child(3){animation-delay:.3s}.service-card:nth-child(4){animation-delay:.4s}.service-card:nth-child(5){animation-delay:.5s}.service-card:nth-child(6){animation-delay:.6s}.service-card__glow{background:radial-gradient(600px circle at 50% 50%,#ffb82526,#0000 40%);background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%),#ffb82526,#0000 40%);height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%;z-index:1}.service-card:hover .service-card__glow{opacity:1}.service-card__background{background-position:50%;background-size:cover;transition:transform .6s ease,filter .3s ease;z-index:0}.service-card__background,.service-card__overlay{height:100%;left:0;position:absolute;top:0;width:100%}.service-card__overlay{background:linear-gradient(180deg,#0000004d,#000000b3 60%,#000000f2);transition:background .3s ease;z-index:1}.service-card:hover .service-card__background{filter:brightness(.7);transform:scale(1.1)}.service-card:hover .service-card__overlay{background:linear-gradient(180deg,#0006,#000c 50%,#000000fa)}.service-card__content{display:flex;flex-direction:column;height:100%;justify-content:flex-end;padding:30px;position:relative;transition:transform .3s ease;z-index:2}.service-card:hover .service-card__content{transform:translateY(-10px)}.service-card__icon{animation:float 3s ease-in-out infinite;display:inline-block;filter:drop-shadow(0 4px 8px rgba(255,184,37,.3));font-size:3rem;margin-bottom:15px}.service-card__category{color:#ffb825;display:inline-block;font-family:Stockport,serif;font-size:.75rem;font-weight:600;letter-spacing:2px;margin-bottom:10px;opacity:.9;text-transform:uppercase}.service-card__title{color:#fff;font-family:Stockport,serif;font-size:1.8rem;font-weight:700;line-height:1.2;margin:0 0 15px;text-shadow:0 2px 10px #00000080}.service-card__description{color:#e0e0e0;font-family:Stockport,serif;font-size:.95rem;font-weight:400;line-height:1.7;margin:0;opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease}.service-card:hover .service-card__description{opacity:1;transform:translateY(0)}.services-grid:hover .service-card:not(:hover){opacity:.6;transform:scale(.98)}.services-grid:hover .service-card:not(:hover) .service-card__background{filter:brightness(.4) saturate(.5)}@media (max-width:1200px){.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:768px){.services{padding:60px 15px}.services h2{font-size:2.2rem}.services-subtitle{font-size:1rem}.services-header{margin-bottom:40px}.services-grid{gap:25px;grid-template-columns:1fr;padding:0 10px}.service-card{height:400px}.service-card__content{padding:25px}.service-card__icon{font-size:2.5rem}.service-card__title{font-size:1.5rem}.service-card__description{font-size:.9rem;opacity:1;transform:translateY(0)}.services-grid:hover .service-card:not(:hover){opacity:1;transform:scale(1)}.service-card:hover .service-card__content{transform:none}}@media (max-width:480px){.services{padding:50px 10px}.services h2{font-size:1.8rem}.services-subtitle{font-size:.9rem}.service-card{height:380px}.service-card__content{padding:20px}.service-card__icon{font-size:2rem;margin-bottom:10px}.service-card__title{font-size:1.3rem;margin-bottom:12px}.service-card__description{font-size:.85rem;line-height:1.6}.service-card__category{font-size:.7rem;letter-spacing:1.5px}}.skills{font-family:Duke Charming Regular,serif}.skills h2{font-family:Flamante Sans Bold,serif}.skills h2:after{width:80px}.skills-content{font-family:Roboto,serif}.circle{animation:rotateCircle 20s linear infinite}@keyframes rotateCircle{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.skill{align-items:center;animation:counterRotate 20s linear infinite;display:flex;height:80px;justify-content:center;position:relative;transition:transform .3s ease;width:80px}@keyframes counterRotate{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.skill-description{top:100px}.skill:hover .circle-fill{background-color:#ffb825;height:var(--skill-level)}.skill:hover .skill-description,.skill:hover .skill-percent{opacity:1}.skill:hover .skill-icon{opacity:0}.projects{background-color:#e0e0e0;color:teal;font-family:Duke Charming Regular,serif;padding:40px;scroll-margin-top:200px}.projects h2{margin-bottom:20px}.projects-content{text-align:justify}.projects-content ul{list-style-type:disc;margin-left:20px}.carousel .control-arrow,.carousel.carousel-slider .control-arrow{background:none;border:0;cursor:pointer;filter:alpha(opacity=40);font-size:32px;opacity:.4;position:absolute;top:20px;transition:all .25s ease-in;z-index:2}.carousel .control-arrow:focus,.carousel .control-arrow:hover{filter:alpha(opacity=100);opacity:1}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{border-bottom:8px solid #0000;border-top:8px solid #0000;content:"";display:inline-block;margin:0 5px}.carousel .control-disabled.control-arrow{cursor:inherit;display:none;filter:alpha(opacity=0);opacity:0}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{box-sizing:border-box}.carousel img{display:inline-block;pointer-events:none;width:100%}.carousel .carousel{position:relative}.carousel .control-arrow{background:none;border:0;font-size:18px;margin-top:-13px;outline:0;top:50%}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{list-style:none;position:relative;transform:translateZ(0);transition:all .15s ease-in;white-space:nowrap}.carousel .thumb{border:3px solid #fff;display:inline-block;margin-right:6px;overflow:hidden;padding:2px;transition:border .15s ease-in;white-space:nowrap}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{margin:0;overflow:hidden;position:relative}.carousel.carousel-slider .control-arrow{bottom:0;color:#fff;font-size:26px;margin-top:0;padding:5px;top:0}.carousel.carousel-slider .control-arrow:hover{background:#0003}.carousel .slider-wrapper{margin:auto;overflow:hidden;transition:height .15s ease-in;width:100%}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-moz-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-moz-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{flex-direction:column}.carousel .slider{list-style:none;margin:0;padding:0;position:relative;width:100%}.carousel .slider.animated{transition:all .35s ease-in-out}.carousel .slide{margin:0;min-width:100%;position:relative;text-align:center}.carousel .slide img{border:0;vertical-align:top;width:100%}.carousel .slide iframe{border:0;display:inline-block;margin:0 40px 40px;width:calc(100% - 80px)}.carousel .slide .legend{background:#000;border-radius:10px;bottom:40px;color:#fff;font-size:12px;left:50%;margin-left:-45%;opacity:.25;padding:10px;position:absolute;text-align:center;transition:all .5s ease-in-out;transition:opacity .35s ease-in-out;width:90%}.carousel .control-dots{bottom:0;margin:10px 0;padding:0;position:absolute;text-align:center;width:100%;z-index:1}@media (min-width:960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{background:#fff;border-radius:50%;box-shadow:1px 1px 2px #000000e6;cursor:pointer;display:inline-block;filter:alpha(opacity=30);height:8px;margin:0 8px;opacity:.3;transition:opacity .25s ease-in;width:8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{filter:alpha(opacity=100);opacity:1}.carousel .carousel-status{color:#fff;font-size:10px;padding:5px;position:absolute;right:0;text-shadow:1px 1px 1px #000000e6;top:0}.carousel:hover .slide .legend{opacity:1}.footer{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff;font-family:Stockport,serif;overflow:hidden;padding:80px 20px;position:relative;text-align:center}.footer:before{background:linear-gradient(90deg,#0000,#adadac,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.contact-header{animation:fadeInUp .8s ease-out;margin:0 auto 60px;max-width:800px}.contact-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#adadac,#fff);-webkit-background-clip:text;background-clip:text;font-family:Stockport,serif;font-size:3rem;font-weight:700;margin-bottom:20px}.contact-header p{color:#b0b0b0;font-family:Stockport,serif;font-size:1.1rem;font-weight:400;line-height:1.6}.contact-content{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:1fr 1.5fr;margin:0 auto;max-width:1200px}.contact-info{animation:fadeInLeft .8s ease-out .2s both;display:flex;flex-direction:column;gap:24px}.info-card{align-items:center;background:#ffffff08;border:1px solid #adadac1a;border-radius:16px;display:flex;gap:20px;padding:24px;text-align:left;transition:all .3s ease}.info-card:hover{background:#ffffff0d;border-color:#adadac4d;transform:translateX(10px)}.info-icon{align-items:center;background:linear-gradient(135deg,#adadac,#8a8a8a);border-radius:12px;color:#1a1a1a;display:flex;flex-shrink:0;font-size:1.5rem;height:56px;justify-content:center;width:56px}.info-text h4{color:#adadac;font-weight:600;margin:0 0 8px}.info-text a,.info-text h4,.info-text p{font-family:Stockport,serif;font-size:1rem}.info-text a,.info-text p{color:#e0e0e0;font-weight:400;margin:0;text-decoration:none;transition:color .3s ease}.info-text a:hover{color:#adadac}.contact-form{animation:fadeInRight .8s ease-out .2s both}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-field{margin-bottom:24px;position:relative}.form-field input,.form-field textarea{background:#ffffff08;border:2px solid #adadac33;border-radius:12px;box-sizing:border-box;color:#fff;font-family:Stockport,serif;font-size:1rem;font-weight:400;outline:none;padding:18px 16px 10px;transition:all .3s ease;width:100%}.form-field textarea{min-height:140px;padding-top:24px;resize:vertical}.form-field label{background:#0000;color:#888;font-family:Stockport,serif;font-size:1rem;font-weight:500;left:16px;padding:0 4px;pointer-events:none;position:absolute;top:18px;transition:all .3s ease}.form-field input:not(:placeholder-shown)+label,.form-field textarea:not(:placeholder-shown)+label,.form-field.focused label{background:#1a1a1a;color:#adadac;font-size:.75rem;left:12px;top:-10px}.form-field.focused input,.form-field.focused textarea{background:#ffffff0d;border-color:#adadac}.form-field.error input,.form-field.error textarea{animation:shake .4s ease;border-color:#f44}.form-field.error label{color:#f44}.error-message{animation:fadeIn .3s ease;color:#f44;display:block;font-family:Stockport,serif;font-size:.85rem;font-weight:500;margin-left:4px;margin-top:6px}.form-field.valid input,.form-field.valid textarea{border-color:#4caf50}.field-valid-icon{animation:scaleIn .3s ease;color:#4caf50;font-size:1.2rem;position:absolute;right:16px;top:18px}.form-field textarea~.field-valid-icon{top:24px}.submit-btn{background:linear-gradient(135deg,#ffb825,#ff6b6b);border:none;border-radius:12px;box-shadow:0 4px 20px #ffb8254d;color:#000;cursor:pointer;font-family:Stockport,serif;font-size:1.1rem;font-weight:600;overflow:hidden;padding:16px;position:relative;transition:all .3s ease;width:100%}.submit-btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.submit-btn:hover:before{height:300px;width:300px}.submit-btn:hover{box-shadow:0 8px 24px #adadac66;transform:translateY(-2px)}.submit-btn:active{transform:translateY(0)}.submit-btn.disabled{background:#adadac4d;color:#666;cursor:not-allowed}.submit-btn.disabled:hover{box-shadow:none;transform:none}.submit-btn i,.submit-btn span{position:relative;z-index:1}.spinner{animation:spin .8s linear infinite;border:3px solid #0000004d;border-radius:50%;border-top-color:#1a1a1a;height:20px;width:20px}.popup-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.popup-content{animation:slideUp .4s ease;background:linear-gradient(135deg,#2d2d2d,#1a1a1a);border:1px solid #adadac33;border-radius:24px;box-shadow:0 20px 60px #00000080;max-width:480px;padding:48px;text-align:center}.popup-icon{align-items:center;animation:scaleIn .5s ease .2s both;border-radius:50%;display:flex;font-size:2.5rem;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.success-icon{background:#4caf5033;color:#4caf50}.error-icon{background:#f443;color:#f44}.popup-content h3{color:#fff;font-family:Stockport,serif;font-size:2rem;font-weight:700;margin:0 0 16px}.popup-content p{color:#b0b0b0;font-weight:400;line-height:1.6;margin:0 0 32px}.popup-close-btn,.popup-content p{font-family:Stockport,serif;font-size:1rem}.popup-close-btn{background:#adadac;border:none;border-radius:10px;color:#1a1a1a;cursor:pointer;font-weight:600;padding:14px 40px;transition:all .3s ease}.popup-close-btn:hover{background:#fff;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1024px){.contact-content{gap:40px}.contact-header h2{font-size:2.5rem}}@media (max-width:768px){.footer{padding:60px 20px}.contact-header{margin-bottom:40px}.contact-header h2{font-size:2rem}.contact-header p{font-size:1rem}.contact-content{gap:40px;grid-template-columns:1fr}.info-card{padding:20px}.info-icon{font-size:1.3rem;height:48px;width:48px}.form-row{gap:0;grid-template-columns:1fr}.popup-content{margin:0 20px;max-width:calc(100% - 40px);padding:32px}.popup-icon{font-size:2rem;height:60px;width:60px}.popup-content h3{font-size:1.5rem}}@media (max-width:480px){.footer{padding:40px 15px}.contact-header h2{font-size:1.75rem;margin-bottom:15px}.contact-header p{font-size:.95rem}.contact-content{gap:30px}.info-card{gap:15px;padding:16px}.info-icon{font-size:1.2rem;height:40px;width:40px}.info-text a,.info-text h4,.info-text p{font-size:.9rem}.form-field{margin-bottom:20px}.form-field input,.form-field textarea{font-size:.95rem;padding:16px 14px 10px}.form-field label{font-size:.95rem;left:14px}.form-field input:not(:placeholder-shown)+label,.form-field textarea:not(:placeholder-shown)+label,.form-field.focused label{font-size:.7rem}.submit-btn{font-size:1rem;padding:14px}.popup-content{margin:0 15px;padding:24px}.popup-icon{font-size:1.5rem;height:50px;margin-bottom:16px;width:50px}.popup-content h3{font-size:1.3rem;margin-bottom:12px}.popup-content p{font-size:.9rem;margin-bottom:24px}.popup-close-btn{font-size:.95rem;padding:12px 32px}}@media (max-width:360px){.footer{padding:30px 10px}.contact-header h2{font-size:1.5rem}.contact-header p{font-size:.9rem}.info-card{flex-direction:column;padding:14px;text-align:center}.info-icon{font-size:1.1rem;height:36px;width:36px}.form-field input,.form-field textarea{font-size:.9rem;padding:14px 12px 10px}.submit-btn{font-size:.95rem;padding:12px}}@font-face{font-family:Stockport;src:url(/static/media/Stockport%20-%20Serif%20Personal%20Use.e4c44f3eec71500e3782.otf) format("opentype")}body{animation:fadeInPage 2.2s ease-in-out;font-family:Stockport,serif;padding-top:80px}body,html{background-color:#000;min-width:100%;overflow-x:hidden}html{scroll-behavior:smooth}h1,h2,h3,p{margin:0}.App{text-align:center}*{box-sizing:border-box;margin:0;padding:0}.hero{align-items:center;animation:fadeIn 1.2s ease-in-out;background-color:#000;background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:40px;position:relative;scroll-margin-top:150px}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.about-me-title{animation:slideDown .8s ease-out,titlePulse 3s ease-in-out infinite;color:#adadac;font-family:Stockport,serif;font-size:2rem;font-weight:700;margin-bottom:20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes titlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.about-me-title:after{animation:expandWidth 1s ease-out .5s both,underlineGlow 2s ease-in-out 1.5s infinite;background-color:#adadac;border-radius:2px;content:"";display:block;height:4px;margin:5px auto 0;width:50px}@keyframes expandWidth{0%{opacity:0;width:0}to{opacity:1;width:50px}}@keyframes underlineGlow{0%,to{background-color:#adadac;box-shadow:0 0 5px #ffb8254d}50%{background-color:#ffb825;box-shadow:0 0 15px #ffb825cc}}.hero-content{align-items:center;animation:slideUp 1s ease-out .3s both,gradientMove 8s ease infinite;box-shadow:0 10px 40px #ffb82533;display:flex;max-height:800px;max-width:800px;overflow:visible;padding:30px 50px;position:relative;transition:box-shadow .3s ease;z-index:2}.hero-content,.hero-content:before{background:linear-gradient(135deg,#1c1c1c,#2e2e2e,#1c1c1c);background-size:200% 200%;border-radius:20px}.hero-content:before{animation:slideUpDelay 1s ease-out .4s both,gradientMove 8s ease infinite;bottom:15px;box-shadow:0 8px 30px #ffb82526;content:"";left:-15px;opacity:.6;position:absolute;right:15px;top:-15px;z-index:-1}@keyframes slideUpDelay{0%{opacity:0;transform:translateY(50px)}to{opacity:.6;transform:translateY(0)}}.hero-content:hover{box-shadow:0 15px 60px #ffb82566}.hero-content:hover:before{box-shadow:0 12px 45px #ffb82540}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientMove{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.hero-image-container{animation:float 4s ease-in-out infinite;flex-shrink:0;height:260px;margin-right:30px;overflow:visible;position:relative;width:160px;z-index:10}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-10px) rotate(2deg)}50%{transform:translateY(-5px) rotate(0deg)}75%{transform:translateY(-10px) rotate(-2deg)}}.hero-image-container img{border:4px solid #adadac;border-radius:15px;box-shadow:0 10px 30px #ffb8254d;height:100%;transition:transform .3s ease,box-shadow .3s ease;width:100%}.hero-image-container img:hover{box-shadow:0 15px 40px #ffb82580;transform:scale(1.1)}.hero-text{color:#adadac;font-size:1rem;line-height:1.6;max-width:700px;text-align:left}.hero-text,.hero-text h3{font-family:Stockport,serif}.hero-text h3{-webkit-text-fill-color:#0000;animation:gradientShift 4s ease-in-out infinite;background:linear-gradient(90deg,#fff,#ffb825,#ff6b6b,#ffb825,#fff);-webkit-background-clip:text;background-clip:text;background-size:300% auto;font-size:1.5rem;font-weight:700;margin:0 0 15px}@keyframes gradientShift{0%,to{background-position:0}50%{background-position:100%}}.hero-text p{animation:fadeInText 1.2s ease-out .6s both}@keyframes fadeInText{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.hero{padding:20px}.about-me-title{font-size:1.5rem}.hero-content{align-items:center;border-radius:10px;flex-direction:column;max-width:100%;padding:20px}.hero-image-container{animation:none;height:195px;margin-bottom:20px;margin-right:0;width:120px}.hero-image-container img:hover{transform:none}.hero-text{font-size:.9rem;text-align:center}.hero-text h3{font-size:1.2rem}}.services{background-color:#000;border-radius:10px;margin:40px 20px;padding:60px 20px;scroll-margin-top:150px}.services,.services h2{color:#adadac;font-family:Stockport,serif;text-align:center}.services h2{font-size:2rem;font-weight:700;margin-bottom:40px;position:relative}.services h2:after{background-color:#adadac;border-radius:2px;content:"";display:block;height:4px;margin:10px auto 0;width:50px}.projects-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(1,1fr);margin:0 auto;max-width:1200px}@media (min-width:540px){.projects-content{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.projects-content{grid-template-columns:repeat(3,1fr)}}.project-card{border-radius:8px;cursor:pointer;height:400px;list-style:none;overflow:hidden;position:relative;transform-style:preserve-3d;transition:transform .1s ease,box-shadow .3s ease,filter .3s ease;will-change:transform}.project-card:before{content:"";display:block;padding-bottom:150%;width:100%}.project-card__background{background-position:50%;background-size:cover;border-radius:8px;bottom:0;filter:blur(8px);left:0;position:absolute;right:0;top:0;transition:transform .2s linear}.project-card:hover{box-shadow:0 10px 30px #ffffff4d;transform:scale(1.1);z-index:10}.project-card:hover .project-card__background{filter:blur(6px);transform:scale(1.05)}.project-card__content{left:0;padding:20px;position:absolute;top:0;z-index:2}.project-card__category{color:#fff;font-family:Stockport,serif;font-size:.9rem;font-weight:600;margin-bottom:5px;text-transform:uppercase}.project-card__heading{color:#fff;font-family:Stockport,serif;font-size:1.5rem;font-weight:700;line-height:1.4;text-shadow:2px 2px 20px #0003}.project-card__description{color:#fff;font-family:Stockport,serif;font-weight:400;line-height:1.6;margin:0}.projects-content:hover>.project-card:not(:hover){filter:blur(10px)}@media (max-width:768px){.services{margin:20px 10px;padding:40px 10px}.services h2{font-size:1.8rem}.project-card{height:350px;margin:15px 0}.project-card:hover{transform:scale(1.05)}.project-card__heading{font-size:1.3rem}.project-card__description{font-size:.95rem}}.projects{animation:fadeIn 1.2s ease-in-out;background-color:#000;border-radius:10px;color:#adadac;font-family:Stockport,serif;margin:40px 20px;overflow:hidden;padding:60px 20px;position:relative;scroll-margin-top:150px;text-align:center}.projects:before{animation:rotateGradient 20s linear infinite;background:radial-gradient(circle,#ffb82508 0,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes rotateGradient{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.projects h2{animation:slideDown .8s ease-out,titlePulse 3s ease-in-out infinite;color:#adadac;font-family:Stockport,serif;font-size:2rem;font-weight:700;margin-bottom:40px;position:relative;text-align:center;z-index:1}.projects h2:after{animation:expandWidth 1s ease-out .5s both,underlineGlow 2s ease-in-out 1.5s infinite;background-color:#adadac;border-radius:2px;content:"";display:block;height:4px;margin:10px auto 0;width:50px}.carousel-container{animation:slideUp 1s ease-out .3s both;margin:0 auto;max-width:1200px;position:relative;z-index:1}.slide-container{border-radius:20px;box-shadow:0 15px 50px #ffb82533;overflow:hidden;position:relative;transition:transform .4s ease,box-shadow .4s ease}.slide-container:hover{box-shadow:0 25px 70px #ffb82566;transform:translateY(-10px)}.slide-image{border-radius:20px;filter:brightness(.7);height:auto;object-fit:cover;transition:transform .6s ease,filter .4s ease;width:100%}.slide-container:hover .slide-image{filter:brightness(.5);transform:scale(1.05)}.text-container{animation:fadeInSlide .6s ease-out .2s forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#000000d9,#1c1c1cf2);border:1px solid #ffb82533;border-radius:15px;color:#fff;left:50%;max-width:600px;opacity:0;padding:30px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:all .4s ease;width:85%;z-index:2}@keyframes fadeInSlide{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.slide-container:hover .text-container{background:linear-gradient(135deg,#000000f2,#1c1c1c);border-color:#ffb82580;box-shadow:0 10px 40px #ffb8254d}.text-container h3{-webkit-text-fill-color:#0000;animation:gradientShift 3s ease-in-out infinite;background:linear-gradient(90deg,#fff,#ffb825,#fff);-webkit-background-clip:text;background-clip:text;background-size:200% auto;font-size:1.8rem;font-weight:700}.text-container h3,.text-container p{font-family:Stockport,serif;margin-bottom:15px}.text-container p{color:#adadac;font-size:1.1rem;font-weight:400;line-height:1.8}.text-container a{background:linear-gradient(135deg,#ffb825,#ff8c25);border-radius:25px;box-shadow:0 5px 15px #ffb8254d;color:#000;display:inline-block;font-family:Stockport,serif;font-weight:700;margin-top:10px;overflow:hidden;padding:10px 25px;position:relative;text-decoration:none;transition:all .3s ease}.text-container a:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.text-container a:hover:before{left:100%}.text-container a:hover{background:linear-gradient(135deg,#ffc435,#ff9c35);box-shadow:0 8px 25px #ffb82580;transform:translateY(-3px)}.arrow{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#000c,#1c1c1ce6);border:2px solid #ffb8254d;border-radius:50%;box-shadow:0 5px 20px #0000004d;color:#ffb825;cursor:pointer;display:flex;font-size:1.5rem;height:60px;justify-content:center;padding:15px 20px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:60px;z-index:3}.arrow:hover{background:linear-gradient(135deg,#ffb825,#ff8c25);border-color:#ffb825;box-shadow:0 8px 30px #ffb82580;color:#000;transform:translateY(-50%) scale(1.1)}.arrow:active{transform:translateY(-50%) scale(.95)}.arrow-prev{left:20px}.arrow-next{right:20px}.difficulty-circle{animation:pulse 2s ease-in-out infinite;background-color:#adadac;border:3px solid #ffffff4d;border-radius:50%;bottom:30px;box-shadow:0 5px 15px #00000080;height:30px;position:absolute;right:30px;transition:transform .3s ease,box-shadow .3s ease;width:30px;z-index:3}@keyframes pulse{0%,to{box-shadow:0 5px 15px #00000080;transform:scale(1)}50%{box-shadow:0 8px 25px #000000b3;transform:scale(1.1)}}.difficulty-circle:hover{box-shadow:0 8px 25px #000c;transform:scale(1.2)}.difficulty-circle.beginner{background-color:#4caf50;box-shadow:0 5px 15px #4caf5080}.difficulty-circle.beginner:hover{box-shadow:0 8px 25px #4caf50cc}.difficulty-circle.intermediate{background-color:#ff9800;box-shadow:0 5px 15px #ff980080}.difficulty-circle.intermediate:hover{box-shadow:0 8px 25px #ff9800cc}.difficulty-circle.advanced{background-color:#f44336;box-shadow:0 5px 15px #f4433680}.difficulty-circle.advanced:hover{box-shadow:0 8px 25px #f44336cc}@media (max-width:768px){.projects{margin:20px 10px;padding:40px 10px}.projects h2{font-size:1.8rem;margin-top:30px}.carousel-container{padding:0 10px;width:100%}.slide-container{border-radius:15px;min-height:400px}.slide-image{filter:brightness(.8);min-height:400px;object-fit:cover}.text-container{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000eb;max-width:100%;padding:15px;width:95%}.text-container h3{font-size:1.4rem;margin-bottom:10px}.text-container p{font-size:.9rem;line-height:1.5;margin-bottom:12px}.text-container a{display:inline-block;font-size:.95rem;margin-top:8px;padding:10px 20px}.arrow{background:#000000d9;border:2px solid #ffb82580;font-size:1.5rem;height:50px;padding:12px;width:50px}.arrow-prev{left:5px}.arrow-next{right:5px}.difficulty-circle{border-width:2px;bottom:10px;height:28px;right:10px;width:28px}}@media (max-width:480px){.slide-container,.slide-image{min-height:350px}.slide-image{filter:brightness(.85)}.text-container{padding:12px;width:98%}.text-container h3{font-size:1.2rem;margin-bottom:8px}.text-container p{font-size:.85rem;line-height:1.4}.text-container a{font-size:.85rem;padding:8px 16px}.arrow{font-size:1.2rem;height:40px;width:40px}.difficulty-circle{height:24px;width:24px}}.skills{background-color:#000;color:#adadac;padding:40px;position:relative;scroll-margin-top:150px}.skills,.skills h2{font-family:Stockport,serif}.skills h2{font-size:2rem;font-weight:700;margin-bottom:20px;text-align:center}.skills h2:after{background-color:#adadac;border-radius:2px;content:"";display:block;height:4px;margin:10px auto 0;width:50px}.skills-content{font-family:Stockport,serif}.circle,.skills-content{align-items:center;display:flex;height:400px;justify-content:center;position:relative}.circle{border-radius:50%;margin-top:50px;width:400px}.skill-container{position:absolute;text-align:center;transition:transform .3s ease}.skill-inner{flex-direction:column}.circle-bg,.skill-inner{align-items:center;display:flex}.circle-bg{border:3px solid #adadac;border-radius:50%;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.circle-fill{background-color:#ffb825cc;bottom:0;height:0;position:absolute;transition:height .3s ease,background-color .3s ease;width:100%;z-index:2}.skill-icon{color:#fff;font-size:2rem;position:relative;transition:opacity .3s ease;z-index:1}.skill-percent{bottom:50%;color:#fff;font-size:1.5rem;font-weight:700;transform:translate(-50%,50%);z-index:3}.skill-description,.skill-percent{left:50%;opacity:0;position:absolute;transition:opacity .3s ease}.skill-description{background-color:#363535;border-radius:5px;color:#adadac;font-family:Stockport,serif;font-size:1.2rem;font-weight:600;margin-top:10px;padding:5px 10px;pointer-events:none;top:100%;transform:translateX(-50%);white-space:nowrap}.skill-container:hover .circle-fill{background-color:#ffb825;height:var(--skill-level)}.skill-container:hover .skill-description,.skill-container:hover .skill-percent{opacity:1}.skill-container:hover .skill-icon{opacity:0}@media (max-width:768px){.skills{margin-bottom:40px;padding:20px}.skills h2{font-size:1.8rem;margin-bottom:40px}.skills-content{height:420px;padding:20px 0}.circle{height:300px;margin-top:10px;width:300px}.skill-container{transform:rotate(0deg) translate(2.5em) rotate(0deg)}.circle-bg{height:50px;width:50px}.skill-icon{font-size:1.2rem}.skill-description{font-size:.85rem;left:50%;margin-top:8px;padding:4px 8px;top:100%;transform:translateX(-50%)}.skill-percent{font-size:.8rem;font-weight:700}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.bd2b68c2.css.map*/