@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Fira+Code:wght@400;500&display=swap);:root{--bg:#0e0c09;--bg-surface:#171410;--bg-card:#1e1a15;--accent:#e8a020;--accent-hover:#f5b840;--accent-dim:rgba(232,160,32,.12);--accent-blue:#c96b3a;--text-primary:#f0ebe3;--text-secondary:#9e9088;--border:rgba(60,50,35,.75);--glow:0 0 28px rgba(232,160,32,.2);--font-sans:"Inter",sans-serif;--font-mono:"Fira Code",monospace;--radius:12px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#0e0c09;background-color:var(--bg);color:#f0ebe3;color:var(--text-primary);font-family:Inter,sans-serif;font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#0e0c09;background:var(--bg)}::-webkit-scrollbar-thumb{background:#e8a020;background:var(--accent);border-radius:3px}.navbar{align-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(14,12,9,.85);border-bottom:1px solid rgba(60,50,35,.75);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;left:0;padding:18px 8vw;position:fixed;right:0;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);z-index:100}.navbar-logo{color:#e8a020;color:var(--accent);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:1rem;letter-spacing:.05em;text-decoration:none}.navbar-logo span{color:#9e9088;color:var(--text-secondary)}.navbar-links{display:flex;gap:4px;list-style:none}.navbar-links li button{background:none;border:none;border-radius:8px;color:#9e9088;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-family:var(--font-sans);font-size:.88rem;font-weight:500;letter-spacing:.02em;padding:8px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.navbar-links li button.nav-active,.navbar-links li button:hover{background:rgba(232,160,32,.07);color:#e8a020;color:var(--accent)}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;justify-content:center;padding:4px;z-index:101}.hamburger span{background:#f0ebe3;background:var(--text-primary);border-radius:2px;display:block;height:2px;-webkit-transform-origin:center;transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:24px}.hamburger.open span:first-child{-webkit-transform:translateY(7px) rotate(45deg);transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){-webkit-transform:translateY(-7px) rotate(-45deg);transform:translateY(-7px) rotate(-45deg)}.mobile-menu{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(14,12,9,.97);border-bottom:1px solid rgba(60,50,35,.75);border-bottom:1px solid var(--border);display:none;flex-direction:column;left:0;padding:12px 0;position:fixed;right:0;top:61px;z-index:99}.mobile-menu.open{display:flex}.mobile-menu button{background:none;border:none;color:#9e9088;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-family:var(--font-sans);font-size:1rem;font-weight:500;letter-spacing:.02em;padding:14px 32px;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.mobile-menu button.nav-active,.mobile-menu button:hover{background:rgba(232,160,32,.12);background:var(--accent-dim);color:#e8a020;color:var(--accent)}@media (max-width:640px){.hamburger{display:flex}.navbar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0e0c09;background:var(--bg)}}.hero{background-position:top;background-size:cover;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:0 10vw;position:relative}.hero-glow-1{background:radial-gradient(circle,rgba(201,107,58,.12) 0,transparent 65%);height:600px;right:-100px;top:-200px;width:600px}.hero-glow-1,.hero-glow-2{pointer-events:none;position:absolute}.hero-glow-2{background:radial-gradient(circle,rgba(232,160,32,.08) 0,transparent 65%);bottom:-150px;height:500px;left:-100px;width:500px}.hero-click-hint{-webkit-animation:fadeIn 1s ease 2.5s forwards;animation:fadeIn 1s ease 2.5s forwards;bottom:100px;color:#9e9088;color:var(--text-secondary);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.7rem;left:50%;letter-spacing:.15em;opacity:0;pointer-events:none;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.hero-photo-overlay{background:linear-gradient(90deg,rgba(14,12,9,.92) 50%,rgba(14,12,9,.6))}.hero-grid-bg,.hero-photo-overlay{inset:0;pointer-events:none;position:absolute}.hero-grid-bg{background-image:linear-gradient(rgba(48,54,61,.15) 1px,transparent 0),linear-gradient(90deg,rgba(48,54,61,.15) 1px,transparent 0);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 80%);mask-image:radial-gradient(ellipse at center,#000 20%,transparent 80%)}.hero-eyebrow{-webkit-animation:fadeUp .6s ease .2s forwards;animation:fadeUp .6s ease .2s forwards;color:#e8a020;color:var(--accent);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.9rem;letter-spacing:.1em}.hero-eyebrow,.hero-name{margin-bottom:20px;opacity:0}.hero-name{-webkit-animation:fadeUp .6s ease .4s forwards;animation:fadeUp .6s ease .4s forwards;font-size:clamp(3.5rem,9vw,7.5rem);font-weight:700;letter-spacing:-.03em;line-height:1}.hero-name-accent{color:#e8a020;color:var(--accent);display:inline-block;position:relative}.hero-name-accent:after{background:linear-gradient(90deg,#e8a020,#c96b3a);background:linear-gradient(90deg,var(--accent),var(--accent-blue));border-radius:2px;bottom:4px;content:"";height:3px;left:0;opacity:.6;position:absolute;width:100%}.hero-role{align-items:center;-webkit-animation:fadeUp .6s ease .6s forwards;animation:fadeUp .6s ease .6s forwards;display:flex;font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:300;gap:8px;height:2.2rem;margin-bottom:40px;opacity:0}.hero-role,.hero-role-prefix{color:#9e9088;color:var(--text-secondary)}.typewriter-text{color:#c96b3a;color:var(--accent-blue);font-weight:500}.typewriter-cursor{-webkit-animation:blink 1s step-end infinite;animation:blink 1s step-end infinite;background:#c96b3a;background:var(--accent-blue);border-radius:1px;display:inline-block;height:1.2em;vertical-align:middle;width:2px}.hero-cta{-webkit-animation:fadeUp .6s ease .8s forwards;animation:fadeUp .6s ease .8s forwards;display:flex;flex-wrap:wrap;gap:16px;opacity:0}.btn-primary{align-items:center;background:#e8a020;background:var(--accent);border:none;border-radius:12px;border-radius:var(--radius);color:#0d1117;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-family:var(--font-sans);font-size:.9rem;font-weight:600;gap:8px;letter-spacing:.03em;padding:12px 28px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-primary:hover{background:#f5b840;background:var(--accent-hover);box-shadow:0 0 28px rgba(232,160,32,.2);box-shadow:var(--glow);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-secondary{align-items:center;background:transparent;border:1px solid rgba(60,50,35,.75);border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);color:#f0ebe3;color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-family:var(--font-sans);font-size:.9rem;font-weight:500;gap:8px;letter-spacing:.03em;padding:12px 28px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-secondary:hover{border-color:#e8a020;border-color:var(--accent);color:#e8a020;color:var(--accent);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.scroll-hint{align-items:center;-webkit-animation:fadeIn 1s ease 1.4s forwards;animation:fadeIn 1s ease 1.4s forwards;bottom:40px;display:flex;flex-direction:column;gap:8px;left:50%;opacity:0;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.scroll-hint span{color:#9e9088;color:var(--text-secondary);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.scroll-mouse{border:1.5px solid hsla(212,9%,58%,.4);border-radius:11px;height:36px;position:relative;width:22px}.scroll-mouse:after{-webkit-animation:scrollDot 2s ease infinite;animation:scrollDot 2s ease infinite;background:#e8a020;background:var(--accent);border-radius:2px;content:"";height:6px;left:50%;position:absolute;top:5px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:3px}.section{padding:110px 10vw}.section-header{align-items:center;display:flex;gap:16px;margin-bottom:64px}.section-num{color:#e8a020;color:var(--accent);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.85rem;-webkit-user-select:none;user-select:none}.section-title{color:#f0ebe3;color:var(--text-primary);font-size:1.8rem;font-weight:600;letter-spacing:-.02em}.section-line{background:linear-gradient(90deg,rgba(60,50,35,.75),transparent);background:linear-gradient(to right,var(--border),transparent);flex:1 1;height:1px;max-width:260px}.about-grid{grid-gap:80px;align-items:start;display:grid;gap:80px;grid-template-columns:3fr 2fr}.about-text p{color:#9e9088;color:var(--text-secondary);font-size:1rem;line-height:1.85;margin-bottom:18px}.about-text p:last-child{margin-bottom:0}.about-highlight{color:#e8a020!important;color:var(--accent)!important;font-weight:500}.bootcamp-badge{align-items:center;background:#171410;background:var(--bg-surface);border:1px solid rgba(60,50,35,.75);border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;gap:12px;margin-top:28px;padding:20px 24px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.bootcamp-badge img{height:150px;object-fit:contain;width:150px}.bootcamp-label{color:#9e9088;color:var(--text-secondary);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;text-align:center}.skills-panel{background:#171410;background:var(--bg-surface);border:1px solid rgba(60,50,35,.75);border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;gap:24px;padding:28px}.skill-group-label{color:#c96b3a;color:var(--accent-blue);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;margin-bottom:10px;text-transform:uppercase}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{background:#1e1a15;background:var(--bg-card);border:1px solid rgba(60,50,35,.75);border:1px solid var(--border);border-radius:20px;color:#9e9088;color:var(--text-secondary);cursor:default;font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.75rem;padding:4px 12px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);-webkit-user-select:none;user-select:none}.skill-tag:hover{background:rgba(232,160,32,.07);border-color:#e8a020;border-color:var(--accent);color:#e8a020;color:var(--accent);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.services-section{background:rgba(22,27,34,.5)}.services-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.service-card{background:#1e1a15;background:var(--bg-card);border:1px solid rgba(60,50,35,.75);border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);padding:28px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.service-card:hover{border-color:rgba(232,160,32,.35);box-shadow:0 16px 32px rgba(0,0,0,.4);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.service-icon{display:block;font-size:2rem;margin-bottom:16px}.service-title{color:#f0ebe3;color:var(--text-primary);font-size:1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:10px}.service-desc{color:#9e9088;color:var(--text-secondary);font-size:.875rem;line-height:1.7}.projects-section{background:rgba(30,26,21,.5)}.section-sub{color:#9e9088;color:var(--text-secondary);font-size:.9rem;margin-bottom:48px;margin-top:-40px;max-width:560px}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.project-card{background:#1e1a15;background:var(--bg-card);border:1px solid rgba(60,50,35,.75);border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.project-card:hover{border-color:rgba(232,160,32,.4);box-shadow:0 24px 48px rgba(0,0,0,.5),0 0 28px rgba(232,160,32,.2);box-shadow:0 24px 48px rgba(0,0,0,.5),var(--glow);-webkit-transform:translateY(-6px);transform:translateY(-6px)}.project-image-wrap{height:320px;overflow:hidden;position:relative;width:100%}.project-image-wrap img{-webkit-filter:brightness(.75) saturate(.9);filter:brightness(.75) saturate(.9);height:100%;object-fit:cover;object-position:top;transition:-webkit-transform .5s ease,-webkit-filter .3s ease;transition:transform .5s ease,filter .3s ease;transition:transform .5s ease,filter .3s ease,-webkit-transform .5s ease,-webkit-filter .3s ease;width:100%}.project-card:hover .project-image-wrap img{-webkit-filter:brightness(.9) saturate(1.1);filter:brightness(.9) saturate(1.1)}.project-image-overlay{background:linear-gradient(180deg,transparent 40%,#1e1a15);background:linear-gradient(to bottom,transparent 40%,var(--bg-card) 100%);inset:0;position:absolute}.project-mobile-badge{border:2px solid #e8a020;border:2px solid var(--accent);border-radius:6px;bottom:12px;box-shadow:0 4px 16px rgba(0,0,0,.7);overflow:hidden;position:absolute;right:12px;-webkit-transform-origin:bottom right;transform-origin:bottom right;transition:all .35s cubic-bezier(.4,0,.2,1);width:62px;z-index:4}.project-mobile-badge:hover{box-shadow:0 8px 32px rgba(0,0,0,.8),0 0 28px rgba(232,160,32,.2);box-shadow:0 8px 32px rgba(0,0,0,.8),var(--glow);width:120px}.project-mobile-badge img{display:block;-webkit-filter:none;filter:none;width:100%}.project-link-muted{color:#9e9088;color:var(--text-secondary);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.75rem;font-style:italic;opacity:.5}.project-body{display:flex;flex:1 1;flex-direction:column;padding:24px}.project-type{color:#e8a020;color:var(--accent);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;margin-bottom:8px;text-transform:uppercase}.project-name{color:#f0ebe3;color:var(--text-primary);font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin-bottom:10px}.project-desc{color:#9e9088;color:var(--text-secondary);flex:1 1;font-size:.875rem;line-height:1.65;margin-bottom:20px}.project-footer{border-top:1px solid rgba(60,50,35,.75);border-top:1px solid var(--border);display:flex;gap:16px;padding-top:16px}.project-link{align-items:center;color:#9e9088;color:var(--text-secondary);display:flex;font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.75rem;gap:5px;letter-spacing:.02em;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.project-link:hover{color:#e8a020;color:var(--accent)}.project-link-icon{font-size:.9rem}.contact-grid{grid-gap:80px;align-items:start;display:grid;gap:80px;grid-template-columns:1fr 1fr}.contact-info-title{color:#f0ebe3;color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:14px}.contact-info-text{color:#9e9088;color:var(--text-secondary);font-size:.95rem;line-height:1.8;margin-bottom:36px}.contact-links-list{display:flex;flex-direction:column;gap:4px}.contact-link-row{align-items:center;border-bottom:1px solid rgba(60,50,35,.75);border-bottom:1px solid var(--border);display:flex;gap:16px;padding:12px 0;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-link-row:last-child{border-bottom:none}.contact-link-row:hover .contact-link-value{color:#e8a020;color:var(--accent)}.contact-link-label{color:#c96b3a;color:var(--accent-blue);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;min-width:72px;text-transform:uppercase}.contact-link-value{color:#9e9088;color:var(--text-secondary);font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-form{gap:18px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-label{color:#e8a020;color:var(--accent);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.form-group input,.form-group textarea{background:#171410;background:var(--bg-surface);border:1px solid rgba(60,50,35,.75);border:1px solid var(--border);border-radius:8px;color:#f0ebe3;color:var(--text-primary);font-family:Inter,sans-serif;font-family:var(--font-sans);font-size:.9rem;padding:12px 16px;resize:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.form-group input:focus,.form-group textarea:focus{background:#1e1a15;background:var(--bg-card);border-color:#e8a020;border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,160,32,.08);outline:none}.form-group input::-webkit-input-placeholder,.form-group textarea::-webkit-input-placeholder{color:#9e9088;color:var(--text-secondary);opacity:.45}.form-group input::placeholder,.form-group textarea::placeholder{color:#9e9088;color:var(--text-secondary);opacity:.45}.form-submit{align-self:flex-start;background:#e8a020;background:var(--accent);border:none;border-radius:12px;border-radius:var(--radius);color:#0d1117;cursor:pointer;font-family:Inter,sans-serif;font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:.03em;padding:12px 28px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.form-submit:hover{background:#f5b840;background:var(--accent-hover);box-shadow:0 0 28px rgba(232,160,32,.2);box-shadow:var(--glow);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.form-submitted{background:#171410;background:var(--bg-surface);border:1px solid rgba(232,160,32,.3);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;padding:32px}.form-submitted h3{color:#e8a020;color:var(--accent);font-size:1.3rem;font-weight:600}.form-submitted p{color:#9e9088;color:var(--text-secondary);font-size:.9rem}.footer{align-items:center;border-top:1px solid rgba(60,50,35,.75);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:32px 10vw}.footer-copy{color:#9e9088;color:var(--text-secondary);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.78rem}.footer-copy span{color:#e8a020;color:var(--accent)}.footer-links{display:flex;gap:24px;list-style:none}.footer-links a{color:#9e9088;color:var(--text-secondary);font-size:.85rem;letter-spacing:.02em;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.footer-links a:hover{color:#e8a020;color:var(--accent)}.hero-text-group{display:flex;flex-direction:column;gap:0}.hero-text-group.glitch{-webkit-animation:glitch .45s linear;animation:glitch .45s linear}@-webkit-keyframes glitch{0%{-webkit-filter:none;filter:none;-webkit-transform:translate(0);transform:translate(0)}10%{-webkit-filter:drop-shadow(4px 0 #ff0040) drop-shadow(-4px 0 #e8a020) brightness(1.3);filter:drop-shadow(4px 0 #ff0040) drop-shadow(-4px 0 #e8a020) brightness(1.3);-webkit-filter:drop-shadow(4px 0 #ff0040) drop-shadow(-4px 0 var(--accent)) brightness(1.3);filter:drop-shadow(4px 0 #ff0040) drop-shadow(-4px 0 var(--accent)) brightness(1.3);-webkit-transform:translate(-5px);transform:translate(-5px)}20%{-webkit-filter:drop-shadow(-4px 0 #ff0040) drop-shadow(4px 0 #e8a020);filter:drop-shadow(-4px 0 #ff0040) drop-shadow(4px 0 #e8a020);-webkit-filter:drop-shadow(-4px 0 #ff0040) drop-shadow(4px 0 var(--accent));filter:drop-shadow(-4px 0 #ff0040) drop-shadow(4px 0 var(--accent));-webkit-transform:translate(5px);transform:translate(5px)}35%{-webkit-filter:drop-shadow(6px 0 #c96b3a) drop-shadow(-6px 0 #ff0040) brightness(1.4);filter:drop-shadow(6px 0 #c96b3a) drop-shadow(-6px 0 #ff0040) brightness(1.4);-webkit-filter:drop-shadow(6px 0 var(--accent-blue)) drop-shadow(-6px 0 #ff0040) brightness(1.4);filter:drop-shadow(6px 0 var(--accent-blue)) drop-shadow(-6px 0 #ff0040) brightness(1.4);-webkit-transform:translate(-4px);transform:translate(-4px)}50%{-webkit-filter:none;filter:none;-webkit-transform:translate(4px);transform:translate(4px)}65%{-webkit-filter:drop-shadow(3px 0 #e8a020) drop-shadow(-3px 0 #c96b3a);filter:drop-shadow(3px 0 #e8a020) drop-shadow(-3px 0 #c96b3a);-webkit-filter:drop-shadow(3px 0 var(--accent)) drop-shadow(-3px 0 var(--accent-blue));filter:drop-shadow(3px 0 var(--accent)) drop-shadow(-3px 0 var(--accent-blue));-webkit-transform:translate(-3px);transform:translate(-3px)}80%{-webkit-filter:drop-shadow(-2px 0 #ff0040) brightness(1.2);filter:drop-shadow(-2px 0 #ff0040) brightness(1.2);-webkit-transform:translate(2px);transform:translate(2px)}to{-webkit-filter:none;filter:none;-webkit-transform:translate(0);transform:translate(0)}}@keyframes glitch{0%{-webkit-filter:none;filter:none;-webkit-transform:translate(0);transform:translate(0)}10%{-webkit-filter:drop-shadow(4px 0 #ff0040) drop-shadow(-4px 0 #e8a020) brightness(1.3);filter:drop-shadow(4px 0 #ff0040) drop-shadow(-4px 0 #e8a020) brightness(1.3);-webkit-filter:drop-shadow(4px 0 #ff0040) drop-shadow(-4px 0 var(--accent)) brightness(1.3);filter:drop-shadow(4px 0 #ff0040) drop-shadow(-4px 0 var(--accent)) brightness(1.3);-webkit-transform:translate(-5px);transform:translate(-5px)}20%{-webkit-filter:drop-shadow(-4px 0 #ff0040) drop-shadow(4px 0 #e8a020);filter:drop-shadow(-4px 0 #ff0040) drop-shadow(4px 0 #e8a020);-webkit-filter:drop-shadow(-4px 0 #ff0040) drop-shadow(4px 0 var(--accent));filter:drop-shadow(-4px 0 #ff0040) drop-shadow(4px 0 var(--accent));-webkit-transform:translate(5px);transform:translate(5px)}35%{-webkit-filter:drop-shadow(6px 0 #c96b3a) drop-shadow(-6px 0 #ff0040) brightness(1.4);filter:drop-shadow(6px 0 #c96b3a) drop-shadow(-6px 0 #ff0040) brightness(1.4);-webkit-filter:drop-shadow(6px 0 var(--accent-blue)) drop-shadow(-6px 0 #ff0040) brightness(1.4);filter:drop-shadow(6px 0 var(--accent-blue)) drop-shadow(-6px 0 #ff0040) brightness(1.4);-webkit-transform:translate(-4px);transform:translate(-4px)}50%{-webkit-filter:none;filter:none;-webkit-transform:translate(4px);transform:translate(4px)}65%{-webkit-filter:drop-shadow(3px 0 #e8a020) drop-shadow(-3px 0 #c96b3a);filter:drop-shadow(3px 0 #e8a020) drop-shadow(-3px 0 #c96b3a);-webkit-filter:drop-shadow(3px 0 var(--accent)) drop-shadow(-3px 0 var(--accent-blue));filter:drop-shadow(3px 0 var(--accent)) drop-shadow(-3px 0 var(--accent-blue));-webkit-transform:translate(-3px);transform:translate(-3px)}80%{-webkit-filter:drop-shadow(-2px 0 #ff0040) brightness(1.2);filter:drop-shadow(-2px 0 #ff0040) brightness(1.2);-webkit-transform:translate(2px);transform:translate(2px)}to{-webkit-filter:none;filter:none;-webkit-transform:translate(0);transform:translate(0)}}.reveal{opacity:0;-webkit-transform:translateY(36px);transform:translateY(36px);transition:opacity .7s cubic-bezier(.4,0,.2,1),-webkit-transform .7s cubic-bezier(.4,0,.2,1);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1),-webkit-transform .7s cubic-bezier(.4,0,.2,1)}.reveal.visible{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(28px);transform:translateY(28px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(28px);transform:translateY(28px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes scrollDot{0%{opacity:1;top:5px}80%{opacity:0;top:20px}to{opacity:0;top:5px}}@keyframes scrollDot{0%{opacity:1;top:5px}80%{opacity:0;top:20px}to{opacity:0;top:5px}}@media (max-width:900px){.about-grid,.contact-grid{gap:48px;grid-template-columns:1fr}}@media (max-width:640px){.section{padding:80px 6vw}.navbar{padding:16px 6vw}.hero{background-position:55% top;margin-top:58px;min-height:calc(100vh - 58px);padding:0 6vw}.navbar-links{display:none}.projects-grid{grid-template-columns:1fr}.footer{flex-direction:column;text-align:center}.hero-name{letter-spacing:-.02em}.services-section{padding-bottom:60px;padding-top:60px}.services-grid{gap:10px}.service-card{padding:16px 18px}.service-icon{font-size:1.3rem;margin-bottom:8px}.service-title{font-size:.9rem;margin-bottom:6px}.service-desc{font-size:.82rem;line-height:1.5}}
/*# sourceMappingURL=main.f3d79744.css.map*/