:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#d7ffe7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink:#eafff2;--muted:#86a392;--paper:#050807;--panel:#07130ee0;--panel-strong:#0a1b14f0;--line:#57ff972e;--line-strong:#57ff976b;--charcoal:#07120e;--teal:#22f7c7;--rust:#ff6b4a;--amber:#f7c849;--green:#57ff97;--shadow-soft:0 22px 60px #00000075;--shadow-card:0 18px 44px #00000057;background:#050807;font-family:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace}*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 18% 8%,#22f7c71a,#0000 22rem),radial-gradient(circle at 76% 16%,#f7c84914,#0000 18rem),linear-gradient(#07100d 0%,#050807 48%,#08110d 100%);min-width:min(320px,100%);min-height:100vh;margin:0}body,button,input,textarea{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.site-shell{background:linear-gradient(#57ff9709 1px, transparent 1px), linear-gradient(90deg, #22f7c708 1px, transparent 1px), linear-gradient(180deg, #0207054d, #050807f5), var(--paper);background-size:44px 44px,44px 44px,auto,auto;min-height:100vh;position:relative;overflow-x:hidden}.site-shell:before{z-index:30;pointer-events:none;content:"";opacity:.34;mix-blend-mode:screen;background:repeating-linear-gradient(#ffffff09 0 1px,#0000 1px 4px);position:fixed;inset:0}.movie-hack-background{z-index:1;pointer-events:none;opacity:.82;mix-blend-mode:screen;position:fixed;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#00000047 0%,#00000057 18%,#00000085 42%,#000000f0 66%,#000 100%);mask-image:linear-gradient(90deg,#00000047 0%,#00000057 18%,#00000085 42%,#000000f0 66%,#000 100%)}.movie-hack-background:before{content:"";opacity:.42;background:linear-gradient(#57ff9714 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#22f7c712 1px,#0000 1px) 0 0/22px 22px,linear-gradient(135deg,#57ff971a,#0000 48%);border:1px solid #57ff9733;width:min(40rem,54vw);height:min(48rem,82vh);animation:28s ease-in-out infinite alternate hack-panel-drift;position:absolute;top:8vh;right:max(1rem,50vw - 580px - 1rem);transform:rotate(-5deg)skewY(-7deg);box-shadow:0 0 42px #57ff9729,inset 0 0 0 1px #22f7c71a}.movie-hack-background:after{content:"";opacity:.42;background:linear-gradient(90deg,#0000,#57ff97bd,#0000);width:min(42rem,58vw);height:.18rem;animation:10s ease-in-out infinite hack-sweep;position:absolute;top:17vh;right:0;transform:skewY(-7deg);box-shadow:0 0 34px #57ff9761}.hack-console{color:#d7ffe7e6;opacity:.68;background:linear-gradient(#57ff9712 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#22f7c70e 1px,#0000 1px) 0 0/18px 18px,#020c08b8;border:1px solid #57ff9757;border-radius:6px;width:min(31rem,40vw);min-height:22rem;animation:18s ease-in-out infinite alternate hack-console-float;position:absolute;top:9.5rem;right:max(-1rem,50vw - 580px - 4.75rem);overflow:hidden;transform:rotate(-4deg)skewY(-3deg);box-shadow:0 22px 64px #00000052,0 0 48px #57ff972e,inset 0 0 0 1px #22f7c714}.hack-console:after{content:"";opacity:.34;background:linear-gradient(#0000,#57ff9729,#0000);animation:6.8s ease-in-out infinite hack-console-glow;position:absolute;inset:0;transform:translateY(-100%)}.hack-console-bar{background:#030a07b8;border-bottom:1px solid #57ff9733;align-items:center;gap:.42rem;height:2.15rem;padding:0 .75rem;display:flex}.hack-console-bar span{aspect-ratio:1;background:var(--green);border-radius:999px;width:.52rem;box-shadow:0 0 14px #57ff9747}.hack-console-bar span:nth-child(2){background:var(--amber)}.hack-console-bar span:nth-child(3){background:var(--rust)}.hack-console-bar strong{color:#d7ffe7b3;text-transform:uppercase;margin-left:.35rem;font-size:.7rem;font-weight:900}.hack-console-rows{gap:.55rem;padding:.85rem .95rem 1rem;font-size:.73rem;line-height:1.35;display:grid}.hack-console-row{color:#57ff97d6;text-shadow:0 0 16px #57ff973d;white-space:nowrap;animation:4.5s ease-in-out infinite hack-row-pulse;display:block;overflow:hidden}.hack-console-row:before{color:var(--amber);content:"$ "}.hack-console-row:nth-child(3n+2){color:#22f7c7d1;animation-delay:-1.6s}.hack-console-row:nth-child(3n){color:#f7c849bd;animation-delay:-3s}.hack-grid-window{width:116vw;position:absolute;top:-18vh;bottom:-20vh;left:-8vw;transform:rotate(-5deg)skewY(-4deg)}.hack-stream{color:#57ff9761;text-shadow:0 0 18px #57ff9757;text-transform:uppercase;writing-mode:vertical-rl;text-orientation:upright;opacity:.46;width:1.1rem;font-size:.72rem;font-weight:850;line-height:1.28;animation:18s linear infinite hack-rain;position:absolute;top:-82vh}.hack-stream:first-child{animation-duration:21s;animation-delay:-9s;left:2%}.hack-stream:nth-child(2){color:#22f7c770;opacity:.34;animation-duration:27s;animation-delay:-17s;left:10%}.hack-stream:nth-child(3){opacity:.38;animation-duration:19s;animation-delay:-4s;left:18%}.hack-stream:nth-child(4){color:#f7c84961;animation-duration:25s;animation-delay:-12s;left:27%}.hack-stream:nth-child(5){opacity:.32;animation-duration:30s;animation-delay:-22s;left:36%}.hack-stream:nth-child(6){color:#22f7c76e;animation-duration:23s;animation-delay:-6s;left:45%}.hack-stream:nth-child(7){opacity:.42;animation-duration:28s;animation-delay:-19s;left:54%}.hack-stream:nth-child(8){color:#f7c8495c;animation-duration:20s;animation-delay:-2s;left:62%}.hack-stream:nth-child(9){opacity:.34;animation-duration:26s;animation-delay:-14s;left:70%}.hack-stream:nth-child(10){color:#22f7c770;animation-duration:24s;animation-delay:-8s;left:79%}.hack-stream:nth-child(11){opacity:.3;animation-duration:32s;animation-delay:-25s;left:87%}.hack-stream:nth-child(12){color:#f7c8495c;animation-duration:29s;animation-delay:-15s;left:94%}.hack-scan{opacity:.46;background:linear-gradient(#0000,#22f7c729 45%,#0000);width:min(46rem,64vw);height:18vh;animation:14s ease-in-out infinite hack-scan;position:absolute;bottom:-18vh;right:0;transform:skewY(-7deg)}.hero-content,.proof-strip,.section,.site-footer{z-index:2;position:relative}.site-header{z-index:20;width:min(1160px,100% - 2rem);min-height:4.15rem;color:var(--ink);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#030a07e0;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin:.75rem auto 0;padding:.65rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:inset 0 0 0 1px #22f7c714,0 16px 44px #0000006b,0 0 28px #57ff9714}.brand,.nav-links,.button,.floating-contact-button{align-items:center;display:inline-flex}.brand{min-width:0;color:var(--green);gap:.62rem;padding:0 .55rem;font-size:.94rem;font-weight:850}.brand svg{color:var(--amber);filter:drop-shadow(0 0 10px #f7c84940);flex:none}.brand span{text-overflow:ellipsis;text-shadow:0 0 16px #57ff974d;white-space:nowrap;overflow:hidden}.nav-links{gap:.2rem}.nav-links a{color:#d7ffe7b8;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:2.55rem;padding:0 .9rem;font-size:.84rem;font-weight:750;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex}.nav-links a:before{color:var(--teal);content:"/"}.nav-links a:hover{color:var(--ink);background:#57ff971a;border-color:#57ff9740}.hero{min-height:86svh;color:var(--ink);isolation:isolate;background-image:linear-gradient(90deg, #010604fa 0%, #010806eb 38%, #0108069e 70%, #0108066b 100%), linear-gradient(180deg, #01080629, #010806e0), var(--hero-image);background-position:100%;background-size:cover;align-items:end;padding:7.25rem max(1rem,50vw - 580px) 5.25rem;display:grid;position:relative}.hero:before{z-index:-1;content:"";opacity:.6;background-color:#0000;background-image:linear-gradient(#57ff9712 1px,#0000 1px),linear-gradient(90deg,#22d6ff0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 0% 58%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 58%,#0000 100%)}.hero:after{z-index:-1;content:"";background:linear-gradient(#05080700,#050807fa);height:13rem;position:absolute;inset:auto 0 0}.hero-content{width:min(780px,100%);padding:1.2rem 0 1.4rem;position:relative}.hero-content:before{content:"";background:linear-gradient(90deg, var(--green), var(--teal), transparent);width:min(25rem,100%);height:.32rem;margin-bottom:1.35rem;display:block;box-shadow:0 0 24px #57ff9747}.eyebrow{color:var(--rust);text-transform:uppercase;font-size:.78rem;font-weight:900}.eyebrow:before{color:var(--teal);content:"./"}.hero .eyebrow{color:var(--green);text-shadow:0 0 18px #57ff974d;text-transform:none}.hero .eyebrow:before{color:var(--amber);content:"$ "}h1{color:#f3fff7;text-wrap:balance;text-shadow:0 0 22px #57ff972e,0 12px 44px #00000080;max-width:18ch;margin-top:.9rem;font-size:4.75rem;font-weight:900;line-height:.96}.hero-title span{white-space:nowrap;display:block}.hero-copy{color:#d7ffe7c7;max-width:700px;margin-top:1.35rem;font-size:1.03rem;line-height:1.7}.hero-focus,.principles,.tech-row,.skill-tags{flex-wrap:wrap;gap:.55rem;display:flex}.hero-focus{margin-top:1.3rem}.hero-focus span,.principles span,.tech-row span,.skill-tags span{color:#d7ffe7db;background:#57ff9714;border:1px solid #57ff9738;border-radius:6px;align-items:center;min-height:2.1rem;padding:0 .75rem;font-size:.84rem;font-weight:800;display:inline-flex}.hero-focus span{color:#d7ffe7e6;border-color:#57ff973d;min-height:2.2rem;padding:0 .78rem;font-weight:780;box-shadow:inset 0 0 18px #57ff970f}.hero-focus span:before,.principles span:before,.tech-row span:before,.skill-tags span:before{color:var(--teal);content:"#"}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid #0000;border-radius:6px;justify-content:center;gap:.55rem;min-height:3.05rem;padding:0 1.05rem;font-weight:850;transition:border-color .16s,background-color .16s,box-shadow .16s,color .16s,transform .16s}.button:hover{transform:translateY(-1px)}.button-primary{color:#031009;background:var(--green);box-shadow:0 12px 28px #57ff972e,0 0 22px #57ff972e}.button-primary:hover{background:#8dffb6}.button-secondary{color:var(--ink);background:#34d6ff14;border-color:#34d6ff57}.button-secondary:hover{background:#34d6ff26;box-shadow:0 0 22px #34d6ff1f}.proof-strip{z-index:5;width:min(1160px,100% - 2rem);color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#030a07eb;border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));margin:-3.4rem auto 0;display:grid;position:relative;overflow:hidden}.proof-strip:before{content:"";background:linear-gradient(90deg, var(--green), var(--teal), var(--amber), var(--rust));height:.25rem;position:absolute;inset:0 0 auto}.proof-strip div{background:linear-gradient(#57ff9714,#22f7c706);grid-template-columns:auto minmax(0,1fr);align-content:start;gap:.25rem .75rem;min-height:7rem;padding:1.1rem;display:grid}.proof-strip div+div{border-left:1px solid #57ff9729}.proof-strip svg{color:var(--amber);grid-row:1/3;margin-top:.12rem}.proof-strip span,.training-card span,.education-degree,.education-school,.section-heading>p:not(.eyebrow){color:var(--muted)}.proof-strip span{color:#d7ffe78f;text-transform:uppercase;font-size:.74rem;font-weight:850;display:block}.proof-strip span:before{color:var(--teal);content:"sys."}.proof-strip strong{min-width:0;color:var(--ink);font-size:.96rem;font-weight:850;line-height:1.35;display:block}main{background:0 0}main>.proof-strip+.section{padding-top:4.8rem}.section{width:min(1160px,100% - 2rem);margin:0 auto;padding:5.75rem 0}section[id]{scroll-margin-top:6.5rem}.section+.section{border-top:1px solid #57ff971a}.section-heading{gap:.85rem;max-width:700px;display:grid}.section-heading h2,.project-lead h2,.education-main h2,.credentials-section h2{color:var(--ink);font-size:2.65rem;font-weight:900;line-height:1.05}.section-heading>p:not(.eyebrow),.intro-copy p,.project-lead p,.education-main p,.award-panel p,.training-card p,.capability-card p,.work-card p{font-size:1rem;line-height:1.65}.intro-section,.split-section,.credentials-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:3.5rem;display:grid}.intro-copy{gap:1.5rem;display:grid}.intro-copy p,.project-lead p{color:#d7ffe7bd}.work-section{background:linear-gradient(#57ff970a 1px,#0000 1px) 0 0/36px 36px,linear-gradient(90deg,#57ff9708 1px,#0000 1px) 0 0/36px 36px,linear-gradient(#0c1f17cc,#050807f2);width:100%;max-width:none;padding-left:max(1rem,50vw - 580px);padding-right:max(1rem,50vw - 580px)}.work-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.9rem;margin-top:2.5rem;display:grid}.work-card,.capability-card,.training-card,.skill-card,.credential-list article,.award-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-card);border-radius:6px}.work-card,.capability-card,.training-card,.skill-card,.credential-list article{transition:border-color .16s,box-shadow .16s,transform .16s}.work-card:hover,.capability-card:hover,.training-card:hover,.skill-card:hover,.credential-list article:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 18px 40px #0000006b,0 0 24px #57ff971a}.work-card{grid-column:span 2;align-content:start;min-height:16.5rem;padding:1.15rem;display:grid;position:relative;overflow:hidden}.work-card:nth-child(-n+2){grid-column:span 3;min-height:14.75rem}.work-card:before{content:"";background:linear-gradient(90deg, var(--green), var(--teal), var(--amber));height:.25rem;position:absolute;inset:0 0 auto}.work-card:after,.capability-card:after,.training-card:after,.skill-card:after,.credential-list article:after,.award-panel:after{content:"";border-top:1px solid #57ff9752;border-right:1px solid #57ff9752;width:.6rem;height:.6rem;position:absolute;top:.65rem;right:.65rem}.card-index{color:#031009;background:var(--green);border-radius:6px;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;margin-bottom:1.1rem;font-size:.82rem;font-weight:900;display:inline-flex;box-shadow:0 0 20px #57ff9729}.work-card h3{color:var(--ink);font-size:1.16rem;font-weight:900;line-height:1.25}.work-card p{color:var(--muted);margin-top:.75rem}.project-section{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:3.25rem;display:grid}.project-lead{border-left:4px solid var(--green);gap:1rem;padding-left:1.25rem;display:grid;position:sticky;top:6.25rem}.project-title-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.95rem;width:fit-content;max-width:100%;display:grid}.project-title-row>div{min-width:0}.project-icon-frame{aspect-ratio:1;background:linear-gradient(135deg,#8fb0c421,#57ff970b),#030a076b;border:1px solid #8fb0c45c;border-radius:8px;flex:none;place-items:center;width:clamp(4.25rem,8vw,6.25rem);display:inline-grid;box-shadow:0 18px 38px #00000057,0 0 24px #8fb0c429,inset 0 0 0 1px #57ff9714}.project-icon{object-fit:contain;filter:drop-shadow(0 10px 18px #00000057);width:82%;height:82%;display:block}.capability-list{gap:.85rem;display:grid}.capability-card{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem;min-height:5.8rem;padding:1rem;display:grid;position:relative;overflow:hidden}.capability-card svg,.training-card svg,.skill-card svg,.credential-list svg,.education-main svg,.award-panel svg{color:var(--teal);flex:none}.capability-card svg{margin-top:.25rem}.capability-card p{color:var(--muted)}.training-grid,.skills-grid,.credential-list{gap:.9rem;display:grid}.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-card{background:linear-gradient(180deg, #f7c8491c, #07130ee6), var(--panel);min-height:14rem;padding:1.2rem;position:relative;overflow:hidden}.training-card span{margin-top:1.05rem;font-weight:850;display:block}.training-card strong{color:var(--amber);text-shadow:0 0 20px #f7c84929;margin-top:.25rem;font-size:2.15rem;font-weight:900;line-height:1;display:block}.training-card p{color:var(--muted);margin-top:1rem}.training-profile-link{width:fit-content;min-height:2.45rem;color:var(--ink);background:#22f7c714;border:1px solid #22f7c747;border-radius:6px;justify-content:center;align-items:center;gap:.45rem;margin-top:1.15rem;padding:0 .78rem;font-size:.82rem;font-weight:850;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.training-profile-link:hover{border-color:var(--line-strong);background:#22f7c724;transform:translateY(-1px);box-shadow:0 0 22px #22f7c71a}.training-profile-link svg{color:var(--teal)}.education-section{grid-template-columns:minmax(0,1.08fr) minmax(18rem,.58fr);align-items:stretch;gap:1rem;display:grid}.education-main{color:var(--ink);background:linear-gradient(#34d6ff0f 1px, transparent 1px), linear-gradient(90deg, #34d6ff0e 1px, transparent 1px), linear-gradient(135deg, #22f7c72e, #07130ef5), var(--charcoal);box-shadow:var(--shadow-card);background-size:32px 32px,32px 32px,auto,auto;border:1px solid #34d6ff38;border-radius:6px;align-content:start;gap:.95rem;padding:2rem;display:grid}.education-main h2,.education-main .eyebrow,.education-main svg{color:var(--ink)}.education-main .education-school{color:#d7ffe780;text-transform:uppercase;font-size:.84rem;font-weight:850}.education-main p{color:#d7ffe7c7}.education-main .education-degree{color:var(--amber);font-weight:800}.award-panel{background:linear-gradient(180deg, #f7c8492e, #ff6b4a14 44%, #07130eed), var(--panel);border-color:#f7c8496b;align-content:start;gap:.75rem;padding:1.5rem;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 44px #0000005c,0 0 28px #f7c8491f}.award-panel svg{color:var(--amber);filter:drop-shadow(0 0 12px #f7c84938)}.award-panel .award-kicker{color:var(--green);text-transform:uppercase;font-size:.78rem;font-weight:900}.award-panel strong{color:var(--amber);text-shadow:0 0 20px #f7c84929;font-size:clamp(1.75rem,2.4vw,2.35rem);font-weight:900;line-height:1.1}.award-panel span,.award-panel p{color:var(--muted)}.skills-section{background:linear-gradient(#57ff9707 1px,#0000 1px) 0 0/38px 38px,linear-gradient(90deg,#22f7c706 1px,#0000 1px) 0 0/38px 38px,linear-gradient(#091c14b8 0%,#050807d1 100%);width:100%;max-width:none;padding-left:max(1rem,50vw - 580px);padding-right:max(1rem,50vw - 580px)}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:2.45rem}.skill-card{background:var(--panel-strong);align-content:start;gap:1rem;min-height:18rem;padding:1.15rem;display:grid;position:relative;overflow:hidden}.skill-card h3{color:var(--ink);font-size:1.18rem;line-height:1.25}.credential-list article{background:var(--panel-strong);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;min-height:4.4rem;padding:1rem;display:grid;position:relative;overflow:hidden}.credential-list strong{color:var(--ink);line-height:1.35}.floating-contact-button{right:max(1.35rem, env(safe-area-inset-right));bottom:max(1.35rem, env(safe-area-inset-bottom));z-index:42;color:#031009;background:var(--green);border:1px solid #8dffb6a8;border-radius:999px;justify-content:center;gap:.58rem;min-height:3.25rem;padding:0 1.25rem;font-size:.92rem;font-weight:850;transition:background-color .16s,box-shadow .16s,opacity .16s,transform .16s;position:fixed;box-shadow:0 14px 32px #0000006b,0 0 24px #57ff9733}.floating-contact-button:hover{background:#8dffb6;transform:translateY(-1px);box-shadow:0 18px 38px #00000080,0 0 30px #57ff9747}.floating-contact-button[aria-expanded=true]{background:#8dffb6;box-shadow:0 18px 38px #00000080,0 0 30px #57ff9747}.contact-layer{right:max(1.35rem, env(safe-area-inset-right));bottom:calc(max(1.35rem, env(safe-area-inset-bottom)) + 4rem);z-index:41;color:var(--ink);pointer-events:none;position:fixed}.contact-dialog{border:1px solid var(--line-strong);pointer-events:auto;background:linear-gradient(#57ff970a 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#34d6ff09 1px,#0000 1px) 0 0/32px 32px,#030a07fa;border-radius:6px;gap:.82rem;width:min(27rem,100vw - 2.7rem);padding:.95rem;animation:.18s ease-out contact-dialog-in;display:grid;position:relative;overflow:visible;box-shadow:0 22px 56px #00000085,0 0 30px #57ff971a}.contact-dialog-exit{pointer-events:none;animation:.15s ease-in forwards contact-dialog-out}.contact-dialog-header{border-bottom:1px solid #57ff9729;justify-content:space-between;align-items:flex-start;gap:.8rem;padding-bottom:.78rem;display:flex}.contact-dialog-header h2{color:var(--ink);margin-top:.5rem;font-size:1.36rem;font-weight:900;line-height:1.08}.icon-button{aspect-ratio:1;width:2.35rem;color:var(--ink);background:#57ff9714;border:1px solid #57ff973d;border-radius:6px;flex:none;place-items:center;transition:border-color .16s,background-color .16s,transform .16s;display:inline-grid}.icon-button:hover{border-color:var(--line-strong);background:#57ff9724;transform:translateY(-1px)}.contact-form{align-content:start;gap:.72rem;display:grid}.contact-fields{gap:.72rem;display:grid}.contact-field{gap:.38rem;display:grid}.contact-field span{color:#d7ffe7a8;text-transform:uppercase;font-size:.71rem;font-weight:850}.contact-field input,.contact-field textarea{width:100%;min-height:2.48rem;color:var(--ink);background:#05100ce6;border:1px solid #57ff972e;border-radius:6px;outline:0;padding:.64rem .78rem;transition:border-color .16s,box-shadow .16s,background-color .16s}.contact-field textarea{resize:vertical;min-height:6.35rem;line-height:1.5}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--line-strong);background:#081812f5;box-shadow:0 0 0 3px #57ff971f}.contact-actions{border-top:1px solid #57ff9724;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem;padding-top:.72rem;display:grid}.contact-actions .button{width:100%;min-height:2.58rem}@keyframes contact-dialog-in{0%{opacity:.7;transform:translateY(.85rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes contact-dialog-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(.65rem)scale(.985)}}@keyframes hack-rain{0%{transform:translateY(-18vh)}to{transform:translateY(168vh)}}@keyframes hack-panel-drift{0%{transform:translate(0,0)rotate(-5deg)skewY(-7deg)}to{transform:translate(-1.2rem,1.5rem)rotate(-4deg)skewY(-7deg)}}@keyframes hack-console-float{0%{transform:translate(0,0)rotate(-4deg)skewY(-3deg)}to{transform:translate(-.7rem,1rem)rotate(-3.2deg)skewY(-3deg)}}@keyframes hack-console-glow{0%,18%{opacity:0;transform:translateY(-100%)}38%,58%{opacity:.34}to{opacity:0;transform:translateY(100%)}}@keyframes hack-row-pulse{0%,to{opacity:.7}48%{opacity:1}}@keyframes hack-sweep{0%,22%{opacity:0;transform:translateY(-14vh)skewY(-7deg)}35%,58%{opacity:.42}82%,to{opacity:0;transform:translateY(54vh)skewY(-7deg)}}@keyframes hack-scan{0%,18%{opacity:0;transform:translateY(-8vh)skewY(-7deg)}36%,62%{opacity:.46}to{opacity:0;transform:translateY(-104vh)skewY(-7deg)}}.site-footer{width:min(1160px,100% - 2rem);color:var(--muted);border-top:1px solid #57ff971a;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:2rem 0 5.25rem;display:flex}@media (width<=1120px){h1{max-width:16ch;font-size:3.8rem}.work-grid,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card,.work-card:nth-child(-n+2){grid-column:auto;min-height:13.75rem}.skill-card{min-height:13rem}}@media (width<=860px){.site-header{flex-direction:column;align-items:flex-start;width:calc(100% - 1rem);min-height:0;margin-top:.5rem}.nav-links{width:100%;padding-bottom:.1rem;overflow-x:auto}.nav-links a{flex:none}.hero{background-position:64%;min-height:84svh;padding-top:7.25rem;padding-bottom:4.6rem}.hero-content{padding-bottom:1rem}h1{max-width:min(16ch,100%);font-size:3rem}.hero-copy{font-size:1rem}.proof-strip{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 1.5rem)}.proof-strip div+div{border-left:0}.proof-strip div:nth-child(2n){border-left:1px solid #57ff9729}.proof-strip div:nth-child(n+3){border-top:1px solid #57ff9729}.section{padding:4.3rem 0}section[id]{scroll-margin-top:8.75rem}.intro-section,.project-section,.split-section,.education-section,.credentials-section{grid-template-columns:1fr;gap:2rem}.project-lead{position:static}.project-title-row{grid-template-columns:auto minmax(0,1fr)}.section-heading h2,.project-lead h2,.education-main h2,.credentials-section h2{font-size:2.12rem}.training-grid{grid-template-columns:1fr}}@media (width<=620px){.movie-hack-background{opacity:.58;-webkit-mask-image:linear-gradient(90deg,#00000038 0%,#0000004d 24%,#0000009e 58%,#000 100%);mask-image:linear-gradient(90deg,#00000038 0%,#0000004d 24%,#0000009e 58%,#000 100%)}.movie-hack-background:before{opacity:.28;width:86vw;right:-34vw}.movie-hack-background:after,.hack-scan{width:84vw}.hack-console{opacity:.46;width:94vw;min-height:18rem;top:8.5rem;right:-68vw}.hack-console-rows{gap:.48rem;font-size:.62rem}.hack-grid-window{width:124vw;left:-12vw}.hack-stream{opacity:.34;font-size:.62rem}.site-header{gap:.5rem;padding:.55rem}.brand{width:100%;min-height:2.1rem}.nav-links{scrollbar-width:none;flex-wrap:nowrap;justify-content:space-between;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex:none;min-height:2.1rem;padding:0 .45rem;font-size:.78rem}.hero{align-items:start;min-height:auto;padding:6.6rem .75rem 4rem}h1{max-width:min(16ch,100%);font-size:clamp(1.7rem,8.5vw,2.42rem)}.hero-focus span{flex:auto;justify-content:center}.hero-actions,.button{width:100%}.proof-strip{margin-top:-2.5rem}.proof-strip div{min-height:6.5rem;padding:.95rem}.proof-strip strong{font-size:.94rem}.proof-strip span{font-size:.68rem}.section,.site-footer{width:calc(100% - 1.5rem)}.work-section,.skills-section{padding-left:.75rem;padding-right:.75rem}.work-grid,.skills-grid{grid-template-columns:1fr}.education-main,.award-panel{padding:1.15rem}.project-icon-frame{width:4rem}.site-footer{flex-direction:column;align-items:flex-start}.floating-contact-button{min-height:3.1rem;padding:0 1.1rem;bottom:.85rem;right:.85rem}.contact-layer{bottom:4.85rem;left:.75rem;right:.75rem}.contact-dialog{width:100%;padding:1rem}}@media (width<=360px){.nav-links{gap:0}.nav-links a{padding:0 .34rem;font-size:.74rem}}@media (prefers-reduced-motion:reduce){.movie-hack-background:before,.movie-hack-background:after,.hack-stream,.hack-scan{animation:none}.movie-hack-background{opacity:.22}}
