@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_2fbad08d-module__Y6qpBa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_2fbad08d-module__Y6qpBa__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-card:#171717;--bg-card-hover:#1f1f1f;--text-primary:#e5e5e5;--text-secondary:#a3a3a3;--text-muted:#525252;--accent:#10b981;--accent-dim:#10b98126;--accent-glow:#10b98166;--border:#ffffff0f;--border-hover:#ffffff1f;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:2rem;--fs-4xl:2.5rem;--fs-5xl:3.5rem;--fs-6xl:4.5rem;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.1;--lh-snug:1.3;--lh-normal:1.6;--lh-relaxed:1.75;--ls-tight:-.03em;--ls-normal:0;--ls-wide:.05em;--ls-wider:.1em;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--max-width:1100px;--nav-height:70px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 30px #00000080;--shadow-glow:0 0 40px #10b9811a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}body{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-normal);line-height:var(--lh-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}::selection{background-color:var(--accent-dim);color:var(--accent)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul,ol{list-style:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-xl);margin:0 auto}.section{padding:var(--space-5xl) 0;z-index:1;position:relative}.mono{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-wide)}.accent{color:var(--accent)}.navbar{height:var(--nav-height);z-index:100;-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--border);transition:all var(--transition-base);background:#0a0a0acc;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar--scrolled{background:#0a0a0af2;border-bottom-color:#ffffff14;box-shadow:0 4px 30px #0000004d}.navbar__inner{width:100%;max-width:var(--max-width);padding:0 var(--space-xl);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar__logo{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:var(--ls-tight);transition:all var(--transition-fast)}.navbar__logo:hover{color:var(--accent)}.navbar__logo-bracket{color:var(--accent);transition:color var(--transition-fast)}.navbar__link--active{color:var(--accent)!important}.navbar__link--active:after{transform-origin:0!important;transform:scaleX(1)!important}.navbar__links{align-items:center;gap:var(--space-lg);display:flex}.navbar__link{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);letter-spacing:var(--ls-wide);transition:color var(--transition-fast);padding:var(--space-sm) 0;position:relative}.navbar__link:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform var(--transition-base);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.navbar__link:hover{color:var(--accent)}.navbar__link:hover:after{transform-origin:0;transform:scaleX(1)}.navbar__link-number{color:var(--accent);margin-right:4px}.navbar__resume-btn{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);border:1px solid var(--accent);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);letter-spacing:var(--ls-wide);transition:all var(--transition-fast)}.navbar__resume-btn:hover{background:var(--accent-dim)}.navbar__mobile-btn{padding:var(--space-sm);z-index:110;flex-direction:column;gap:5px;display:none}.navbar__mobile-btn span{background:var(--text-primary);width:24px;height:2px;transition:all var(--transition-base);border-radius:2px;display:block}.navbar__mobile-btn.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.navbar__mobile-btn.active span:nth-child(2){opacity:0}.navbar__mobile-btn.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.navbar__mobile-overlay{display:none}@media (max-width:768px){.navbar__links{display:none}.navbar__mobile-btn{display:flex}.navbar__mobile-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:center;align-items:center;gap:var(--space-xl);z-index:105;opacity:0;pointer-events:none;transition:opacity var(--transition-base);background:#0a0a0af2;flex-direction:column;display:flex;position:fixed;inset:0}.navbar__mobile-overlay.open{opacity:1;pointer-events:all}.navbar__mobile-overlay .navbar__link{font-size:var(--fs-lg)}.navbar__mobile-overlay .navbar__resume-btn{font-size:var(--fs-base);padding:var(--space-md) var(--space-xl)}}.hero{z-index:1;min-height:100vh;padding-top:var(--nav-height);align-items:center;display:flex;position:relative}.hero__content{max-width:700px}.hero__greeting{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--accent);letter-spacing:var(--ls-wide);margin-bottom:var(--space-lg)}.hero__name{font-size:var(--fs-6xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--text-primary);margin-bottom:var(--space-sm)}.hero__tagline{font-size:var(--fs-5xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--text-muted);margin-bottom:var(--space-xl)}.hero__description{font-size:var(--fs-lg);color:var(--text-secondary);line-height:var(--lh-relaxed);max-width:520px;margin-bottom:var(--space-2xl)}.hero__cta-group{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.hero__cta{align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-wide);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-sm);transition:all var(--transition-base);cursor:pointer;display:inline-flex}.hero__cta--primary{color:var(--bg-primary);background:var(--accent);font-weight:var(--fw-semibold)}.hero__cta--primary:hover{box-shadow:var(--shadow-glow);background:#0d9668;transform:translateY(-2px)}.hero__cta--secondary{color:var(--accent);border:1px solid var(--accent)}.hero__cta--secondary:hover{background:var(--accent-dim);transform:translateY(-2px)}.hero__orb{filter:blur(60px);pointer-events:none;z-index:0;background:radial-gradient(circle,#10b98114 0%,#0000 70%);border-radius:50%;width:500px;height:500px;animation:8s ease-in-out infinite orbFloat;position:absolute;top:20%;right:-5%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-30px)scale(1.05)}66%{transform:translate(-20px,20px)scale(.95)}}.hero__socials{align-items:center;gap:var(--space-lg);z-index:10;flex-direction:column;display:flex;position:fixed;bottom:0;left:40px}.hero__socials:after{content:"";background:var(--text-muted);width:1px;height:90px;display:block}.hero__social-link{color:var(--text-muted);transition:all var(--transition-fast)}.hero__social-link:hover{color:var(--accent);transform:translateY(-3px)}.hero__social-link svg{width:20px;height:20px}.hero__email-bar{align-items:center;gap:var(--space-lg);z-index:10;flex-direction:column;display:flex;position:fixed;bottom:0;right:40px}.hero__email-bar:after{content:"";background:var(--text-muted);width:1px;height:90px;display:block}.hero__email-link{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:var(--ls-wide);writing-mode:vertical-rl;transition:all var(--transition-fast)}.hero__email-link:hover{color:var(--accent);transform:translateY(-3px)}@media (max-width:1080px){.hero__socials,.hero__email-bar{display:none}}@media (max-width:768px){.hero__name{font-size:var(--fs-4xl)}.hero__tagline{font-size:var(--fs-3xl)}}@media (max-width:480px){.hero__name{font-size:var(--fs-3xl)}.hero__tagline{font-size:var(--fs-2xl)}.hero__cta-group{flex-direction:column;align-items:flex-start}}.section-heading{align-items:center;gap:var(--space-md);margin-bottom:var(--space-3xl);white-space:nowrap;display:flex}.section-heading__number{font-family:var(--font-mono);font-size:var(--fs-xl);color:var(--accent);font-weight:var(--fw-normal)}.section-heading__title{font-size:var(--fs-3xl);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:var(--ls-tight)}.section-heading__line{background:var(--border);flex:1;max-width:300px;height:1px}@media (max-width:480px){.section-heading__title{font-size:var(--fs-2xl)}}.about__grid{gap:var(--space-3xl);grid-template-columns:3fr 2fr;align-items:start;display:grid}.about__text p{color:var(--text-secondary);font-size:var(--fs-base);line-height:var(--lh-relaxed);margin-bottom:var(--space-md)}.about__text a{color:var(--accent);transition:opacity var(--transition-fast)}.about__text a:hover{opacity:.8}.about__skills-title{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--accent);letter-spacing:var(--ls-wide);text-transform:uppercase;margin-bottom:var(--space-lg)}.about__skill-category{margin-bottom:var(--space-xl)}.about__skill-category-title{font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:var(--ls-wider);text-transform:uppercase;margin-bottom:var(--space-sm);font-family:var(--font-mono)}.about__skill-pills{gap:var(--space-sm);flex-wrap:wrap;display:flex}.about__skill-pill{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);transition:all var(--transition-fast);padding:4px 12px}.about__skill-pill:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}@media (max-width:768px){.about__grid{grid-template-columns:1fr}}.projects__grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base);flex-direction:column;height:100%;display:flex;position:relative}.project-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.project-card--featured{border-color:#10b98126}.project-card--featured:hover{box-shadow:var(--shadow-glow);border-color:#10b9814d}.project-card__header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;display:flex}.project-card__icon{color:var(--accent);width:40px;height:40px}.project-card__links{gap:var(--space-md);display:flex}.project-card__link{color:var(--text-muted);transition:color var(--transition-fast)}.project-card__link:hover{color:var(--accent)}.project-card__link svg{width:20px;height:20px}.project-card__badge{font-family:var(--font-mono);color:var(--accent);background:var(--accent-dim);border-radius:var(--radius-full);letter-spacing:var(--ls-wide);text-transform:uppercase;margin-bottom:var(--space-sm);padding:2px 8px;font-size:10px;display:inline-block}.project-card__title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--space-sm);transition:color var(--transition-fast)}.project-card:hover .project-card__title{color:var(--accent)}.project-card__description{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-lg);flex:1}.project-card__tech{gap:var(--space-sm);flex-wrap:wrap;margin-top:auto;display:flex}.project-card__tech-item{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:var(--ls-wide);font-size:11px}@media (max-width:768px){.projects__grid{grid-template-columns:1fr}}.contact{text-align:center;padding:var(--space-5xl) 0 var(--space-4xl)}.contact__overline{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--accent);letter-spacing:var(--ls-wide);margin-bottom:var(--space-md)}.contact__title{font-size:var(--fs-4xl);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:var(--ls-tight);margin-bottom:var(--space-lg)}.contact__text{font-size:var(--fs-lg);color:var(--text-secondary);line-height:var(--lh-relaxed);max-width:500px;margin:0 auto var(--space-2xl)}.contact__btn{align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--fs-base);color:var(--accent);border:1px solid var(--accent);padding:var(--space-md) var(--space-2xl);border-radius:var(--radius-sm);letter-spacing:var(--ls-wide);transition:all var(--transition-base);display:inline-flex}.contact__btn:hover{background:var(--accent-dim);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.contact__socials{justify-content:center;align-items:center;gap:var(--space-xl);margin-top:var(--space-3xl);display:flex}.contact__social-link{color:var(--text-muted);transition:all var(--transition-fast)}.contact__social-link:hover{color:var(--accent);transform:translateY(-3px)}.contact__social-link svg{width:22px;height:22px}@media (max-width:480px){.contact__title{font-size:var(--fs-3xl)}}.footer{padding:var(--space-xl) 0;text-align:center;border-top:1px solid var(--border)}.footer__text{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:var(--ls-wide);line-height:var(--lh-relaxed)}.footer__text a{color:var(--accent);transition:opacity var(--transition-fast)}.footer__text a:hover{opacity:.8}.cursor-glow{pointer-events:none;z-index:0;width:600px;height:600px;transition:opacity var(--transition-slow);background:radial-gradient(circle,#10b9810f 0%,#10b98105 30%,#0000 70%);border-radius:50%;position:fixed;transform:translate(-50%,-50%)}.scroll-progress{background:linear-gradient(90deg, var(--accent), #34d399, var(--accent));transform-origin:0;z-index:200;height:3px;position:fixed;top:0;left:0;right:0;box-shadow:0 0 10px #10b98180}.back-to-top{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);width:44px;height:44px;color:var(--accent);cursor:pointer;z-index:50;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:fixed;bottom:30px;right:30px}.back-to-top:hover{background:var(--accent-dim);border-color:var(--accent);box-shadow:var(--shadow-glow)}.rotating-text-wrapper{vertical-align:bottom;min-width:420px;height:1.3em;display:inline-block;position:relative;overflow:visible}.rotating-text{color:var(--accent);white-space:nowrap;display:inline-block;position:absolute;bottom:.1em;left:0}.hero__name-gradient{background:linear-gradient(135deg, var(--text-primary) 0%, var(--text-primary) 40%, var(--accent) 100%);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out infinite gradientShift}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.hero__orb--secondary{background:radial-gradient(circle,#34d3990d 0%,#0000 70%);width:400px;height:400px;animation-duration:10s;animation-delay:-4s;inset:auto auto 10% -10%}.project-card{overflow:hidden}.project-card__shine{border-radius:inherit;opacity:0;transition:opacity var(--transition-base);pointer-events:none;background:linear-gradient(125deg,#0000 30%,#10b98108 45%,#10b9810f 50%,#10b98108 55%,#0000 70%) 0 0/250% 250%;animation:3s ease-in-out infinite shineMove;position:absolute;inset:0}.project-card:hover .project-card__shine{opacity:1}@keyframes shineMove{0%{background-position:200% 0}to{background-position:-200% 0}}.project-card--featured{position:relative}.project-card--featured:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;opacity:0;transition:opacity var(--transition-base);background:linear-gradient(135deg,#10b9814d,#0000 40% 60%,#10b9814d) 0 0/300% 300%;padding:1px;animation:4s ease-in-out infinite borderGlow;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.project-card--featured:hover:before{opacity:1}@keyframes borderGlow{0%,to{background-position:0%}50%{background-position:100%}}.about__skill-pill{transform:translateY(0)}.about__skill-pill:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98126}.hero__social-link,.contact__social-link{position:relative}.hero__social-link:before,.contact__social-link:before{content:"";border-radius:var(--radius-md);background:var(--accent-dim);opacity:0;transition:all var(--transition-fast);position:absolute;inset:-6px;transform:scale(.8)}.hero__social-link:hover:before,.contact__social-link:hover:before{opacity:1;transform:scale(1)}.hero__social-link svg,.contact__social-link svg{z-index:1;position:relative}.contact__btn{position:relative;overflow:hidden}.contact__btn:before{content:"";background:linear-gradient(90deg,#0000,#10b9811a,#0000);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.contact__btn:hover:before{transform:translate(100%)}.section-heading__line{transform-origin:0;animation:1s ease-out .5s forwards lineGrow;transform:scaleX(0)}@keyframes lineGrow{to{transform:scaleX(1)}}.footer{position:relative}.footer:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);width:100px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}@media (max-width:768px){.cursor-glow{display:none}.back-to-top{width:40px;height:40px;bottom:20px;right:20px}.rotating-text-wrapper{min-width:280px}}
