:root{--bg:#0a0a0a;--page-bg:#030303;--card:#111;--card-alt:#161616;--text:#dadada;--muted:#a3a3a3;--muted-bg:#141414;--accent:#ffc04c;--border:#1f1f1f;--input-bg:#282828;--radius-sm:0.3rem;--radius-md:0.5rem;--radius-lg:0.75rem;--frame-margin:40px}*{box-sizing:border-box}html{background:#030303;background:var(--page-bg);scroll-behavior:smooth}.page-frame{border-left:1px solid #ffffff26;border-right:1px solid #ffffff26;margin:0 40px;margin:0 var(--frame-margin);min-height:100vh}.page-frame,body{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;background:#030303;background:var(--page-bg);color:#dadada;color:var(--text);font-family:Geist,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;margin:0}a{color:inherit;text-decoration:none}.container{margin:0 auto;max-width:1120px;padding:0 1.5rem}.section{background:#0a0a0a;background:var(--bg);border-bottom:1px solid #1f1f1f;border-bottom:1px solid var(--border);padding:80px 0}.section.projects,.section.skills{background:#030303;background:var(--page-bg)}.nav{height:63px;left:41px;left:calc(var(--frame-margin) + 1px);position:fixed;right:41px;right:calc(var(--frame-margin) + 1px);top:0;z-index:1000}.nav .menu{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0a0a0ad9;border-bottom:1px solid #1f1f1f;border-bottom:1px solid var(--border);gap:8px;height:63px;justify-content:space-between;padding:0 40px;width:100%}.nav .links,.nav .menu{align-items:center;display:flex}.nav .links{gap:2px;margin-left:auto}.nav a,.nav button{align-items:center;background:#0000;border:none;border-radius:.5rem;border-radius:var(--radius-md);color:#a3a3a3;color:var(--muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:0;padding:6px 12px;transition:color .12s ease,background .12s ease}.nav-backdrop,.nav-icon{display:none}.nav a:hover,.nav button:hover{background:#ffffff0d;color:#dadada;color:var(--text)}.nav .brand{animation:gradient-shift 8s ease infinite;border:none;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-.3px;padding:0}.nav .brand,.nav .brand:hover{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#ffc04c,#ff8a3c,#ff5f8f,#a855f7,#4cb8ff,#ffc04c);-webkit-background-clip:text;background-clip:text;background-size:300% 100%;color:#0000}@media (prefers-reduced-motion:reduce){.nav .brand{animation:none}}.nav .hamburger{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:1.4rem;justify-content:space-around;padding:0;width:1.6rem;z-index:10}.hamburger:focus{outline:none}.hamburger-line{background:#a3a3a3;background:var(--muted);border-radius:2px;height:2px;width:100%}.hero{align-items:center;background:#030303;background:var(--page-bg);border-bottom:1px solid #1f1f1f;border-bottom:1px solid var(--border);display:flex;flex-direction:column;margin-top:63px;min-height:calc(100vh - 63px);padding:40px 0 28px}.hero .container{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;padding:24px 1.5rem;width:100%}.hero .container h1{color:#dadada;color:var(--text);font-size:84px;font-weight:800;letter-spacing:-2.5px;line-height:1.03;margin:0 0 20px;max-width:760px}.hero .container h1 em{color:#ffc04c;color:var(--accent);font-style:normal}.hero .container h1 .caret{color:#ffc04c;color:var(--accent);font-weight:400;margin-left:2px}.hero .container h1 .caret.blink{animation:caret-blink 1s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.hero p{color:#a3a3a3;color:var(--muted);font-size:50px;font-weight:600;line-height:1.65;margin:0 0 28px;max-width:580px}.hl{color:#ffc04c;color:var(--accent);font-weight:700}.hero .cta{display:flex;flex-wrap:wrap;gap:10px}.container h1,.container h2{color:#fff;font-size:40px;font-weight:800;letter-spacing:-1px;margin:0 0 8px}.section>.container>p{color:#a3a3a3;color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 4px}.btn{background:#ffc04c;background:var(--accent);border:none;color:#000;cursor:pointer;display:inline-block;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:-.1px;padding:9px 18px;transition:opacity .12s ease,box-shadow .12s ease}.btn:hover{box-shadow:0 0 0 3px #ffc04c33;opacity:.88}.btn.secondary{background:#ffffff0a;border:1px solid #ffffff1f;box-shadow:none;color:#dadada;color:var(--text)}.btn.secondary:hover{background:#ffffff14;border-color:#fff3;box-shadow:none;opacity:1}.grid{grid-gap:1px;display:grid;gap:1px;margin-top:28px}.languages{display:flex;flex-wrap:wrap;gap:14px;margin-top:48px}.lang-card{background:#111;background:var(--card);border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:.75rem;border-radius:var(--radius-lg);height:120px;padding:24px 16px;text-align:center;transition:border-color .15s ease,background .15s ease;width:120px}.lang-card:hover{background:#161616;background:var(--card-alt);border-color:#ffc04c59}.lang-card img{height:36px;margin-bottom:10px;width:36px}.lang-card span{color:#a3a3a3;color:var(--muted);display:block;font-size:13px;font-weight:500}.social-row{align-items:center;display:flex;gap:36px;margin-top:40px}.social-link{align-items:center;color:#a3a3a3;color:var(--muted);display:inline-flex;font-size:23px;justify-content:center;line-height:1;transition:color .15s ease,transform .15s ease}.social-link:hover{color:#ffc04c;color:var(--accent);transform:translateY(-2px)}.tech-marquee{-webkit-mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);overflow:hidden;padding:28px 0;width:100%}.tech-track{align-items:center;display:flex;gap:52px;width:-webkit-max-content;width:max-content;will-change:transform}.tech-icon{color:#a3a3a3;color:var(--muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:40px;padding:6px;transition:transform .25s ease,color .25s ease,filter .25s ease}.tech-icon svg{display:block;pointer-events:none}.tech-icon:hover{color:#ffc04c;color:var(--accent);filter:drop-shadow(0 0 10px rgba(255,192,76,.65));transform:scale(1.55)}.card{background:#111;background:var(--card);border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:.75rem;border-radius:var(--radius-lg);display:flex;flex-direction:column;padding:20px;transition:border-color .15s ease}.card:hover{border-color:#ffffff1a}.projects .grid{grid-gap:1px;background:#ffffff26;border:1px solid #ffffff26;display:grid;gap:1px;grid-template-columns:repeat(2,1fr);margin-top:28px;overflow:hidden}.projects .card{align-items:stretch;background:#111;background:var(--card);border:none;border-radius:0;flex-direction:column;gap:0;overflow:hidden;padding:0 0 18px;position:relative;transition:background .15s ease}.projects .card:hover{background:#161616;background:var(--card-alt)}.projects .card:after{background:linear-gradient(90deg,#ffc04c,#ff8a3c,#ff5f8f,#a855f7,#4cb8ff,#ffc04c) border-box;background-size:300% 100%;border:4px solid #0000;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease;z-index:2}.projects .card:hover:after{animation:gradient-shift 8s ease infinite;opacity:1}@media (prefers-reduced-motion:reduce){.projects .card:hover:after{animation:none}}.project-media{border-bottom:1px solid #ffffff26;height:300px;overflow:hidden;width:100%}.project-img{border:none;border-radius:0;display:block;height:100%;object-fit:cover;object-position:top left;transition:transform .4s ease;width:100%}.projects .card:hover .project-img{transform:scale(1.08)}.projects .card-body{flex:1 1;min-width:0;padding:25px 25px 10px}.projects h3{color:#dadada;color:var(--text);font-size:17px;font-weight:600;letter-spacing:-.2px;margin:0 0 4px;transition:color .15s ease}.projects .card:hover h3{color:#ffc04c;color:var(--accent)}.card p{font-size:13px;line-height:1.55;margin:0}.card p,.tag{color:#a3a3a3;color:var(--muted)}.tag{background:#ffffff0d;border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:.3rem;border-radius:var(--radius-sm);display:inline-block;font-size:11px;font-weight:500;letter-spacing:.01em;margin:34px 4px 0 0;padding:2px 8px;transition:background .15s ease,border-color .15s ease,color .15s ease}.projects .tag:hover{background:#ffffff1f;border-color:#ffffff40;color:#dadada;color:var(--text)}.projects .links{display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-top:10px}.projects .links a{background:#ffc04c0f;border:1px solid #ffc04c40;border-radius:.3rem;border-radius:var(--radius-sm);color:#ffc04c;color:var(--accent);font-size:12px;font-weight:500;padding:3px 8px;transition:background .12s ease,border-color .12s ease}.projects .links a:hover{background:#ffc04c1f;border-color:#ffc04c80}.exp-list{display:flex;flex-direction:column;gap:0;margin-top:28px}.exp-card{align-items:flex-start;background:#111;background:var(--card);border:1px solid #ffffff26;border-radius:0;display:flex;flex-direction:row;gap:32px;justify-content:space-between;overflow:hidden;padding:34px 38px;position:relative;transition:background .15s ease}.exp-card:not(:first-child){margin-top:-1px}.exp-card:hover{background:#161616;background:var(--card-alt)}.exp-card:after{background:linear-gradient(90deg,#ffc04c,#ff8a3c,#ff5f8f,#a855f7,#4cb8ff,#ffc04c) border-box;background-size:300% 100%;border:4px solid #0000;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease;z-index:2}.exp-card:hover:after{animation:gradient-shift 8s ease infinite;opacity:1}.exp-main{display:flex;flex-direction:column;gap:7px;min-width:0}.exp-role{color:#dadada;color:var(--text);font-size:19px;font-weight:600;letter-spacing:-.2px;margin:0}.exp-org{color:#ffc04c;color:var(--accent);font-size:17px;font-weight:500}.exp-meta{align-items:flex-end;color:#a3a3a3;color:var(--muted);display:flex;flex-direction:column;flex-shrink:0;font-size:13px;gap:7px;text-align:right}.exp-meta span{align-items:center;display:inline-flex;gap:7px;white-space:nowrap}.exp-meta svg{flex-shrink:0;height:16px;width:16px}.exp-card .exp-desc{color:#a3a3a3;color:var(--muted);font-size:15px;font-weight:500;line-height:1.65;margin:12px 0 0}@media (prefers-reduced-motion:reduce){.exp-card:hover:after{animation:none}}@media (max-width:768px){.exp-card{flex-direction:column;gap:12px}.exp-meta{align-items:center;flex-direction:row;flex-wrap:wrap;gap:6px 16px;text-align:left}}.skills .grid{background:none;border:none;border-radius:0;gap:0}.skills .card{border-radius:.75rem;border-radius:var(--radius-lg)}.skills .list{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}.skills .tag{border-radius:.5rem;border-radius:var(--radius-md);font-size:13px;padding:5px 12px}.contact-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr;margin-top:32px}.contact-info{align-items:flex-start;display:flex;flex-direction:column;gap:24px}.contact-lead{color:#a3a3a3;color:var(--muted);font-size:15px;line-height:1.7;margin:0;max-width:360px}.contact-email{align-items:center;color:#dadada;color:var(--text);display:inline-flex;font-size:15px;font-weight:500;gap:10px;transition:color .15s ease}.contact-email svg{flex-shrink:0;height:18px;width:18px}.contact-email svg,.contact-email:hover{color:#ffc04c;color:var(--accent)}.contact-info .social-row{margin-top:0}.contact form{grid-gap:12px;display:grid;gap:12px;margin:0}.contact input,.contact textarea{background:#0a0a0a;background:var(--bg);border:1px solid #ffffff40;border-radius:0;color:#dadada;color:var(--text);font-family:inherit;font-size:14px;padding:12px 14px;transition:border-color .12s ease,box-shadow .12s ease}.contact textarea{resize:vertical}.contact input::placeholder,.contact textarea::placeholder{color:#a3a3a380}.contact input:focus,.contact textarea:focus{border-color:#ffc04c80;box-shadow:0 0 0 3px #ffc04c14;outline:none}.contact .row{display:flex;flex-wrap:wrap;gap:12px}.contact .row>*{flex:1 1 220px}.contact .btn{border-radius:0}.contact .gradient-btn{animation:gradient-shift 8s ease infinite;background:linear-gradient(90deg,#ffc04c,#ff8a3c,#ff5f8f,#a855f7,#4cb8ff,#ffc04c);background-size:300% 100%;color:#000}.contact .gradient-btn:hover{box-shadow:0 0 0 3px #ffc04c33;opacity:1}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.contact .gradient-btn{animation:none}}.contact small{color:#a3a3a3;color:var(--muted);font-size:12px}@media (min-width:768px){.contact-grid{align-items:start;gap:56px;grid-template-columns:.85fr 1.15fr}}footer{background:#030303;background:var(--page-bg);border-top:1px solid #1f1f1f;border-top:1px solid var(--border);color:#a3a3a3;color:var(--muted);font-size:13px;padding:40px 0;text-align:center}@media (max-width:1024px){:root{--frame-margin:24px}}@media (max-width:768px){:root{--frame-margin:10px}.section{padding:48px 0}.nav .menu{padding:0 16px}.nav .brand{font-size:14px}.nav a,.nav button{font-size:15px;padding:8px 14px}.nav .hamburger,.nav .links{display:flex}.nav .links{align-items:flex-start;background:#0a0a0a;background:var(--bg);border-left:1px solid #1f1f1f;border-left:1px solid var(--border);flex-direction:column;gap:6px;height:calc(100vh - 63px);overflow-y:auto;padding:40px 24px;pointer-events:none;position:fixed;right:0;top:63px;transform:translateX(100%);transition:transform .3s ease;width:60%;z-index:1001}.nav .links.active{pointer-events:auto;transform:translateX(0)}.nav .links button{font-weight:700;justify-content:flex-start;width:100%}.nav .links .nav-icon{align-items:center;display:inline-flex;font-size:18px;margin-right:10px}.nav-backdrop{background:#0006;bottom:0;display:block;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:63px;transition:opacity .3s ease;z-index:1000}.nav-backdrop.active{opacity:1;pointer-events:auto}.hero .container h1{font-size:42px;letter-spacing:-1.5px}.hero p{font-size:16px}.tech-track{gap:32px}.tech-icon{font-size:30px}.projects .grid{grid-template-columns:1fr}.project-media{aspect-ratio:16/9;height:auto}.container h1,.container h2{font-size:27px;letter-spacing:-.5px}.section>.container>p{font-size:14px}.projects .card-body{padding:16px 16px 8px}.projects h3{font-size:16px}.card p{font-size:12.5px}.tag{margin-top:16px}.exp-card{padding:20px 18px}.exp-role{font-size:16px}.exp-org{font-size:14px}.exp-card .exp-desc{font-size:13px;margin-top:10px}.exp-meta{font-size:12px}.skills .card{padding:16px}.skills .tag{margin:0}.contact-grid{gap:28px}.contact-lead{font-size:14px}}@media (max-width:480px){:root{--frame-margin:4px}.hero .container h1{font-size:34px;letter-spacing:-1px}.container h1,.container h2{font-size:24px}.projects .card-body{padding:13px 13px 6px}.container{padding:0 1rem}}
/*# sourceMappingURL=main.d6c7309e.css.map*/