@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.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:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_de7557ea-module__HvPnFW__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_de7557ea-module__HvPnFW__variable{--font-outfit:"Outfit", "Outfit Fallback"}
@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/88731e1a74492905-s.093kp-ivx0g2f.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:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/861011d7404b02f6-s.0.xm8qlf5_315.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/3381337b621a9a6a-s.064fjoont5c7t.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/5413d6e6d8960ee4-s.05vzz1snb6e.m.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:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0951afe60dbf5d36-s.04q-sk9kar98f.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/97e7b204180d1274-s.15almw42k3wem.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/b8b552e8609c5636-s.p.0vinx1niofu4y.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:Fira Code Fallback;src:local(Arial);ascent-override:73.56%;descent-override:23.92%;line-gap-override:0.0%;size-adjust:134.59%}.fira_code_e8795ea-module__TBen8W__className{font-family:Fira Code,Fira Code Fallback;font-style:normal}.fira_code_e8795ea-module__TBen8W__variable{--font-fira-code:"Fira Code", "Fira Code Fallback"}
:root{--bg-main:#08090d;--bg-surface:#0f1118;--bg-surface-elevated:#161924;--bg-surface-glass:#0f1118bf;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#818cf8;--accent-primary:#6366f1;--accent-glow:#6366f140;--accent-secondary:#06b6d4;--accent-success:#10b981;--border-subtle:#ffffff14;--border-medium:#ffffff29;--border-active:#6366f180;--max-width:1240px;--header-height:72px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.2s;--duration-normal:.35s;--font-sans:var(--font-outfit), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-fira-code), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}[data-theme=light]{--bg-main:#f8fafc;--bg-surface:#fff;--bg-surface-elevated:#f1f5f9;--bg-surface-glass:#ffffffd9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-accent:#4f46e5;--accent-primary:#4f46e5;--accent-glow:#4f46e533;--accent-secondary:#0891b2;--accent-success:#059669;--border-subtle:#0f172a14;--border-medium:#0f172a26;--border-active:#4f46e566}*,:before,:after{box-sizing:border-box;margin:0;padding:0}img,svg,video{max-width:100%;height:auto;display:block}html{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-primary);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;max-width:100%;overflow-x:clip}body{background-color:var(--bg-main);width:100%;max-width:100%;min-height:100vh;transition:background-color var(--duration-normal) var(--ease-out), color var(--duration-normal) var(--ease-out);line-height:1.6;position:relative;overflow-x:clip}.portfolio-app{width:100%;max-width:100%;position:relative;overflow-x:clip}::selection{background-color:var(--accent-primary);color:#fff}a{color:inherit;text-decoration:none}button,input,textarea{color:inherit;background:0 0;border:none;outline:none;font-family:inherit}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}@media (min-width:480px){.container{padding:0 1.5rem}}@media (min-width:768px){.container{padding:0 2.5rem}}.section-wrapper{padding:6rem 0;position:relative}@media (min-width:1024px){.section-wrapper{padding:8rem 0}}.section-header-block{margin-bottom:3.5rem}.section-tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-accent);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.8125rem;font-weight:500;display:inline-flex}.section-tag-dot{background-color:var(--accent-primary);border-radius:50%;width:6px;height:6px;display:inline-block}.section-heading-large{letter-spacing:-.03em;color:var(--text-primary);word-break:break-word;max-width:820px;font-size:clamp(1.75rem,4.5vw,3.25rem);font-weight:700;line-height:1.15}.section-subtext{color:var(--text-secondary);max-width:640px;margin-top:1rem;font-size:1.125rem;line-height:1.65}.btn{border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;justify-content:center;align-items:center;gap:.625rem;padding:.875rem 1.625rem;font-size:.9375rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background-color:var(--text-primary);color:var(--bg-main)}.btn-primary:hover{box-shadow:0 10px 25px -5px #0000004d, 0 0 20px var(--accent-glow);transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background-color:var(--bg-surface-elevated);border-color:var(--border-active);transform:translateY(-2px)}.btn-accent{background:linear-gradient(135deg, var(--accent-primary), #8b5cf6);color:#fff}.btn-accent:hover{box-shadow:0 10px 25px -5px var(--accent-glow);transform:translateY(-2px)}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}@media (hover:hover) and (pointer:fine){body.has-custom-cursor,body.has-custom-cursor a,body.has-custom-cursor button,body.has-custom-cursor [role=button]{cursor:none}body.has-custom-cursor input,body.has-custom-cursor textarea,body.has-custom-cursor [contenteditable=true]{cursor:text!important}}.custom-cursor-dot{background-color:var(--accent-primary);pointer-events:none;z-index:999999;border-radius:50%;width:8px;height:8px;transition:opacity .2s;position:fixed;top:0;left:0}.custom-cursor-ring{pointer-events:none;z-index:999998;transition:width .25s var(--ease-out), height .25s var(--ease-out), background-color .25s, border-color .25s;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.cursor-ring-default{background:0 0;border:1.5px solid #fff6;width:34px;height:34px}[data-theme=light] .cursor-ring-default{border-color:#0006}.cursor-ring-hover{border:1.5px solid var(--accent-primary);background:var(--accent-glow);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:54px;height:54px}.cursor-ring-lens{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;width:104px;height:104px;font-family:var(--font-mono);letter-spacing:.05em;box-shadow:0 10px 35px #0009, 0 0 20px var(--accent-glow);background:#0f1118e0;border:1.5px solid #ffffff80;font-size:.75rem;font-weight:700}@media (hover:none) and (pointer:coarse){.custom-cursor-dot,.custom-cursor-ring{display:none!important}}.navbar-container{z-index:1000;transition:background-color .3s var(--ease-out), border-color .3s var(--ease-out), backdrop-filter .3s var(--ease-out);position:fixed;top:0;left:0;right:0}.navbar-scrolled{background-color:var(--bg-surface-glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle)}.navbar-content{height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.navbar-logo{font-family:var(--font-mono);letter-spacing:-.02em;align-items:center;gap:.625rem;font-size:1.125rem;font-weight:700;display:flex}@media (max-width:380px){.navbar-logo{gap:.35rem;font-size:1rem}.navbar-logo-badge{display:none}}.navbar-logo-badge{border-radius:var(--radius-full);color:var(--accent-success);white-space:nowrap;background-color:#10b9811f;border:1px solid #10b9814d;align-items:center;gap:.375rem;padding:.2rem .5rem;font-size:.6875rem;display:flex}.navbar-pulse-dot{background-color:var(--accent-success);width:6px;height:6px;box-shadow:0 0 8px var(--accent-success);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.navbar-links{align-items:center;gap:2rem;list-style:none;display:none}@media (min-width:900px){.navbar-links{display:flex}}.navbar-link{color:var(--text-secondary);transition:color var(--duration-fast);align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;display:flex}.navbar-link:hover{color:var(--text-primary)}.navbar-link-number{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}.navbar-actions{align-items:center;gap:.625rem;display:flex}@media (min-width:768px){.navbar-actions{gap:1rem}}.desktop-only{display:none!important}@media (min-width:768px){.desktop-only{display:inline-flex!important}}.theme-toggle-button{border:1px solid var(--border-subtle);background-color:var(--bg-surface);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:flex}.theme-toggle-button:hover{color:var(--text-primary);border-color:var(--border-medium);transform:rotate(15deg)}.mobile-menu-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background-color:var(--bg-surface);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;display:flex}@media (min-width:900px){.mobile-menu-btn{display:none}}.mobile-nav-overlay{background-color:var(--bg-main);z-index:999;flex-direction:column;justify-content:space-between;padding:6rem 2rem 3rem;display:flex;position:fixed;inset:0}.mobile-nav-links{flex-direction:column;gap:1.5rem;list-style:none;display:flex}.mobile-nav-item{letter-spacing:-.02em;color:var(--text-primary);font-size:2rem;font-weight:700}.hero-wrapper{padding-top:calc(var(--header-height) + 2rem);align-items:center;min-height:90vh;padding-bottom:4rem;display:flex;position:relative;overflow:hidden}@media (min-width:768px){.hero-wrapper{padding-top:calc(var(--header-height) + 3.5rem);padding-bottom:5rem}}.hero-grid{grid-template-columns:1fr;align-items:center;gap:3rem;width:100%;display:grid}@media (min-width:1024px){.hero-grid{grid-template-columns:1.15fr .85fr;gap:3.5rem}}.hero-badge-pill{border-radius:var(--radius-full);background-color:var(--bg-surface-elevated);border:1px solid var(--border-medium);font-family:var(--font-mono);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem;max-width:100%;margin-bottom:1.5rem;padding:.35rem .875rem;font-size:clamp(.68rem,2.2vw,.75rem);font-weight:500;display:inline-flex}.hero-title{letter-spacing:-.035em;color:var(--text-primary);word-break:break-word;margin-bottom:1.5rem;font-size:clamp(2rem,5.2vw,4.5rem);font-weight:800;line-height:1.1}section[id]{scroll-margin-top:5.5rem}.hero-highlight-word{background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent-primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;padding-right:.15em;display:inline-block}.hero-description{color:var(--text-secondary);max-width:580px;margin-bottom:2.25rem;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.65}.hero-cta-group{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}@media (max-width:480px){.hero-cta-group{flex-direction:column;align-items:stretch}.hero-cta-group .btn{justify-content:center;width:100%}}.telemetry-card{background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);width:100%;max-width:100%;position:relative;overflow:hidden;box-shadow:0 20px 40px -15px #00000080}.telemetry-header{background-color:var(--bg-surface-elevated);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:.5rem;padding:.875rem 1.25rem;display:flex;overflow:hidden}.telemetry-dots{flex-shrink:0;gap:.375rem;display:flex}.telemetry-dot{border-radius:50%;width:10px;height:10px}.dot-red{background-color:#ef4444}.dot-yellow{background-color:#f59e0b}.dot-green{background-color:#10b981}.telemetry-file-tag{font-family:var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.telemetry-body{font-family:var(--font-mono);overflow-wrap:break-word;padding:1.25rem;font-size:.8125rem;line-height:1.7}@media (min-width:768px){.telemetry-body{padding:1.5rem}}.telemetry-row{border-bottom:1px dashed var(--border-subtle);justify-content:space-between;gap:.75rem;padding:.45rem 0;display:flex}@media (max-width:560px){.telemetry-row{flex-direction:column;align-items:flex-start;gap:.2rem;padding:.5rem 0}}.telemetry-row:last-child{border-bottom:none}.telemetry-label{color:var(--text-muted);flex-shrink:0}.telemetry-val{color:var(--accent-secondary);word-break:break-word;font-weight:600}.telemetry-tech-pills{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.telemetry-pill{border-radius:var(--radius-sm);background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:.25rem .5rem;font-size:.6875rem}.about-grid{grid-template-columns:1fr;gap:3.5rem;display:grid}@media (min-width:1024px){.about-grid{grid-template-columns:1.15fr .85fr}}.about-narrative p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.125rem;line-height:1.75}.about-narrative strong{color:var(--text-primary);font-weight:600}@media (max-width:480px){.about-narrative .btn{justify-content:center;width:100%}}.about-metrics-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (max-width:380px){.about-metrics-grid{grid-template-columns:1fr}}.metric-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);flex-direction:column;justify-content:center;padding:1.75rem 1.25rem;display:flex}.metric-card:hover{border-color:var(--border-active);background-color:var(--bg-surface-elevated);transform:translateY(-2px)}.metric-number{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:.5rem;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:800;line-height:1}.metric-label{color:var(--text-muted);font-size:.875rem;font-weight:500}.marquee-container{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background-color:var(--bg-surface);width:100%;max-width:100%;margin-bottom:4rem;padding:1.5rem 0;position:relative;overflow:hidden}.marquee-track{gap:2rem;width:max-content;animation:35s linear infinite marquee;display:flex}.marquee-track:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-item{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.03em;white-space:nowrap;align-items:center;gap:.75rem;font-size:.9375rem;font-weight:600;display:flex}.marquee-separator{color:var(--accent-primary);font-size:1.125rem}.skills-filter-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;display:flex}.filter-tab{border-radius:var(--radius-full);background-color:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast);padding:.5rem 1.125rem;font-size:.875rem;font-weight:600}.filter-tab:hover{color:var(--text-primary);border-color:var(--border-medium)}.filter-tab.active{background-color:var(--text-primary);color:var(--bg-main);border-color:var(--text-primary)}.skills-cards-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.25rem;display:grid}@media (max-width:480px){.skills-cards-grid{grid-template-columns:1fr;gap:1rem}}.skill-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);padding:1.5rem}.skill-card:hover{border-color:var(--border-active);transform:translateY(-3px);box-shadow:0 12px 24px -8px #0000004d}.skill-card-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.skill-name{color:var(--text-primary);font-size:1.0625rem;font-weight:700}.skill-level-badge{font-family:var(--font-mono);border-radius:var(--radius-sm);background-color:var(--bg-surface-elevated);color:var(--text-accent);padding:.2rem .5rem;font-size:.6875rem}.skill-focus{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.experience-ledger{flex-direction:column;gap:2rem;display:flex}.experience-entry{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--duration-fast) var(--ease-out);padding:1.5rem 1.25rem;position:relative;overflow:hidden}@media (min-width:768px){.experience-entry{padding:2.25rem 2rem}}.experience-entry:hover{border-color:var(--border-active);box-shadow:0 16px 32px -10px #0006}.experience-top-row{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}@media (min-width:768px){.experience-top-row{flex-direction:row;justify-content:space-between;align-items:baseline;gap:1rem}}.experience-role-title{color:var(--text-primary);word-break:break-word;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;display:flex}@media (min-width:768px){.experience-role-title{gap:.75rem;font-size:1.375rem}}.experience-company-pill{font-family:var(--font-mono);color:var(--text-accent);font-size:.8125rem;font-weight:500}.experience-meta{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;align-items:center;font-size:.8125rem;display:flex}.experience-summary{color:var(--text-secondary);margin-bottom:1.25rem;font-size:1rem;line-height:1.65}.experience-achievements-list{flex-direction:column;gap:.625rem;margin-bottom:1.5rem;list-style:none;display:flex}.experience-achievement-item{color:var(--text-secondary);padding-left:1.25rem;font-size:.9375rem;line-height:1.55;position:relative}.experience-achievement-item:before{content:"—";color:var(--accent-primary);position:absolute;left:0}.experience-tech-tags{flex-wrap:wrap;gap:.5rem;display:flex}.experience-tag{font-family:var(--font-mono);border-radius:var(--radius-sm);background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:.25rem .625rem;font-size:.75rem}.projects-showcase-flow{flex-direction:column;gap:4.5rem;display:flex}.project-showcase-item{grid-template-columns:1fr;align-items:center;gap:2.5rem;width:100%;max-width:100%;display:grid}@media (min-width:1024px){.project-showcase-item{grid-template-columns:1.15fr .85fr}.project-showcase-reverse{grid-template-columns:.85fr 1.15fr}.project-showcase-reverse .project-preview-wrap{order:2}.project-showcase-reverse .project-info-wrap{order:1}}.project-preview-wrap{border-radius:var(--radius-lg);background-color:var(--bg-surface);border:1px solid var(--border-subtle);aspect-ratio:16/10;cursor:pointer;width:100%;position:relative;overflow:hidden}.project-preview-img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out)}.project-preview-wrap:hover .project-preview-img{transform:scale(1.04)}.project-overlay-badge{font-family:var(--font-mono);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:1px solid var(--border-subtle);z-index:2;background-color:#0f1118d9;padding:.35rem .75rem;font-size:.75rem;font-weight:600;position:absolute;top:1.25rem;left:1.25rem}.project-info-wrap{flex-direction:column;gap:1.25rem;display:flex}.project-index-label{font-family:var(--font-mono);color:var(--text-accent);letter-spacing:.05em;font-size:.8125rem;font-weight:500}.project-heading{letter-spacing:-.025em;color:var(--text-primary);word-break:break-word;font-size:clamp(1.5rem,3.2vw,2.5rem);font-weight:700;line-height:1.2}.project-subtitle{color:var(--text-secondary);font-size:1.0625rem;line-height:1.6}.project-metrics-strip{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:1rem;padding:1rem 0;display:flex}.project-metric-unit{flex-direction:column;display:flex}.metric-val-bold{font-family:var(--font-mono);color:var(--text-primary);font-size:1.125rem;font-weight:700}.metric-sub-tag{color:var(--text-muted);font-size:.75rem}.project-actions-row{flex-wrap:wrap;align-items:center;gap:.875rem;margin-top:.5rem;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(12px);z-index:9999;background-color:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}@media (min-width:768px){.modal-backdrop{padding:1.5rem}}.modal-surface{background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);width:100%;max-width:860px;max-height:90vh;position:relative;overflow:hidden auto;box-shadow:0 25px 60px -15px #000c}.modal-close-btn{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);transition:all var(--duration-fast);z-index:10;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1.5rem;right:1.5rem}.modal-close-btn:hover{color:var(--text-primary);border-color:var(--border-active)}.modal-header-hero{aspect-ratio:21/9;background-color:var(--bg-surface-elevated);position:relative;overflow:hidden}.modal-header-img{object-fit:cover;width:100%;height:100%}.modal-body{padding:1.75rem 1.25rem}@media (min-width:768px){.modal-body{padding:3rem}}.modal-title{letter-spacing:-.02em;margin-bottom:.5rem;font-size:clamp(1.5rem,3.5vw,2rem);font-weight:800}.modal-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1.125rem}.modal-section-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-accent);margin:2rem 0 .875rem;font-size:.875rem;font-weight:700}.modal-text{color:var(--text-secondary);font-size:1rem;line-height:1.7}.modal-bullets{flex-direction:column;gap:.75rem;list-style:none;display:flex}.modal-bullet-item{color:var(--text-secondary);padding-left:1.5rem;font-size:.9375rem;line-height:1.6;position:relative}.modal-bullet-item:before{content:"→";color:var(--accent-primary);position:absolute;left:0}.contact-layout{grid-template-columns:1fr;gap:3.5rem;display:grid}@media (min-width:1024px){.contact-layout{grid-template-columns:1fr 1fr}}.contact-callout-heading{letter-spacing:-.03em;color:var(--text-primary);word-break:break-word;margin-bottom:1.5rem;font-size:clamp(1.85rem,3.8vw,3.5rem);font-weight:800;line-height:1.15}.contact-quick-copy{background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast);flex-wrap:wrap;align-items:center;gap:.75rem;max-width:100%;margin:1.75rem 0;padding:1rem 1.25rem;display:flex}@media (max-width:480px){.contact-quick-copy{gap:.5rem;padding:.875rem 1rem}}.contact-quick-copy:hover{border-color:var(--border-active);background-color:var(--bg-surface-elevated)}.quick-email-text{font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;font-size:clamp(.78rem,2.8vw,1rem);font-weight:600}.copy-badge{font-family:var(--font-mono);border-radius:var(--radius-sm);background-color:var(--bg-surface-elevated);color:var(--text-accent);margin-left:auto;padding:.25rem .625rem;font-size:.75rem}.contact-form-panel{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;padding:1.5rem 1.25rem}@media (min-width:768px){.contact-form-panel{padding:2.25rem 2rem}}.form-group-stack{flex-direction:column;gap:1.25rem;display:flex}.form-input-box{flex-direction:column;gap:.5rem;display:flex}.form-label{font-family:var(--font-mono);color:var(--text-secondary);font-size:.8125rem;font-weight:600}.form-control{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--duration-fast);padding:.875rem 1rem;font-size:.9375rem}.form-control:focus{border-color:var(--accent-primary)}textarea.form-control{resize:vertical;min-height:120px}.footer-bar{border-top:1px solid var(--border-subtle);background-color:var(--bg-main);padding:3rem 0}.footer-content{flex-direction:column;gap:2rem;display:flex}@media (min-width:768px){.footer-content{flex-direction:row;justify-content:space-between;align-items:center}}.footer-system-status{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.footer-tech-stack{font-family:var(--font-mono);color:var(--text-muted);word-break:break-word;font-size:.75rem}.github-contributions-section{border-top:1px solid var(--border-subtle);justify-content:center;margin-top:4rem;padding-top:3rem;display:flex}.github-contributions-shell{align-items:flex-start;gap:1.25rem;width:fit-content;max-width:100%;display:flex}.github-calendar-column{flex-direction:column;gap:.65rem;width:fit-content;max-width:100%;display:flex}.github-header-row{justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:0 .15rem;display:flex}.github-total-title{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:500}.github-header-controls{align-items:center;gap:.5rem;display:flex}.github-settings-pill{color:#8b949e;cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.github-graph-card{background-color:#0d1117;border:1px solid #ffffff1f;border-radius:6px;width:fit-content;max-width:100%;padding:1rem 1.15rem;overflow:hidden;box-shadow:0 10px 30px -10px #00000080}.github-graph-scroll-area{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;padding-bottom:.25rem;overflow-x:auto}.github-graph-inner{flex-direction:column;gap:4px;width:724px;min-width:724px;display:flex}.github-months-row{width:724px;height:15px;position:relative}.github-month-label{color:#8b949e;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;position:absolute;top:0}.github-grid-body{gap:4px;width:724px;display:flex}.github-days-column{flex-shrink:0;grid-template-rows:repeat(7,10px);gap:3px;width:28px;display:grid}.github-day-label{color:#8b949e;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:9px;line-height:10px}.github-weeks-grid{gap:3px;display:flex}.github-week-col{grid-template-rows:repeat(7,10px);gap:3px;width:10px;display:grid}.github-day-cell{cursor:pointer;border-radius:2px;outline:1px solid #ffffff0a;width:10px;height:10px;transition:transform .1s,outline-color .1s}.github-day-cell:hover{z-index:10;outline:1.5px solid #fffc;transform:scale(1.2)}.github-graph-footer{justify-content:space-between;align-items:center;width:724px;margin-top:.65rem;padding-left:32px;font-size:11px;display:flex}.github-learn-link{color:#8b949e;font-size:11px;text-decoration:none;transition:color .2s}.github-learn-link:hover{color:#58a6ff;text-decoration:underline}.github-legend{align-items:center;gap:3px;display:flex}.github-legend-text{color:#8b949e;-webkit-user-select:none;user-select:none;margin:0 3px;font-size:11px}.github-legend-cell{border-radius:2px;outline:1px solid #ffffff0a;width:10px;height:10px}.github-years-nav{flex-direction:column;flex-shrink:0;gap:.25rem;width:76px;padding-top:1.85rem;display:flex}.github-year-btn{color:#8b949e;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s}.github-year-btn:hover:not(.active){color:#f0f6fc;background:#ffffff0f}.github-year-btn.active{color:#fff;background:#1f6feb;font-weight:600}.github-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;pointer-events:none;z-index:1000000;white-space:nowrap;background:#1e232df5;border:1px solid #ffffff26;border-radius:6px;margin-top:-8px;padding:5px 9px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;position:fixed;transform:translate(-50%,-100%);box-shadow:0 4px 14px #00000080}body:has(.github-graph-card:hover) .custom-cursor-ring{opacity:0!important;pointer-events:none!important}@media (max-width:860px){.github-contributions-shell{flex-direction:column}.github-years-nav{flex-direction:row;width:100%;padding-top:.25rem}.github-year-btn{text-align:center}}
