*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0e0e0e;--fg:#f0ede8;--muted:#6b6762;--accent:#c8ff00;--border:#f0ede814;--font-sans:"Inter", system-ui, sans-serif;--font-disp:"Syne", system-ui, sans-serif;--nav-h:72px;--dur:.75s;--ease:cubic-bezier(.76, 0, .24, 1)}html,body,#root{background-color:var(--bg);width:100%;height:100%;color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(#f0ede809 1px,#0000 1px);background-size:32px 32px;font-size:14px;line-height:1.6;overflow:hidden}@media (width<=640px){html,body,#root{cursor:auto}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}:root{--bg:#0e0e0e;--fg:#f0ede8;--muted:#99958d;--accent:#c8ff00;--border:#f0ede814;--font-sans:"Inter", system-ui, sans-serif;--font-disp:"Syne", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--nav-h:60px;--dur:.95s;--ease:cubic-bezier(.16, 1, .3, 1)}.app{background-image:radial-gradient(ellipse at 78% 10%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 39%), radial-gradient(ellipse at 12% 92%, color-mix(in srgb, var(--accent) 2.5%, transparent), transparent 34%);grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0;overflow:hidden}.layout-grid-lines{pointer-events:none;z-index:1;justify-content:space-between;padding:0 48px;display:flex;position:fixed;inset:0}.grid-line{background:var(--border);opacity:.3;width:1px;height:100%}.grid-line:nth-child(2),.grid-line:nth-child(3){opacity:.15}.grid-line:first-child,.grid-line:nth-child(4){display:none}.nav{height:var(--nav-h);border-bottom:1px solid var(--border);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 48px;display:flex;position:relative}.nav-wordmark{font-family:var(--font-disp);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0;padding:0;font-size:15px;font-weight:800;transition:opacity .2s;display:flex}.nav-wordmark:before{content:"";background-color:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:2s ease-in-out infinite status-pulse;display:inline-block}@keyframes status-pulse{0%,to{opacity:.4;box-shadow:0 0 3px var(--accent)}50%{opacity:1;box-shadow:0 0 12px var(--accent)}}@media (hover:hover) and (pointer:fine){.nav-wordmark:hover{opacity:1;text-shadow:0 0 10px var(--accent)}}.nav-links{gap:36px;list-style:none;display:flex}.nav-btn{color:var(--muted);font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px 0;font-size:12px;font-weight:400;transition:color .2s;display:flex;position:relative}.nav-btn:before{content:"// ";color:var(--accent);font-family:var(--font-mono);opacity:0;margin-right:6px;font-size:11px;font-weight:600;transition:opacity .2s,transform .2s;display:inline-block;transform:translate(-6px)}@media (hover:hover) and (pointer:fine){.nav-btn:hover{color:var(--fg)}}.nav-btn.active:before{opacity:1;transform:translate(0)}@media (hover:hover) and (pointer:fine){.nav-btn:hover:before{opacity:1;transform:translate(0)}}.nav-status{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;font-size:11px;display:flex}.nav-clock{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;font-size:11px;display:flex}.clock-label{color:#f0ede866;font-size:10px}.clock-time{color:var(--accent);text-align:right;min-width:70px;font-weight:500}@media (width<=768px){.nav-clock{display:none}}.main{position:relative;overflow:hidden}.section{contain:layout style;transition:transform var(--dur) var(--ease), opacity var(--dur) ease;align-items:center;padding:0 48px;display:flex;position:absolute;inset:0}html.is-section-transitioning .section{will-change:transform, opacity}.section-above{opacity:0;pointer-events:none;visibility:hidden;transform:translateY(-30%)scale(.95)}.section-active{opacity:1;pointer-events:auto;visibility:visible;transform:translate(0,0)scale(1)}.section-below{opacity:0;pointer-events:none;visibility:hidden;transform:translateY(30%)scale(1.03)}html.is-section-transitioning .section-above,html.is-section-transitioning .section-below{visibility:visible}.section-active .panel-label{animation:.8s cubic-bezier(.16,1,.3,1) .15s both slide-up-fade}.section-active .home-tagline-row,.section-active .home-intro,.section-active .about-body,.section-active .work-inner,.section-active .contact-links{animation:1s cubic-bezier(.16,1,.3,1) .35s both slide-up-fade}.section-active .skills-marquee-wrapper,.section-active .about-languages{animation:1s cubic-bezier(.16,1,.3,1) .45s both slide-up-fade}.section-active .about-heading span,.section-active .contact-invite span{animation:1s cubic-bezier(.16,1,.3,1) both line-reveal;display:block}.section-active .about-heading span:first-child,.section-active .contact-invite span:first-child{animation-delay:.15s}.section-active .about-heading span:nth-child(2),.section-active .contact-invite span:nth-child(2){animation-delay:.28s}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translate(0,0)}}@keyframes letter-pop{0%{opacity:0;filter:blur(6px);color:var(--accent);transform:translateY(45px)scale(.8)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes hero-name-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translate(0,0)}}@keyframes line-reveal{0%{opacity:0;clip-path:inset(100% 0 0);transform:translateY(35px)}to{opacity:1;clip-path:inset(0 0 -.16em);transform:translate(0,0)}}.section-home{align-items:flex-end;padding-bottom:clamp(48px,8vh,96px)}.section-inner{width:100%;position:relative}.home-inner{flex-direction:column;align-items:flex-start;gap:0;width:100%;display:flex;position:relative}.home-headline-group{z-index:10;flex-direction:column;gap:0;display:flex}.home-name{font-family:var(--font-disp);letter-spacing:-.075em;color:var(--fg);-webkit-user-select:text;user-select:text;cursor:default;white-space:normal;margin:0;font-size:clamp(54px,7.35vw,100px);font-weight:800;line-height:.88}.home-name-line{white-space:nowrap;display:block}.home-name-accent{color:var(--accent)}.home-tagline-row{align-items:center;gap:14px;margin-top:16px;display:flex}.home-rule{background:var(--accent);flex-shrink:0;width:40px;height:1px}.home-tagline{color:var(--muted);font:500 .75rem/1.55 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0}.about-inner{max-width:640px;transform:translateY(-45px)}.panel-label{font-family:var(--font-disp);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);align-items:center;gap:14px;margin-bottom:10px;font-size:clamp(21px,2.5vw,28px);font-weight:760;display:flex}.panel-label:before{content:"";background:var(--accent);width:32px;height:2px;display:inline-block}.panel-label:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 40%, transparent), transparent);flex:auto;min-width:12px;height:1px;margin-left:4px}.about-heading{font-family:var(--font-disp);letter-spacing:-.02em;color:var(--fg);margin-bottom:10px;font-size:clamp(28px,3.8vw,48px);font-weight:700;line-height:1.15}.about-body{color:var(--muted);flex-direction:column;gap:14px;margin-bottom:10px;font-size:14px;font-weight:300;line-height:1.85;display:flex}.about-body strong{color:var(--fg);font-weight:400}.about-tags{flex-wrap:wrap;gap:8px;display:flex}.tag{letter-spacing:.14em;text-transform:uppercase;color:var(--fg);border:1px solid var(--border);cursor:pointer;border-radius:2px;padding:5px 12px;font-size:10px;transition:border-color .2s,color .2s}@media (hover:hover) and (pointer:fine){.tag:hover{border-color:var(--accent);color:var(--fg)}}.about-languages{flex-wrap:wrap;gap:clamp(12px,2vw,24px);margin-top:8px;display:flex}.lang-tag{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);border:1px solid var(--border);-webkit-user-select:none;user-select:none;cursor:default;background:#6b67620a;border-radius:2px;padding:6px 12px;font-size:11px;transition:border-color .25s,color .25s,background-color .25s}@media (hover:hover) and (pointer:fine){.lang-tag:hover{border-color:var(--accent);color:var(--fg);background:#c8ff0005}}body.light-mode .lang-tag{background:#0e0e0e04}@media (hover:hover) and (pointer:fine){body.light-mode .lang-tag:hover{background:color-mix(in srgb, var(--accent) 5%, white)}}.lang-tag strong{color:var(--fg);font-weight:600;transition:color .25s}@media (hover:hover) and (pointer:fine){.lang-tag:hover strong{color:var(--accent)}}.work-inner{width:100%;max-width:860px;max-height:calc(100vh - var(--nav-h) - 150px);scrollbar-width:none;overflow-y:auto}.work-inner::-webkit-scrollbar{display:none}.work-list{flex-direction:column;margin-top:16px;margin-bottom:24px;list-style:none;display:flex}.work-item{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:32px 1fr auto;align-items:center;gap:20px;padding:clamp(6.5px,1.1vh,12px) 0;transition:padding-left .35s cubic-bezier(.25,1,.5,1),background-color .45s cubic-bezier(.25,1,.5,1),border-color .45s cubic-bezier(.25,1,.5,1),color .45s cubic-bezier(.25,1,.5,1);display:grid;position:relative}.work-item:after{content:"";background:var(--accent);width:0;height:1.5px;transition:width .45s cubic-bezier(.25,1,.5,1);position:absolute;bottom:-1px;left:0}@media (hover:hover) and (pointer:fine){.work-item:hover:after{width:100%}.work-item:hover{background-color:#c8ff0004;padding-left:16px}body.light-mode .work-item:hover{background-color:#4d741706}}.work-index{font-family:var(--font-disp);color:var(--muted);letter-spacing:.06em;font-size:11px;transition:color .35s,transform .35s cubic-bezier(.25,1,.5,1)}@media (hover:hover) and (pointer:fine){.work-item:hover .work-index{color:var(--accent);transform:translate(-2px)}}.work-title{font-family:var(--font-disp);color:var(--fg);letter-spacing:-.01em;font-size:clamp(16px,1.8vw,22px);font-weight:700;transition:color .35s,transform .35s cubic-bezier(.25,1,.5,1),letter-spacing .35s}@media (hover:hover) and (pointer:fine){.work-item:hover .work-title{color:var(--accent);letter-spacing:.005em;transform:translate(6px)}}.work-type{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;transition:color .35s,transform .35s cubic-bezier(.25,1,.5,1)}@media (hover:hover) and (pointer:fine){.work-item:hover .work-type{color:var(--fg);transform:translate(-4px)}}.contact-inner{max-width:560px}.contact-invite{font-family:var(--font-disp);letter-spacing:-.02em;color:var(--fg);margin-bottom:36px;font-size:clamp(28px,3.8vw,48px);font-weight:700;line-height:1.2}.contact-invite em{color:var(--accent);font-style:normal}.contact-links{flex-direction:column;margin-bottom:40px;display:flex}.contact-link{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:14px 0;text-decoration:none;display:inline-flex}.contact-link-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex-shrink:0;width:110px;font-size:10px;transition:color .2s}.contact-link-value{color:var(--fg);font-size:14px;position:relative}.contact-link-value:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-1px;left:0}@media (hover:hover) and (pointer:fine){.contact-link:hover .contact-link-value:after{width:100%}.contact-link:hover .contact-link-label{color:var(--accent)}}.contact-availability{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.contact-availability:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;display:inline-block}.scroll-dots{z-index:200;will-change:transform;flex-direction:column;gap:10px;display:flex;position:fixed;top:50%;right:45px;transform:translate(50%,-50%)}.scroll-dot{background:var(--muted);cursor:pointer;opacity:.5;border:none;border-radius:50%;width:5px;height:5px;padding:0;transition:background .25s,transform .25s}.scroll-dot-active{background:var(--accent);opacity:1;transform:scale(1.4)}@media (hover:hover) and (pointer:fine){.scroll-dot:hover{background:var(--fg);opacity:.8}}.footer-strip{z-index:250;pointer-events:auto;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:22px;left:48px;right:48px}.footer-left{letter-spacing:.12em;text-transform:uppercase;color:#6b676273;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:10px}.footer-controls{pointer-events:auto;align-items:center;gap:12px;display:flex}.footer-right-text{letter-spacing:.12em;text-transform:uppercase;color:#6b676273;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:10px}.footer-divider{color:#6b676259;-webkit-user-select:none;user-select:none;font-size:10px}.theme-selector,.lang-selector{gap:8px;display:flex}.ctrl-btn{border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);cursor:pointer;background:#0e0e0ed1;border-radius:4px;align-items:center;gap:5px;padding:5px 8px;font-size:8px;transition:color .25s,border-color .25s,background-color .25s;display:inline-flex}body.light-mode .ctrl-btn{background-color:#f5f4f0eb}@media (hover:hover) and (pointer:fine){.ctrl-btn:hover{color:var(--fg);border-color:var(--accent);background-color:#0e0e0e99}body.light-mode .ctrl-btn:hover{background-color:#f5f4f0f2}}.theme-icon{stroke:currentColor;vertical-align:middle;stroke-width:2.5px;width:10px;height:10px;display:inline-block}.horizontal-lang-selector{z-index:300;width:28px;height:28px;position:relative}.horizontal-trigger-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);font-family:var(--font-mono);cursor:pointer;z-index:10;background:#0e0e0ee0;border-radius:50%;justify-content:center;align-items:center;font-size:8.5px;font-weight:500;transition:border-color .25s,color .25s,background-color .25s,transform .25s;display:flex;position:relative}body.light-mode .horizontal-trigger-btn{background:#f5f4f0bf}.horizontal-trigger-btn.active{border-color:var(--accent);color:var(--fg);background:#0e0e0eb3}@media (hover:hover) and (pointer:fine){.horizontal-trigger-btn:hover{border-color:var(--accent);color:var(--fg);background:#0e0e0eb3}}body.light-mode .horizontal-trigger-btn.active{background:#f5f4f0f2}@media (hover:hover) and (pointer:fine){body.light-mode .horizontal-trigger-btn:hover{background:#f5f4f0f2}}.horizontal-trigger-btn.active{transform:scale(.92)}.horizontal-options{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.horizontal-opt-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);font-family:var(--font-mono);cursor:pointer;opacity:0;pointer-events:none;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s,border-color .2s,color .2s;transition-delay:var(--delay);background:#0e0e0ee6;border-radius:50%;justify-content:center;align-items:center;font-size:8px;display:flex;position:absolute;top:0;left:0;transform:scale(.3)translate(0,0)}body.light-mode .horizontal-opt-btn{background:#f5f4f0d9}.horizontal-options.open .horizontal-opt-btn{opacity:1;pointer-events:auto;transform:scale(1) translate3d(var(--tx), var(--ty), 0)}@media (hover:hover) and (pointer:fine){.horizontal-opt-btn:hover{border-color:var(--accent);color:var(--fg);background:#0e0e0ecc}body.light-mode .horizontal-opt-btn:hover{background:#f5f4f0fa}}.horizontal-opt-btn.active{color:var(--accent);border-color:var(--accent);background:#c8ff000d}body.light-mode .horizontal-opt-btn.active{background:#4d741714}body{transition:background-color .3s,color .3s}@supports (view-transition-name:root){body{transition:none!important}}body.light-mode{--bg:#f5f6f0;--fg:#18211b;--muted:#465246;--border:#18211b2b;--accent:#496b16;background-color:var(--bg);background-image:none}body.light-mode .layout-grid-lines{opacity:.85}body.light-mode .tag{border-color:var(--border);color:var(--muted);background:#0e0e0e05}@media (hover:hover) and (pointer:fine){body.light-mode .tag:hover{border-color:var(--accent);color:var(--fg)}}.bg-circuits-container{pointer-events:none;z-index:1;contain:strict;opacity:.76;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.bg-circuit{opacity:.13;pointer-events:none;position:absolute}.circuit-1{width:clamp(250px,25vw,500px);height:auto;top:0;left:0}.circuit-2{width:clamp(250px,25vw,500px);height:auto;bottom:0;right:0}.circuit-3{width:clamp(150px,15vw,300px);height:auto;top:15%;left:0}.circuit-4{width:clamp(200px,20vw,400px);height:auto;top:10%;right:0}.circuit-5{width:clamp(200px,20vw,400px);height:auto;bottom:10%;left:0}.bg-circuit .trace-base{fill:none;stroke:var(--fg);stroke-width:1px;opacity:.06;stroke-linecap:round;stroke-linejoin:round}.bg-circuit .trace-pulse-glow{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:45 280;opacity:.28;animation:8s linear infinite current-flow}.bg-circuit .trace-pulse{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:45 280;animation:8s linear infinite current-flow}body.light-mode .bg-circuit .trace-pulse-glow{opacity:.22;stroke-width:6px}body.light-mode .bg-circuit .trace-pulse{stroke-width:2px;opacity:.85}.bg-circuit .pad{fill:none;stroke:var(--accent);stroke-width:1px;opacity:.25}body.light-mode .bg-circuit .pad{opacity:.45}.circuit-1 .trace-pulse,.circuit-1 .trace-pulse-glow{animation-duration:8s;animation-delay:0s}.circuit-2 .trace-pulse,.circuit-2 .trace-pulse-glow{animation-duration:11s;animation-delay:-3s}.circuit-3 .trace-pulse,.circuit-3 .trace-pulse-glow{animation-duration:7s;animation-delay:-5s}.circuit-4 .trace-pulse,.circuit-4 .trace-pulse-glow{animation-duration:9s;animation-delay:-2s}.circuit-5 .trace-pulse,.circuit-5 .trace-pulse-glow{animation-duration:10s;animation-delay:-4s}@keyframes current-flow{0%{stroke-dashoffset:650px}to{stroke-dashoffset:0}}@media (width<=840px){.layout-grid-lines{padding:0 16px}.grid-line:nth-child(2),.grid-line:nth-child(3){display:none}.nav{justify-content:space-between;padding:0 16px}.nav-wordmark{display:flex!important}.nav-status{display:none}.nav-links{gap:12px}.nav-btn{cursor:pointer;letter-spacing:.08em;font-size:10px}.nav-btn:before{display:none!important}.nav-btn.active{color:var(--accent)!important}.section{padding:0 16px}.section-home{align-items:flex-start;padding-top:clamp(24px,8vw,60px);padding-bottom:60px}.home-inner{flex-direction:column;align-items:flex-start;gap:0;display:flex}.home-name{font-size:clamp(71px,15.8vw,107px)!important}.home-dynamic-row{height:38px;position:relative;overflow:hidden}.tagline-default,.tagline-hover{letter-spacing:.12em;white-space:normal;align-items:center;height:38px;font-size:11px;line-height:1.3;display:flex}.tagline-hover{color:var(--accent);font-family:var(--font-mono);letter-spacing:.18em;font-size:14px;font-weight:700}.home-tagline-row{align-items:center;gap:12px}.home-rule{width:24px}.about-heading,.contact-invite{margin-bottom:16px;font-size:clamp(20px,6vw,30px)}.panel-label{margin-bottom:16px;font-size:18px}.work-inner{max-height:calc(100dvh - var(--nav-h) - 100px)!important}.work-item{grid-template-rows:auto auto;grid-template-columns:18px 1fr;gap:4px 8px;border-bottom:none!important;padding:7px 10px 7px 4px!important}.panel-work .work-list{margin-top:10px!important;margin-bottom:0!important}.panel-work .panel-label{margin-bottom:7px!important}.panel-work .panel-label[style]{margin-top:12px!important}.work-item:before{content:"";background:var(--border);height:1px;position:absolute;bottom:-1px;width:calc(100% - 14px)!important;left:4px!important}@media (hover:hover) and (pointer:fine){.work-item:hover{background-color:#0000!important;padding:10px 10px 10px 4px!important}.work-item:hover .work-index,.work-item:hover .work-title,.work-item:hover .work-type{transform:none!important}}.work-item:after{left:4px!important}@media (hover:hover) and (pointer:fine){.work-item:hover:after{width:calc(100% - 14px)!important}}.work-index{grid-area:1/1;align-self:start;margin-top:1px}.work-title{grid-area:1/2;font-size:13px;font-weight:500;line-height:1.35}.work-type{color:var(--muted);font-size:9px;font-family:var(--font-mono);grid-area:2/2}.about-body{font-size:13px}.contact-link{gap:8px;position:relative;border-bottom:none!important;padding:14px 10px 14px 4px!important}.contact-link:before{content:"";background:var(--border);height:1px;position:absolute;bottom:-1px;width:calc(100% - 14px)!important;left:4px!important}.contact-link-label{width:80px}.scroll-dots{right:13px}.footer-strip{gap:0;bottom:14px;left:16px;right:16px;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}}@media (height<=760px){:root{--nav-h:60px}.nav{height:var(--nav-h)}.about-heading,.contact-invite{margin-bottom:6px!important;font-size:clamp(20px,3.5vh,32px)!important}.about-body p{margin-bottom:4px!important;font-size:13px!important}.panel-label{margin-bottom:6px!important}.about-inner{scrollbar-width:none;overflow-y:auto;max-height:calc(100dvh - var(--nav-h) - 80px)!important;transform:translateY(-24px)!important}.about-inner::-webkit-scrollbar{display:none}.about-languages{scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;padding-bottom:4px;overflow-x:auto;flex-wrap:nowrap!important;gap:8px!important}.about-languages::-webkit-scrollbar{display:none}.lang-tag{flex-shrink:0;padding:4px 8px!important;font-size:10px!important}.work-inner{max-height:calc(100dvh - var(--nav-h) - 80px)!important}.footer-strip{bottom:12px!important}}@media (height<=640px){:root{--nav-h:52px}.work-inner{max-height:calc(100vh - var(--nav-h) - 70px)!important}.about-heading{display:none}}.skills-marquee-wrapper{-webkit-user-select:none;user-select:none;touch-action:none;width:100%;margin-top:12px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 16% 84%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 16% 84%,#0000 100%)}.skills-marquee-container{will-change:transform;white-space:nowrap;gap:8px;width:max-content;padding:10px 0;display:flex}.marquee-tag{-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;display:inline-flex}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999;will-change:clip-path;backface-visibility:hidden;animation:.95s cubic-bezier(.2,1,.2,1) both venom-reveal}@keyframes venom-reveal{0%{clip-path:polygon(var(--click-x,48px) var(--click-y,calc(100vh - 22px)), var(--click-x,48px) var(--click-y,calc(100vh - 22px)), var(--click-x,48px) var(--click-y,calc(100vh - 22px)), var(--click-x,48px) var(--click-y,calc(100vh - 22px)), var(--click-x,48px) var(--click-y,calc(100vh - 22px)), var(--click-x,48px) var(--click-y,calc(100vh - 22px)), var(--click-x,48px) var(--click-y,calc(100vh - 22px)), var(--click-x,48px) var(--click-y,calc(100vh - 22px)))}35%{clip-path:var(--clip-35,polygon(calc(var(--click-x,48px) - 15vmax) calc(var(--click-y,calc(100vh - 22px)) - 8vmax), calc(var(--click-x,48px) + 8vmax) calc(var(--click-y,calc(100vh - 22px)) - 25vmax), calc(var(--click-x,48px) + 30vmax) calc(var(--click-y,calc(100vh - 22px)) - 5vmax), calc(var(--click-x,48px) + 12vmax) calc(var(--click-y,calc(100vh - 22px)) + 18vmax), calc(var(--click-x,48px) - 8vmax) calc(var(--click-y,calc(100vh - 22px)) + 35vmax), calc(var(--click-x,48px) - 35vmax) calc(var(--click-y,calc(100vh - 22px)) + 8vmax), calc(var(--click-x,48px) - 20vmax) calc(var(--click-y,calc(100vh - 22px)) - 28vmax), calc(var(--click-x,48px) - 3vmax) calc(var(--click-y,calc(100vh - 22px)) - 12vmax)))}70%{clip-path:var(--clip-70,polygon(calc(var(--click-x,48px) - 100vmax) calc(var(--click-y,calc(100vh - 22px)) - 50vmax), calc(var(--click-x,48px) + 50vmax) calc(var(--click-y,calc(100vh - 22px)) - 160vmax), calc(var(--click-x,48px) + 180vmax) calc(var(--click-y,calc(100vh - 22px)) - 30vmax), calc(var(--click-x,48px) + 70vmax) calc(var(--click-y,calc(100vh - 22px)) + 110vmax), calc(var(--click-x,48px) - 50vmax) calc(var(--click-y,calc(100vh - 22px)) + 210vmax), calc(var(--click-x,48px) - 210vmax) calc(var(--click-y,calc(100vh - 22px)) + 50vmax), calc(var(--click-x,48px) - 120vmax) calc(var(--click-y,calc(100vh - 22px)) - 170vmax), calc(var(--click-x,48px) - 15vmax) calc(var(--click-y,calc(100vh - 22px)) - 80vmax)))}to{clip-path:polygon(calc(var(--click-x,48px) - 350vmax) calc(var(--click-y,calc(100vh - 22px)) - 350vmax), calc(var(--click-x,48px) + 350vmax) calc(var(--click-y,calc(100vh - 22px)) - 350vmax), calc(var(--click-x,48px) + 350vmax) calc(var(--click-y,calc(100vh - 22px)) - 350vmax), calc(var(--click-x,48px) + 350vmax) calc(var(--click-y,calc(100vh - 22px)) + 350vmax), calc(var(--click-x,48px) - 350vmax) calc(var(--click-y,calc(100vh - 22px)) + 350vmax), calc(var(--click-x,48px) - 350vmax) calc(var(--click-y,calc(100vh - 22px)) + 350vmax), calc(var(--click-x,48px) - 350vmax) calc(var(--click-y,calc(100vh - 22px)) - 350vmax), calc(var(--click-x,48px) - 350vmax) calc(var(--click-y,calc(100vh - 22px)) - 350vmax))}}.home-intro{z-index:2;width:min(100%,620px);margin-top:clamp(18px,3vh,28px);position:relative}.home-summary{max-width:590px;color:var(--fg);font-size:clamp(12px,1.1vw,14px);font-weight:300;line-height:1.8}.home-credentials{color:var(--muted);font:10px/1.6 var(--font-mono);letter-spacing:.04em;margin-top:9px}.home-focus-flow{color:var(--muted);font:9px/1.5 var(--font-mono);letter-spacing:.035em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:13px;display:flex}.home-focus-step{align-items:center;gap:6px;display:inline-flex}.home-focus-node{color:var(--accent);font-size:8px}.home-focus-arrow{color:#c8ff008c;margin-left:4px}.home-scroll-cue{color:var(--fg);font:10px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;margin-top:clamp(17px,2.8vh,27px);padding:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.home-scroll-cue:hover{color:var(--accent)}}.home-scroll-indicator{width:18px;height:28px;color:var(--accent);display:inline-flex}.home-scroll-indicator svg{width:18px;height:28px;animation:1.6s ease-in-out infinite scroll-cue-drift;overflow:visible}.home-scroll-indicator path{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.home-scroll-hint{color:var(--muted);letter-spacing:.1em;margin-left:7px;font-size:8px}@keyframes scroll-cue-drift{0%,to{opacity:.55;transform:translateY(-2px)}50%{opacity:1;transform:translateY(3px)}}.project-detail-list li::marker{color:var(--accent)}.about-inner{max-height:calc(100dvh - var(--nav-h) - 104px);scrollbar-width:none;overflow-y:auto}.about-inner::-webkit-scrollbar{display:none}.panel-work{isolation:isolate;align-items:center;display:flex}.panel-work .work-inner.project-page{z-index:1;scrollbar-width:none;width:100%;max-width:860px;height:auto;min-height:0;margin-inline:auto;position:relative;overflow-y:auto;max-height:min(660px, calc(100dvh - var(--nav-h) - 128px))!important}.panel-work .work-inner.project-page::-webkit-scrollbar{display:none}.work-catalogue{grid-template-columns:minmax(0,1fr);gap:clamp(22px,3.2vh,32px);display:grid}.work-catalog-group{min-width:0}.work-category-heading{margin:0 0 5px;font-size:clamp(18px,2.4vw,25px)}.project-picker{flex-direction:column;width:100%;display:flex}.work-item-accordion{width:100%;min-width:0}.project-option{border:0;border-bottom:1px solid var(--border);width:100%;min-width:0;min-height:58px;color:var(--fg);font:inherit;text-align:left;cursor:pointer;transition:padding-left .32s var(--ease), border-color .28s ease, background-color .28s ease;background:0 0;grid-template-rows:auto auto;grid-template-columns:32px minmax(0,1fr) 18px;align-content:center;align-items:center;gap:3px 14px;padding:9px 0;display:grid}@media (hover:hover) and (pointer:fine){.project-option:hover{border-bottom-color:color-mix(in srgb, var(--accent) 48%, var(--border));background:color-mix(in srgb, var(--accent) 2%, transparent);padding-left:10px}}.project-option.is-open,.work-item-accordion.is-open .project-option{border-bottom-color:#0000}.project-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-option-index{color:var(--muted);font:500 11px/1 var(--font-mono);grid-area:1/1/span 2;align-self:center;transition:color .28s}.project-option.is-open .project-option-index{color:var(--accent)}@media (hover:hover) and (pointer:fine){.project-option:hover .project-option-index{color:var(--accent)}}.project-option-copy{flex-direction:column;grid-area:1/2;gap:3px;min-width:0;display:flex}.project-option-title{font-family:var(--font-disp);font-size:clamp(14px,1.6vw,19px);font-weight:700;line-height:1.32;transition:color .28s}.project-option.is-open .project-option-title{color:var(--accent)}@media (hover:hover) and (pointer:fine){.project-option:hover .project-option-title{color:var(--accent)}}.project-option-period{color:var(--muted);font:9px/1.4 var(--font-mono);letter-spacing:.025em;white-space:nowrap;grid-area:2/2}.project-chevron{color:var(--muted);font:18px/1 var(--font-mono);grid-area:1/3/span 2;align-self:center;transition:color .28s,transform .28s}.project-option.is-open .project-chevron{color:var(--accent)}@media (hover:hover) and (pointer:fine){.project-option:hover .project-chevron{color:var(--accent)}}.work-item-detail{border:0;border-left:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));animation:project-detail-enter .36s var(--ease) both;background:0 0;margin-left:12px;padding:12px 12px 16px 34px}.work-item-detail[hidden]{display:none}.project-detail-content{grid-template-rows:auto auto auto;gap:10px;display:grid}@keyframes project-detail-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.project-detail-heading{min-width:0}.project-role{color:var(--accent);font:9px/1.5 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;margin:0 0 4px}.project-detail-summary{max-width:760px;color:var(--muted);margin-top:0;font-size:13px;line-height:1.65}.project-detail-list{color:var(--muted);align-content:start;gap:5px;margin:0;padding-left:17px;font-size:12px;line-height:1.6;display:grid}.project-detail-tools{min-width:0}.project-tech-label{color:var(--muted);font:9px/1.4 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;margin:0 0 6px}.project-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.project-tags li{border:1px solid var(--border);color:var(--fg);font:9px/1.35 var(--font-mono);white-space:nowrap;padding:4px 7px}@media (width<=768px){.home-intro{margin-top:20px}.home-summary{max-width:520px;font-size:12px}.home-credentials{font-size:9px}.home-focus-flow{gap:6px 8px;margin-top:10px;font-size:8px}.home-scroll-cue{margin-top:16px;font-size:9px}.work-catalogue{gap:22px}.work-category-heading{margin-bottom:4px}.project-option{grid-template-columns:24px minmax(0,1fr) 14px;gap:3px 8px;min-height:52px;padding-block:7px}.project-option-index{grid-area:1/1/span 2}.project-option-copy{grid-area:1/2}.project-option-title{font-size:13px}.project-option-period{text-align:left;grid-area:2/2;font-size:8px}.project-chevron{grid-area:1/3/span 2;align-self:center;font-size:16px}.project-detail-content{gap:8px}.project-detail-summary{font-size:11px;line-height:1.5}.project-detail-list{gap:4px;padding-left:15px;font-size:10px;line-height:1.45}.project-tech-label{margin-bottom:5px;font-size:8px}.project-tags{gap:4px}.project-tags li{padding:3px 5px;font-size:8px}}@media (width<=540px){.panel-work .work-inner.project-page{max-height:min(620px, calc(100dvh - var(--nav-h) - 100px))!important}.work-catalogue{gap:20px}.project-option{grid-template-columns:21px minmax(0,1fr) 12px;gap:3px 6px;min-height:50px;padding:6px 0}@media (hover:hover) and (pointer:fine){.project-option:hover{padding-left:6px}}.project-option-title{font-size:12px}.project-option-period{font-size:8px}.work-item-detail{margin-left:8px;padding:10px 6px 12px 17px}.project-detail-content{gap:7px}.project-detail-summary{font-size:10px;line-height:1.45}.project-detail-list{gap:4px;padding-left:14px;font-size:9px;line-height:1.45}.project-detail-tools{min-width:0}}@media (height<=680px){.panel-work .work-inner.project-page{max-height:calc(100dvh - var(--nav-h) - 104px)!important}.work-catalogue{gap:18px}.work-category-heading{margin-bottom:3px}.project-option{min-height:46px;padding-block:6px}.work-item-detail{padding-block:8px 10px}.project-detail-content{gap:6px}.project-detail-summary{font-size:10px;line-height:1.4}.project-detail-list{gap:3px;font-size:10px;line-height:1.4}.project-tech-label{margin-bottom:4px}.project-tags{gap:4px}.project-tags li{padding:2px 5px}}@media (width<=640px){.home-focus-flow{max-width:calc(100vw - 40px)}.home-scroll-hint{display:none}}:root{--muted:#99958d;--type-small:.75rem;--type-body:1rem;--type-lead:clamp(1rem, 1.15vw, 1.125rem);--type-panel-title:clamp(2rem, 3.7vw, 3.25rem);--content-reading:720px;--content-wide:900px}html,body,#root{font-size:16px;line-height:1.65}.section{padding-inline:clamp(20px,4vw,56px)}.panel-label{font-size:var(--type-section-label);letter-spacing:.09em;gap:12px;margin-bottom:clamp(10px,1.5vh,16px);font-weight:800;line-height:1.2}.panel-label:before{width:clamp(24px,2.5vw,34px)}.panel-home{max-height:calc(100dvh - var(--nav-h) - 112px);overscroll-behavior:contain;scrollbar-width:none;overflow-y:auto}.panel-home::-webkit-scrollbar{display:none}.contact-inner::-webkit-scrollbar{display:none}.home-credentials{font-size:var(--type-small);margin-top:10px;line-height:1.6}.home-focus-flow{gap:8px 12px;margin-top:14px;font-size:.75rem;line-height:1.55}.home-focus-node{font-size:.6875rem}.home-scroll-cue{min-height:36px;margin-top:clamp(16px,2.5vh,24px);font-size:.75rem}.home-scroll-hint{font-size:.6875rem}.tagline-default,.tagline-hover{font-size:.8125rem;line-height:1.5}.about-inner{width:min(100%, var(--content-reading));overscroll-behavior:contain;overflow-y:auto;max-height:calc(100dvh - var(--nav-h) - 112px)!important;transform:none!important}.about-heading,.contact-invite{font-size:var(--type-panel-title);letter-spacing:-.025em;margin-bottom:clamp(14px,2vh,22px);line-height:1.22}.about-body{font-size:var(--type-body);gap:clamp(12px,1.7vh,17px);margin-bottom:clamp(14px,2vh,20px);line-height:1.72}.about-body p{line-height:inherit;font-size:inherit!important}.about-tags{gap:8px}.tag{letter-spacing:.1em;font-size:.6875rem;line-height:1.4}.about-languages{gap:8px 10px;margin-top:6px;flex-wrap:wrap!important}.lang-tag{flex:0 auto;line-height:1.45;padding:6px 10px!important;font-size:.75rem!important}.panel-work .work-inner.project-page{width:min(100%, var(--content-wide));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2px clamp(0px,1.3vw,12px) 14px;max-height:min(740px, calc(100dvh - var(--nav-h) - 112px))!important}.work-category-heading{margin-bottom:8px;font-size:clamp(1.125rem,1.65vw,1.375rem);line-height:1.35}.project-option{gap:4px 12px;min-height:58px;padding-block:9px}.project-option-index{font-size:.75rem}.project-option-title{font-size:clamp(.9375rem,1.15vw,1.125rem);line-height:1.4}.project-option-period{white-space:normal;font-size:.75rem;line-height:1.5}.project-chevron{font-size:1.25rem}.work-item-detail{padding:14px 12px 18px clamp(20px,3vw,34px)}.project-role,.project-tech-label{font-size:.75rem;line-height:1.5}.project-detail-summary{font-size:.9375rem;line-height:1.68}.project-detail-list{gap:7px;font-size:.875rem;line-height:1.62}.project-tags{gap:6px}.project-tags li{padding:4px 7px;font-size:.6875rem;line-height:1.5}.panel-contact{align-items:center;display:flex}.contact-inner{width:min(100%,620px);max-height:calc(100dvh - var(--nav-h) - 112px);overscroll-behavior:contain;scrollbar-width:none;overflow-y:auto}.contact-invite{max-width:18ch}.contact-links{margin-bottom:clamp(24px,4vh,40px)}.contact-link{gap:clamp(12px,2vw,20px);min-height:52px;padding-block:12px}.contact-link-label{width:120px;font-size:.75rem;line-height:1.5}.contact-link-value{overflow-wrap:anywhere;min-width:0;font-size:.9375rem;line-height:1.5}.contact-availability{font-size:.75rem;line-height:1.5}.nav-btn{font-size:.75rem}.ctrl-btn{min-height:32px;padding:6px 9px;font-size:.6875rem}@media (width<=840px){.section{padding-inline:20px}.nav{gap:12px;padding-inline:18px}.nav-links{gap:clamp(5px,1.5vw,12px)}.nav-btn{letter-spacing:.04em;font-size:clamp(.625rem,2.35vw,.75rem)}.home-summary{font-size:1rem}.home-credentials{font-size:.75rem}.home-focus-flow{font-size:.6875rem}.home-scroll-cue{font-size:.75rem}.project-option{grid-template-columns:26px minmax(0,1fr) 16px;gap:4px 9px;min-height:58px;padding-block:8px}.project-option-title{font-size:.9375rem}.project-option-period{font-size:.75rem}.project-detail-summary{font-size:.9375rem}.project-detail-list{font-size:.875rem}}@media (width<=540px){.section{padding-inline:16px}.nav{gap:6px;padding-inline:12px}.nav-wordmark{font-size:.8125rem}.nav-links{gap:clamp(3px,1.2vw,6px)}.nav-btn{letter-spacing:.015em;font-size:clamp(.5625rem,2.55vw,.6875rem)}.section-home{padding-top:clamp(24px,8vw,60px);padding-bottom:20px}.panel-home{max-height:calc(100dvh - var(--nav-h) - 104px);overscroll-behavior:contain;overflow-y:auto}.home-name{font-size:clamp(68px,15.8vw,98px)!important}.home-tagline-row{align-items:flex-start;gap:10px;width:100%}.home-dynamic-row{min-width:0;height:auto;min-height:38px}.tagline-default,.tagline-hover{letter-spacing:.08em;white-space:normal;height:auto;min-height:38px;font-size:.75rem;line-height:1.5}.home-intro{width:100%;margin-top:18px}.home-summary{font-size:1rem;line-height:1.65}.home-focus-flow{gap:7px 9px;font-size:.6875rem}.home-scroll-cue{margin-top:15px}.about-inner{max-height:min(740px, calc(100dvh - var(--nav-h) - 60px))!important}#section-about{align-items:flex-start;padding-top:12px}.about-heading,.contact-invite{font-size:clamp(1.875rem,8vw,2.5rem);line-height:1.12}.about-body{gap:9px;font-size:1rem;line-height:1.62}.panel-label{margin-bottom:8px!important}.skills-marquee-wrapper{margin-top:4px}.panel-work .work-inner.project-page{padding-inline:2px;max-height:min(740px, calc(100dvh - var(--nav-h) - 60px))!important}.panel-work:has(.work-item-detail:not([hidden])){align-items:flex-start;padding-top:0}#section-work:has(.work-item-detail:not([hidden])){align-items:flex-start;padding-top:0}.work-catalogue{gap:14px}.work-category-heading{margin-bottom:3px;font-size:1.125rem}.project-option{grid-template-columns:23px minmax(0,1fr) 14px;gap:4px 7px;min-height:58px;padding-block:5px}.project-option-title{font-size:.9375rem}.project-option-period{font-size:.75rem}.work-item-detail{margin-left:8px;padding:8px 7px 10px 17px}.project-detail-content{gap:7px}.project-role,.project-tech-label{font-size:.6875rem}.project-detail-summary{font-size:.875rem;line-height:1.6}.project-detail-list{gap:4px;padding-left:16px;font-size:.8125rem;line-height:1.55}.project-tags li{white-space:normal;padding-block:3px;font-size:.6875rem}.contact-inner{max-height:calc(100dvh - var(--nav-h) - 104px)}.contact-link-label{width:92px}.contact-link-value{font-size:.875rem}}@media (height<=680px){.about-heading,.contact-invite{font-size:var(--type-panel-title)!important;margin-bottom:clamp(14px,2vh,22px)!important}.panel-label{margin-bottom:clamp(10px,1.5vh,16px)!important}.about-inner{max-height:calc(100dvh - var(--nav-h) - 104px)!important}.about-heading{display:block}.panel-work .work-inner.project-page{max-height:min(740px, calc(100dvh - var(--nav-h) - 60px))!important}.panel-work:has(.work-item-detail:not([hidden])){align-items:flex-start;padding-top:0}}@media (height<=760px){.about-heading,.contact-invite{font-size:var(--type-panel-title)!important;margin-bottom:clamp(14px,2vh,22px)!important}}@media (width<=540px) and (height<=680px){.about-inner{max-height:calc(100dvh - var(--nav-h) - 72px)!important}}:root{--panel-top-gap:clamp(116px, 16.5vh, 148px);--panel-bottom-safe:88px;--type-section-label:clamp(1.25rem, 1.8vw, 1.5rem);--content-wide:760px}.panel-home,.about-inner,.panel-work .work-inner.project-page,.contact-inner{max-height:calc(100dvh - var(--nav-h) - var(--panel-top-gap) - var(--panel-bottom-safe))!important}.panel-work .work-inner.project-page{width:min(100%, var(--content-wide));margin-inline:0;padding:2px 0 14px}.work-category-heading{font-size:var(--type-section-label);margin-bottom:clamp(10px,1.5vh,16px);line-height:1.4}.section-active .work-catalog-group:first-child .work-item-accordion:first-child{animation:work-row-enter .62s var(--ease) .38s both}.section-active .work-catalog-group:first-child .work-item-accordion:nth-child(2){animation:work-row-enter .62s var(--ease) .5s both}.section-active .work-catalog-group:nth-child(2) .work-category-heading{animation-delay:.32s}.section-active .work-catalog-group:nth-child(2) .work-item-accordion:first-child{animation:work-row-enter .62s var(--ease) .64s both}.section-active .work-catalog-group:nth-child(2) .work-item-accordion:nth-child(2){animation:work-row-enter .62s var(--ease) .76s both}@keyframes work-row-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.bg-circuit .trace-base{opacity:.09}.bg-circuit .trace-pulse-glow{opacity:.36}body.light-mode .bg-circuit{opacity:.1}@media (width<=840px){:root{--panel-top-gap:12px}.section,.section-home{padding-top:12px}.panel-work .work-inner.project-page{width:100%;padding:2px 0 14px}#section-work:has(.work-item-detail:not([hidden])){align-items:flex-start;padding-top:12px}}@media (height<=680px) and (width>=841px){:root{--panel-top-gap:clamp(12px, 7vh, 56px)}}:root{--panel-top-gap:clamp(72px, 12.5vh, 112px);--panel-bottom-safe:72px}.panel-work .work-inner.project-page{padding-bottom:6px;max-height:calc(100dvh - var(--nav-h) - var(--panel-top-gap) - var(--panel-bottom-safe))!important}.project-option{min-height:52px;padding-block:6px}.work-item-detail{padding-block:10px 12px}.project-detail-content{gap:8px}.project-detail-summary{line-height:1.55}.project-detail-list{gap:4px;line-height:1.5}@media (width<=840px){:root{--panel-top-gap:12px;--panel-bottom-safe:64px}}@media (height<=680px){:root{--panel-top-gap:clamp(8px, 4vh, 28px);--panel-bottom-safe:48px}.panel-label{margin-bottom:6px!important}.about-inner,.panel-home,.contact-inner,.panel-work .work-inner.project-page{max-height:calc(100dvh - var(--nav-h) - var(--panel-top-gap) - var(--panel-bottom-safe))!important}.about-heading,.contact-invite{margin-bottom:10px!important;font-size:clamp(1.75rem,5vw,2.5rem)!important}.about-heading{line-height:1.12;margin-bottom:8px!important;font-size:clamp(1.5rem,6.15vw,2.25rem)!important}.about-inner>.panel-label{font-size:var(--type-section-label);letter-spacing:.09em;white-space:nowrap;margin-bottom:3px!important}.about-inner .panel-label[style]{margin-top:4px!important}.about-body{gap:7px;margin-bottom:4px;font-size:.875rem;line-height:1.35}.about-languages{gap:4px;margin-top:1px}.lang-tag{padding:3px 4px!important;font-size:.625rem!important}.contact-links{margin-bottom:18px}.contact-link{min-height:46px;padding-block:8px}.home-intro{margin-top:12px}.home-summary{font-size:.9375rem;line-height:1.5}.home-focus-flow{margin-top:8px}.home-scroll-cue{margin-top:10px}.work-catalogue{gap:10px}.work-category-heading{margin-bottom:4px}.project-option{gap:2px 6px;min-height:40px;padding-block:2px}.project-option-copy{gap:1px}.project-option-title{font-size:.8125rem;line-height:1.36}.project-option-period{font-size:.6875rem;line-height:1.25}.work-item-detail{margin-left:6px;padding:4px 4px 6px 13px}.project-detail-content{gap:3px}.project-role{margin-bottom:2px;font-size:.625rem;line-height:1.35}.project-detail-summary{font-size:.6875rem;line-height:1.35}.project-detail-list{gap:2px;font-size:.6875rem;line-height:1.3}.project-tech-label{margin-bottom:2px;font-size:.625rem}.project-tags{gap:3px}.project-tags li{padding:1px 3px;font-size:.5rem;line-height:1.25}}@media (width<=840px) and (height<=680px){:root{--panel-top-gap:8px}#section-work:has(.work-item-detail:not([hidden])){padding-top:8px}}.work-category-heading{letter-spacing:.09em;gap:12px;width:100%;margin:0 0 clamp(8px,1.2vh,12px);font-weight:800;line-height:1.2;font-size:var(--type-section-label)!important}.work-category-heading:before{width:clamp(24px,2.5vw,34px);height:2px}.home-tagline-row{gap:13px;margin-top:15px}.home-rule{width:clamp(22px,3vw,38px);margin-top:.6em}.home-tagline{letter-spacing:.085em;max-width:56ch;font-size:clamp(.6875rem,.85vw,.8125rem);line-height:1.6}.home-intro{width:min(100%,560px);margin-top:clamp(18px,2.6vh,26px)}.home-summary{max-width:52ch;font-size:clamp(.9375rem,1.12vw,1.0625rem);line-height:1.65}.home-scroll-cue{margin-top:clamp(18px,2.8vh,26px)}@media (width<=840px){:root{--type-section-label:clamp(1.125rem, 5vw, 1.35rem)}.home-name{font-size:clamp(2.85rem,5.4vw,3.5rem)!important}.home-tagline-row{align-items:flex-start;gap:11px;width:100%;margin-top:13px}.home-rule{flex:0 0 22px;margin-top:.65em}.home-tagline{letter-spacing:.065em;font-size:.6875rem;line-height:1.55}.home-intro{margin-top:18px}.home-summary{font-size:.9375rem;line-height:1.55}.home-scroll-cue{margin-top:18px}.work-category-heading{margin-bottom:5px;font-size:var(--type-section-label)!important}}@media (width<=520px){.home-name{font-size:clamp(2.2rem,9vw,2.8rem)!important}.home-intro,.home-scroll-cue{margin-top:14px}}#section-home{padding-top:clamp(184px,27vh,228px)!important}.home-name{letter-spacing:-.065em;line-height:.94;font-size:clamp(3.1rem,4.45vw,3.9rem)!important}.home-headline-group{max-width:min(100%,660px)}.home-tagline-row{max-width:720px}.home-tagline{max-width:72ch}.home-intro{margin-top:clamp(20px,3vh,30px)}@media (width<=840px){#section-home{padding-top:clamp(88px,20vh,132px)!important}.home-name{font-size:clamp(2.8rem,6vw,3.7rem)!important}}@media (width<=520px){#section-home{padding-top:clamp(110px,22vh,144px)!important}.home-name{font-size:clamp(1.55rem,8vw,2rem)!important}.home-headline-group,.home-intro{width:100%}}@media (height<=680px) and (width>=841px){#section-home{padding-top:clamp(8px,6vh,40px)!important}}@media (height<=520px) and (width<=840px){#section-home{padding-top:8px!important}}.home-inner{text-align:center;align-items:center;width:min(100%,760px);margin-inline:auto}.home-headline-group{align-items:center}.home-name,.home-summary,.home-credentials{text-align:center}.home-tagline-row{text-align:center;justify-content:center;width:100%}.home-intro{text-align:center;margin-inline:auto}.home-focus-flow,.home-scroll-cue{justify-content:center;margin-inline:auto}.about-inner,.contact-inner{text-align:center;margin-inline:auto}.panel-label{text-align:center;grid-template-columns:minmax(22px,1fr) max-content minmax(22px,1fr);justify-content:stretch;display:grid}.panel-label:after{width:100%;min-width:0;margin-left:0}.about-body{text-align:center}.about-languages{justify-content:center}.panel-work .work-inner.project-page{margin-inline:auto}.work-category-heading{text-align:center}.project-option{text-align:center;padding-inline:32px;display:block;position:relative}@media (hover:hover) and (pointer:fine){.project-option:hover{padding-left:36px}}.project-option-index{position:absolute;top:50%;left:4px;transform:translateY(-50%)}.project-option-copy{text-align:center;align-items:center}.project-option-period{text-align:center;white-space:normal;display:block}.project-chevron{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.work-item-detail{border-top:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));text-align:center;border-left:0;margin-inline:0;padding-inline:14px}.project-detail-content{text-align:center;justify-items:center}.project-detail-summary{margin-inline:auto}.project-detail-list{text-align:center;justify-items:center;padding:0;list-style:none}.project-detail-list li:before{content:"•";color:var(--accent);margin-right:.65em;display:inline-block}.project-detail-tools{text-align:center}.project-tags{justify-content:center}.contact-invite{text-align:center;margin-inline:auto}.contact-links{align-items:center;width:min(100%,520px);margin-inline:auto}.contact-link{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;display:flex}.contact-link-label{width:auto}.contact-link-value{text-align:center}.contact-availability{justify-content:center}@media (width<=840px){.home-inner{width:min(100%,620px)}.contact-link:before{transform:translate(-50%);width:min(100%,280px)!important;left:50%!important}}.section{justify-content:center;padding-top:var(--nav-h)!important;padding-bottom:var(--nav-h)!important;align-items:center!important}#section-home{padding-top:var(--nav-h)!important;padding-bottom:var(--nav-h)!important}.panel-label:before,.panel-label:after{height:2px}.panel-label:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 45%, transparent) 52%, var(--accent));justify-self:stretch;width:100%}.panel-label:after{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 45%, transparent) 48%, transparent)}#section-home{isolation:isolate;display:block;overflow:hidden;padding:0!important}#section-home>.panel-home{width:auto;height:auto;padding:0;position:absolute;inset:0;overflow:hidden;max-height:none!important}.home-stage{isolation:isolate;background:0 0;position:absolute;inset:0;overflow:hidden}.home-hero-art{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.home-hero-orbit{z-index:1;aspect-ratio:1;border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);width:min(49vw,640px);box-shadow:0 0 60px color-mix(in srgb, var(--accent) 8%, transparent), inset 0 0 70px color-mix(in srgb, var(--accent) 5%, transparent);border-radius:50%;position:absolute;top:52%;left:72%;transform:translate(-50%,-50%)}.home-hero-orbit-two{border-color:color-mix(in srgb, var(--accent) 14%, transparent);width:min(38vw,500px);transform:translate(-50%,-50%)rotate(-24deg)scaleY(.64)}.home-hero-sweep{z-index:1;opacity:.55;transform-origin:100%;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 30%, transparent), transparent);width:min(48vw,720px);height:1px;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 48%, transparent));position:absolute;top:18%;right:-12%;transform:rotate(-24deg)}.home-name{z-index:2;color:#eff6f0;letter-spacing:-.085em;text-align:left;text-shadow:0 3px 34px #00000047;width:min(80vw,1100px);max-width:calc(100vw - 52px);margin:0;font-weight:760;line-height:.82;position:absolute;top:49%;left:clamp(26px,8vw,128px);transform:translateY(-50%);font-size:clamp(4rem,7.4vw,8.2rem)!important}.home-name-line{white-space:nowrap;opacity:0;clip-path:inset(0);width:fit-content;display:block}.home-name-accent{color:var(--accent);background:linear-gradient(110deg, color-mix(in srgb, var(--accent) 78%, white) 8%, var(--accent) 48%, color-mix(in srgb, var(--accent) 76%, white) 76%);-webkit-text-fill-color:transparent;background-size:220% 100%;-webkit-background-clip:text;background-clip:text}.section-active .home-name-line{animation:.95s cubic-bezier(.16,1,.3,1) both home-line-enter}.section-active .home-name-line:first-child{animation-delay:.12s}.section-active .home-name-line:nth-child(2){animation-delay:.27s}.section-active .home-name-accent{animation:5.8s ease-in-out 1.5s infinite home-accent-glint}.home-name:after{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 12%, transparent));width:clamp(62px,8vw,116px);height:3px;box-shadow:0 0 18px color-mix(in srgb, var(--accent) 38%, transparent);transform-origin:0;border-radius:3px;position:absolute;bottom:-27px;left:2px;transform:scaleX(0)}.section-active .home-name:after{animation:.7s cubic-bezier(.16,1,.3,1) .72s forwards home-mark-draw}.home-scroll-cue{z-index:3;color:#ebf2ebd1;font:500 10px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;margin:0;padding:10px 0;transition:color .22s,transform .22s;display:inline-flex;position:absolute;bottom:clamp(24px,5vh,60px);right:clamp(24px,7.5vw,116px)}@media (hover:hover) and (pointer:fine){.home-scroll-cue:hover{color:var(--accent);transform:translateY(2px)}}.home-scroll-cue:focus-visible{outline:1px solid var(--accent);outline-offset:6px}.home-scroll-indicator{width:15px;height:23px;color:var(--accent)}.home-scroll-indicator svg{width:15px;height:23px}.home-scroll-indicator path{stroke-width:1.5px}@keyframes home-line-enter{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(32px)}to{opacity:1;clip-path:inset(0 0 -.24em);transform:translate(0,0)}}@keyframes home-mark-draw{to{transform:scaleX(1)}}@keyframes home-accent-glint{0%,72%,to{background-position:100%}34%{background-position:0%}}@media (width<=720px){.home-hero-orbit{width:88vw;top:39%;left:84%}.home-hero-orbit-two{width:67vw}.home-hero-sweep{width:85vw;top:28%;right:-42%}.home-name{width:calc(100vw - 36px);max-width:none;top:48%;left:clamp(18px,6.2vw,44px);font-size:clamp(1.75rem,9vw,4rem)!important}.home-name:after{height:2px;bottom:-20px}.home-scroll-cue{left:50%;right:auto;bottom:max(24px, env(safe-area-inset-bottom));font-size:9px;transform:translate(-50%)}}@media (width>=721px){.home-name{letter-spacing:-.055em}}@media (width<=540px){.scroll-dots{right:4px}.panel-label,.work-category-heading{letter-spacing:.055em;grid-template-columns:minmax(12px,1fr) max-content minmax(12px,1fr);gap:clamp(4px,1.4vw,8px);font-size:clamp(.8rem,4.2vw,1.1rem)!important}@media (hover:hover) and (pointer:fine){.home-scroll-cue:hover{transform:translate(-50%,2px)}}}@media (height<=700px){.about-inner,.contact-inner,.panel-work .work-inner.project-page{max-height:calc(100dvh - var(--nav-h) - 112px)!important}}@media (height<=700px) and (width<=540px){.contact-invite{margin-bottom:6px!important}.contact-links{margin-bottom:10px!important}.contact-link{padding-block:7px!important}}@media (height<=560px) and (width>=721px){.home-name{top:45%;font-size:clamp(3.6rem,7.3vw,7.3rem)!important}.home-name:after{bottom:-18px}.home-scroll-cue{bottom:18px}}.app{isolation:isolate}.app:before{content:"";z-index:-1;pointer-events:none;opacity:.88;filter:saturate(.42)brightness(.8);background:linear-gradient(#05080a80,#05080aa3),url(/images/pcb-hero.webp) 50%/cover no-repeat;position:fixed;inset:0;transform:scale(1.035)}body.light-mode .home-name{color:var(--fg);text-shadow:none}body.light-mode .home-name-accent{background:linear-gradient(110deg, color-mix(in srgb, var(--accent) 78%, #18211b) 8%, var(--accent) 48%, color-mix(in srgb, var(--accent) 72%, #18211b) 76%);-webkit-text-fill-color:transparent;background-size:220% 100%;-webkit-background-clip:text;background-clip:text}body.light-mode .home-scroll-cue{color:color-mix(in srgb, var(--fg) 88%, transparent);text-shadow:0 1px 12px #f5f6f0d1}body.light-mode .home-hero-orbit{border-color:color-mix(in srgb, var(--accent) 20%, transparent);box-shadow:0 0 60px color-mix(in srgb, var(--accent) 5%, transparent), inset 0 0 70px color-mix(in srgb, var(--accent) 3%, transparent)}body.light-mode .home-hero-orbit-two{border-color:color-mix(in srgb, var(--accent) 15%, transparent)}body.light-mode .home-hero-sweep{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 40%, transparent), transparent);filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 24%, transparent))}body.light-mode .tag,body.light-mode .lang-tag,body.light-mode .project-tags li{border-color:color-mix(in srgb, var(--fg) 19%, transparent);background-color:#ffffff7a}body.light-mode .work-item-detail{background:#ffffff57}.mobile-nav,.mobile-main{display:none}@media (width<=840px){html,body,#root{scroll-behavior:smooth;width:100%;min-height:100%;height:auto!important;overflow:clip auto!important}body{cursor:auto}.app{background:0 0;width:100%;min-height:100svh;display:block;position:relative;inset:auto;overflow:clip}.app:before{opacity:.82;background-position:57%;position:fixed}body.light-mode .app:before{opacity:1;background-position:57%}.layout-grid-lines,.nav,.desktop-main,.scroll-dots{display:none!important}.mobile-nav{z-index:500;min-height:calc(var(--nav-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) clamp(12px, 3vw, 26px) 0;border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);align-items:center;gap:clamp(10px,2.5vw,22px);display:flex;position:fixed;inset:0 0 auto}body.light-mode .mobile-nav{background:#f5f6f0f0}.mobile-wordmark{color:var(--fg);font:800 12px/1 var(--font-disp);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:7px;padding:8px 0;display:inline-flex}.mobile-status-led{background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px color-mix(in srgb, var(--accent) 65%, transparent);border-radius:50%;animation:2s ease-in-out infinite status-pulse}.mobile-nav-links{scrollbar-width:none;overscroll-behavior-x:contain;flex:auto;align-items:center;gap:clamp(12px,2.5vw,24px);min-width:0;display:flex;overflow-x:auto}.mobile-nav-links::-webkit-scrollbar{display:none}.mobile-nav-btn{min-height:44px;color:var(--muted);font:600 10px/1.2 var(--font-mono);letter-spacing:.035em;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;padding:0 1px;transition:color .2s;position:relative}.mobile-nav-btn:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .24s var(--ease);border-radius:2px;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.mobile-nav-btn.active{color:var(--fg)}.mobile-nav-btn.active:after{transform:scaleX(1)}.mobile-nav-btn:focus-visible,.mobile-wordmark:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mobile-main{z-index:2;width:100%;padding:calc(var(--nav-h) + env(safe-area-inset-top)) 0 calc(100px + env(safe-area-inset-bottom));display:block;position:relative;overflow:visible}.mobile-section{width:100%;min-width:0;min-height:0;scroll-margin-top:calc(var(--nav-h) + env(safe-area-inset-top) + 14px);border-bottom:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:0 0;padding:clamp(46px,8vw,76px) clamp(20px,7vw,72px);display:block;position:relative;overflow:visible}.mobile-section:last-child{border-bottom:0}.mobile-home{height:calc(100svh - var(--nav-h) - env(safe-area-inset-top));border-bottom:0;min-height:480px;padding:0;overflow:hidden}.mobile-home>.panel-home{width:100%;height:100%;padding:0;position:relative;inset:auto;overflow:hidden;max-height:none!important}.mobile-home .home-stage{min-height:100%;position:absolute;inset:0}.mobile-home .home-name{letter-spacing:-.07em;white-space:normal;width:calc(100% - clamp(40px,14vw,128px));max-width:none;line-height:.94;top:49%;left:clamp(20px,7vw,64px);font-size:clamp(2rem,8.2vw,4.1rem)!important}.mobile-home .home-name-line{white-space:nowrap;max-width:100%}.mobile-home .home-scroll-cue{left:clamp(20px,7vw,64px);right:auto;bottom:calc(24px + env(safe-area-inset-bottom));transform:none}@media (hover:hover) and (pointer:fine){.mobile-home .home-scroll-cue:hover{transform:translateY(2px)}}.mobile-section>.section-inner{width:min(100%,780px);margin:0 auto}.mobile-section .panel-about,.mobile-section .panel-contact{height:auto;position:relative;inset:auto;overflow:visible;max-height:none!important}.mobile-section .about-inner,.mobile-section .contact-inner{width:100%;max-width:700px;margin:0 auto;overflow:visible;transform:none;max-height:none!important}.mobile-section .about-heading,.mobile-section .contact-invite{line-height:1.16;margin-bottom:clamp(14px,3vw,22px)!important;font-size:clamp(2rem,5.5vw,3.25rem)!important}.mobile-section .about-body{color:var(--muted);text-align:left;gap:12px;margin:0 0 18px;font-size:clamp(.95rem,1.8vw,1.08rem);line-height:1.72}.mobile-section .panel-label{letter-spacing:.12em;white-space:normal;text-wrap:balance;justify-content:center;min-width:0;margin-bottom:14px;display:flex;font-size:clamp(1.05rem,2.1vw,1.28rem)!important}.mobile-section .panel-label:before,.mobile-section .panel-label:after{flex:1 1 0;justify-self:auto;min-width:12px;height:2px;width:auto!important}.mobile-section .about-languages{justify-content:flex-start}.mobile-section .skills-marquee-wrapper{touch-action:pan-y;max-width:100%;overflow:hidden}.mobile-section .panel-work{align-items:initial;width:100%;display:block}.mobile-section .work-inner.project-page{width:100%;max-width:780px;height:auto;margin:0 auto;padding:0;overflow:visible;max-height:none!important}.mobile-section .work-catalogue{width:100%;display:block}.mobile-section .work-catalog-group{width:100%}.mobile-section .work-category-heading{letter-spacing:.075em;margin:0 0 clamp(14px,3vw,20px)!important;font-size:clamp(1.45rem,4vw,2rem)!important}.mobile-section .project-option{text-align:left;cursor:pointer;grid-template-rows:auto auto;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;min-height:64px;display:grid;border-bottom:1px solid var(--border)!important;padding:12px 4px!important}@media (hover:hover) and (pointer:fine){.mobile-section .project-option:hover{background:color-mix(in srgb, var(--accent) 3%, transparent)!important;padding-left:4px!important}}.mobile-section .project-option-copy{text-align:left;grid-area:1/2;align-items:flex-start}.mobile-section .project-option-index{grid-area:1/1/span 2;align-self:center;position:static;transform:none}.mobile-section .project-option-period{grid-area:2/2;align-self:start}.mobile-section .project-chevron{grid-area:1/3/span 2;align-self:center;position:static;transform:none}.mobile-section .project-option-title{overflow-wrap:anywhere;font-size:clamp(.92rem,2.2vw,1.1rem);line-height:1.38}.mobile-section .project-option-period{text-align:left;white-space:normal;font-size:.68rem}.mobile-section .work-item-detail{text-align:left;scroll-margin-top:calc(var(--nav-h) + env(safe-area-inset-top) + 24px);margin:0 0 8px 20px;padding:12px 12px 16px 16px}.mobile-section .project-detail-content{text-align:left;justify-items:stretch;gap:12px}.mobile-section .project-role,.mobile-section .project-tech-label{font-size:.67rem}.mobile-section .project-detail-summary{text-align:left;max-width:66ch;font-size:.94rem;line-height:1.62}.mobile-section .project-detail-list{text-align:left;justify-items:start;gap:7px;padding-left:18px;font-size:.88rem;line-height:1.55;list-style:outside}.mobile-section .project-detail-list li:before{content:none}.mobile-section .project-tags{justify-content:flex-start}.mobile-section .project-tags li{white-space:normal;overflow-wrap:anywhere;max-width:100%;padding:4px 6px;font-size:.64rem}.mobile-section .contact-links{width:min(100%,580px);margin-bottom:24px}.mobile-section .contact-link{text-align:left;align-items:flex-start}.mobile-section .contact-link-value{overflow-wrap:anywhere;max-width:100%}.footer-strip{z-index:600;right:clamp(12px,4vw,26px);bottom:max(12px, env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;justify-content:flex-end;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 24px);padding:7px 9px;display:flex;left:auto}.footer-strip .ctrl-btn,.footer-strip .horizontal-trigger-btn{min-width:38px;min-height:38px}.footer-strip .theme-selector,.footer-strip .horizontal-lang-selector{position:relative}.mobile-section .about-heading,.mobile-section .contact-invite{overflow-wrap:anywhere}.section-inner,.about-inner,.contact-inner,.work-inner,.panel-home{overflow:visible;max-height:none!important}.panel-home{overflow:hidden}.mobile-section.is-active .panel-label,.mobile-section.is-active .about-body,.mobile-section.is-active .work-inner,.mobile-section.is-active .contact-links{animation:slide-up-fade .72s var(--ease) both}}@media (width<=540px){.mobile-nav{gap:12px;padding-left:14px;padding-right:10px}.mobile-nav-links{gap:15px}.mobile-nav-btn{font-size:9px}.mobile-section{padding:46px 20px 58px}.mobile-home{padding:0}.mobile-home .home-name{width:calc(100% - 40px);left:20px;font-size:clamp(1.7rem,8.8vw,2.7rem)!important}.mobile-home .home-scroll-cue{left:20px;bottom:calc(22px + env(safe-area-inset-bottom));letter-spacing:.12em;max-width:calc(100% - 40px);font-size:8px}.mobile-section .panel-label{gap:8px;font-size:clamp(.94rem,4.3vw,1.12rem)!important}.mobile-section .panel-label:before,.mobile-section .panel-label:after{min-width:16px}.mobile-section .project-option{grid-template-columns:24px minmax(0,1fr) 18px;gap:4px 8px;padding-left:0!important;padding-right:0!important}.mobile-section .work-item-detail{margin-left:8px;padding-left:12px;padding-right:4px}.mobile-section .project-detail-summary{font-size:.88rem}.mobile-section .project-detail-list{font-size:.82rem}.mobile-section .contact-link{padding-inline:2px!important}}@media (width<=360px){.mobile-nav{gap:7px}.mobile-wordmark{gap:5px;font-size:10px}.mobile-nav-links{gap:6px}.mobile-nav-btn{letter-spacing:.005em;font-size:7.5px}.mobile-section{padding-left:16px;padding-right:16px}.mobile-section.mobile-home{padding:0!important}.mobile-home .home-name{width:calc(100% - 32px);left:16px;font-size:1.78rem!important}.mobile-home .home-scroll-cue{left:16px}.mobile-section .about-heading,.mobile-section .contact-invite{overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto;font-size:clamp(1.45rem,7.5vw,1.65rem)!important}}@media (width<=840px){:root{--mobile-nav-h:74px}.mobile-nav{height:calc(var(--mobile-nav-h) + env(safe-area-inset-top));min-height:calc(var(--mobile-nav-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) clamp(14px, 3vw, 26px) 0;grid-template-rows:28px 36px;grid-template-columns:minmax(0,1fr) auto;align-content:center;row-gap:2px;display:grid}.mobile-wordmark{grid-area:1/1;justify-self:start;min-height:28px;padding-block:3px}.mobile-controls{grid-area:1/2;align-items:center;gap:5px;display:flex}.mobile-control-btn{border:1px solid var(--border);min-width:34px;min-height:30px;color:var(--fg);background:color-mix(in srgb, var(--bg) 68%, transparent);font:600 9px/1 var(--font-mono);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.mobile-control-btn span{color:var(--accent);font:700 17px/1 var(--font-sans)}.mobile-language-control{position:relative}.mobile-language-menu{z-index:10;top:calc(var(--mobile-nav-h) - 8px);border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;gap:4px;padding:5px;display:flex;position:absolute;right:0;box-shadow:0 12px 30px #00000038}.mobile-language-option{min-width:36px;min-height:34px;color:var(--muted);font:600 9px/1 var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:8px}.mobile-language-option.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.mobile-language-option:focus-visible,.mobile-control-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-nav-links{grid-area:2/1/auto/-1;justify-content:space-between;gap:clamp(6px,2vw,18px);overflow:visible}.mobile-nav-btn{min-height:36px}.mobile-nav-btn:after{bottom:1px}.mobile-main{padding-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top));padding-bottom:calc(42px + env(safe-area-inset-bottom))}.mobile-section{scroll-margin-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top) + 14px)}.mobile-section.mobile-home{height:calc(100svh - var(--mobile-nav-h) - env(safe-area-inset-top))}.mobile-section .work-item-detail{scroll-margin-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top) + 24px)}.footer-strip{display:none!important}}@media (width<=360px){.mobile-nav{padding-left:12px;padding-right:12px}.mobile-nav-links{gap:8px}.mobile-nav-btn{letter-spacing:.01em;font-size:8px}}@media (height<=800px) and (width>=841px){.contact-links{margin-bottom:15px}}.mobile-section.is-active .home-name-line{animation:.95s cubic-bezier(.16,1,.3,1) both home-line-enter}.mobile-section.is-active .home-name-line:first-child{animation-delay:.12s}.mobile-section.is-active .home-name-line:nth-child(2){animation-delay:.27s}.mobile-section.is-active .home-name-accent{animation:5.8s ease-in-out 1.5s infinite home-accent-glint}.mobile-section.is-active .home-name:after{animation:.7s cubic-bezier(.16,1,.3,1) .72s forwards home-mark-draw}.section-active .home-hero-orbit-one,.mobile-section.is-active .home-hero-orbit-one{animation:9s ease-in-out infinite hero-orbit-breathe}.section-active .home-hero-orbit-two,.mobile-section.is-active .home-hero-orbit-two{animation:12s ease-in-out 1.2s infinite reverse hero-orbit-breathe}.section-active .home-hero-sweep,.mobile-section.is-active .home-hero-sweep{animation:7.5s ease-in-out 1.1s infinite hero-sweep-pass}.section-active .home-scroll-cue,.mobile-section.is-active .home-scroll-cue{animation:.7s cubic-bezier(.16,1,.3,1) .85s both home-cue-enter}@keyframes home-cue-enter{0%{opacity:0}to{opacity:1}}@keyframes hero-orbit-breathe{0%,to{opacity:.38;filter:brightness(.86)}50%{opacity:.9;filter:brightness(1.25)}}@keyframes hero-sweep-pass{0%,to{opacity:0;transform:rotate(-24deg)translate(-13%)}18%,48%{opacity:.62}68%{opacity:.12;transform:rotate(-24deg)translate(9%)}}@media (width<=720px){.mobile-section.is-active .about-heading span,.mobile-section.is-active .contact-invite span{animation:.72s cubic-bezier(.16,1,.3,1) both line-reveal}.mobile-section.is-active .about-heading span:nth-child(2),.mobile-section.is-active .contact-invite span:nth-child(2){animation-delay:.14s}.mobile-section.is-active .work-category-heading{animation:.62s cubic-bezier(.16,1,.3,1) .12s both slide-up-fade}.mobile-section.is-active .work-item-accordion{animation:.58s cubic-bezier(.16,1,.3,1) both work-row-enter}.mobile-section.is-active .project-picker .work-item-accordion:first-child{animation-delay:.22s}.mobile-section.is-active .project-picker .work-item-accordion:nth-child(2){animation-delay:.32s}.mobile-section.is-active .project-picker .work-item-accordion:nth-child(3){animation-delay:.42s}.mobile-section.is-active .project-picker .work-item-accordion:nth-child(4){animation-delay:.52s}.mobile-section.is-active .project-picker .work-item-accordion:nth-child(5){animation-delay:.62s}}.footer-left-controls{align-items:center;gap:8px;display:flex}@media (width<=540px){.mobile-section .panel-label{white-space:nowrap;text-wrap:nowrap;flex-wrap:nowrap;font-size:clamp(.82rem,4vw,1.04rem)!important}.mobile-section .panel-label:before,.mobile-section .panel-label:after{min-width:clamp(10px,4vw,16px)}}@media (width<=840px){.mobile-home>.panel-home{touch-action:pan-y}}@keyframes mobile-content-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translate(0,0)}}@keyframes mobile-menu-enter{0%{opacity:0;transform:translateY(7px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (width<=840px){:root{--mobile-nav-h:90px}html{scroll-behavior:smooth;min-height:100%;height:auto!important;overflow:clip auto!important}body,#root{scroll-behavior:auto;min-height:100%;height:auto!important;overflow:visible!important}html,body,#root,.mobile-main,.mobile-section{touch-action:pan-y}.mobile-nav{z-index:500;top:env(safe-area-inset-top);width:auto;height:var(--mobile-nav-h);min-height:var(--mobile-nav-h);border:1px solid color-mix(in srgb, var(--fg) 12%, transparent);background:color-mix(in srgb, var(--bg) 91%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.15);backdrop-filter:blur(22px)saturate(1.15);border-radius:20px;grid-template-rows:37px 35px;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:4px 10px;padding:7px 9px;display:grid;position:fixed;left:12px;right:12px;overflow:visible;box-shadow:0 14px 38px #0003,inset 0 1px #ffffff09}body.light-mode .mobile-nav{border-color:color-mix(in srgb, var(--fg) 13%, transparent);background:#f7f8f3eb;box-shadow:0 14px 38px #18211b1c,inset 0 1px #ffffffb8}.mobile-wordmark{min-width:58px;min-height:34px;color:var(--fg);font:800 13px/1 var(--font-disp);letter-spacing:.12em;cursor:pointer;background:0 0;border:0;grid-area:1/1;justify-self:start;align-items:center;gap:9px;padding:0 4px;display:inline-flex}.mobile-status-led{border:1px solid color-mix(in srgb, var(--accent) 72%, transparent);background:var(--accent);width:7px;height:7px;box-shadow:0 0 11px color-mix(in srgb, var(--accent) 48%, transparent);border-radius:50%;flex:none}.mobile-controls{border:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--fg) 3%, transparent);border-radius:12px;grid-area:1/2;align-items:center;gap:4px;padding:3px;display:flex}.mobile-control-btn{min-width:34px;min-height:30px;color:var(--fg);font:700 9px/1 var(--font-mono);letter-spacing:.04em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;padding:0 8px;transition:border-color .2s,color .2s,background .2s,transform .2s;display:inline-flex}.mobile-control-btn[aria-expanded=true]{border-color:color-mix(in srgb, var(--accent) 24%, transparent);color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}@media (hover:hover) and (pointer:fine){.mobile-control-btn:hover{border-color:color-mix(in srgb, var(--accent) 24%, transparent);color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}}.mobile-control-btn:active{transform:scale(.95)}.mobile-theme-icon{fill:none;width:16px;height:16px;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px}.mobile-language-control{position:relative}.mobile-language-trigger{min-width:42px;color:var(--accent)}.mobile-language-menu{z-index:20;top:calc(var(--mobile-nav-h) - 6px);border:1px solid color-mix(in srgb, var(--fg) 14%, transparent);background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:14px;grid-template-columns:repeat(3,minmax(40px,1fr));gap:3px;min-width:136px;padding:5px;animation:.18s cubic-bezier(.2,.75,.25,1) both mobile-menu-enter;display:grid;position:absolute;right:0;box-shadow:0 14px 34px #0000003d}body.light-mode .mobile-language-menu{border-color:color-mix(in srgb, var(--fg) 13%, transparent);background:#f7f8f3f7;box-shadow:0 14px 34px #18211b24}.mobile-language-option{min-width:40px;min-height:36px;color:var(--muted);font:700 9px/1 var(--font-mono);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:9px;transition:color .18s,background .18s}.mobile-language-option.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}@media (hover:hover) and (pointer:fine){.mobile-language-option:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}}.mobile-nav-links{border:1px solid color-mix(in srgb, var(--border) 68%, transparent);background:color-mix(in srgb, var(--fg) 3%, transparent);border-radius:12px;grid-area:2/1/auto/-1;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:2px;width:100%;min-width:0;min-height:34px;padding:3px;display:grid;overflow:visible}.mobile-nav-btn{min-width:0;min-height:27px;color:var(--muted);font:650 clamp(7.8px, 2.15vw, 9.5px)/1 var(--font-mono);letter-spacing:.015em;white-space:nowrap;text-overflow:clip;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0 2px;transition:color .22s,background-color .22s;display:inline-flex;position:relative;overflow:hidden}.mobile-nav-btn:after{content:"";background:var(--accent);transform-origin:50%;border-radius:2px;height:1px;transition:transform .26s cubic-bezier(.2,.75,.25,1);position:absolute;bottom:2px;left:8px;right:8px;transform:scaleX(0)}.mobile-nav-btn.active{color:var(--fg);background:color-mix(in srgb, var(--accent) 9%, transparent)}.mobile-nav-btn.active:after{transform:scaleX(1)}.mobile-nav-btn:focus-visible,.mobile-wordmark:focus-visible,.mobile-control-btn:focus-visible,.mobile-language-option:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 80%, transparent);outline-offset:2px}.mobile-main{padding-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top) + 18px);padding-bottom:calc(36px + env(safe-area-inset-bottom))}.mobile-section{scroll-margin-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top) + 24px)}.mobile-section.mobile-home{height:calc(100svh - var(--mobile-nav-h) - env(safe-area-inset-top) - 22px);min-height:430px}.mobile-section.has-entered .panel-label,.mobile-section.has-entered .about-heading,.mobile-section.has-entered .about-body,.mobile-section.has-entered .skills-marquee-wrapper,.mobile-section.has-entered .about-languages,.mobile-section.has-entered .work-category-heading,.mobile-section.has-entered .work-item-accordion,.mobile-section.has-entered .contact-invite,.mobile-section.has-entered .contact-links,.mobile-section.has-entered .contact-availability{animation:.48s cubic-bezier(.2,.72,.25,1) both mobile-content-enter}.mobile-section.has-entered .about-heading,.mobile-section.has-entered .contact-invite{animation-delay:40ms}.mobile-section.has-entered .about-body{animation-delay:.1s}.mobile-section.has-entered .skills-marquee-wrapper{animation-delay:.16s}.mobile-section.has-entered .about-languages{animation-delay:.2s}.mobile-section.has-entered .about-inner>.panel-label:nth-of-type(2){animation-delay:.14s}.mobile-section.has-entered .about-inner>.panel-label:nth-of-type(3){animation-delay:.2s}.mobile-section.has-entered .work-item-accordion:nth-child(2n){animation-delay:60ms}.mobile-section.has-entered .contact-links{animation-delay:.12s}.mobile-section.has-entered .contact-availability{animation-delay:.18s}.mobile-section.has-entered .about-heading span,.mobile-section.has-entered .contact-invite span{clip-path:none;animation:none;display:block}.mobile-section.has-entered .home-name-line{animation:.78s cubic-bezier(.2,.72,.25,1) both home-line-enter}.mobile-section.has-entered .home-name-line:first-child{animation-delay:80ms}.mobile-section.has-entered .home-name-line:nth-child(2){animation-delay:.18s}.mobile-section.has-entered .home-name:after{animation:.56s cubic-bezier(.2,.72,.25,1) .3s forwards home-mark-draw}.mobile-section.has-entered .home-scroll-cue{animation:.42s ease-out .32s both home-cue-enter}.mobile-section.has-entered .work-category-heading,.mobile-section.has-entered .work-item-accordion{animation-duration:.44s}.mobile-section.has-entered .project-picker .work-item-accordion:first-child,.mobile-section.has-entered .project-picker .work-item-accordion:nth-child(2),.mobile-section.has-entered .project-picker .work-item-accordion:nth-child(3),.mobile-section.has-entered .project-picker .work-item-accordion:nth-child(4),.mobile-section.has-entered .project-picker .work-item-accordion:nth-child(5){animation-delay:40ms}.mobile-section.has-entered .project-picker .work-item-accordion:nth-child(2){animation-delay:90ms}.mobile-section.has-entered .project-picker .work-item-accordion:nth-child(3){animation-delay:.14s}.mobile-section.has-entered .project-picker .work-item-accordion:nth-child(4){animation-delay:.19s}.mobile-section.has-entered .project-picker .work-item-accordion:nth-child(5){animation-delay:.24s}.mobile-section .work-item-detail{scroll-margin-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top) + 28px)}}@media (width>=541px) and (width<=840px){:root{--mobile-nav-h:58px}.mobile-nav{height:var(--mobile-nav-h);min-height:var(--mobile-nav-h);border-radius:18px;grid-template-rows:1fr;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:8px 12px}.mobile-wordmark{grid-area:1/1;min-width:62px}.mobile-nav-links{grid-area:1/2;min-height:36px}.mobile-controls{grid-area:1/3}.mobile-main{padding-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top) + 22px)}.mobile-section{scroll-margin-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top) + 28px)}.mobile-section.mobile-home{height:calc(100svh - var(--mobile-nav-h) - env(safe-area-inset-top) - 28px)}}@media (width<=360px){:root{--mobile-nav-h:88px}.mobile-nav{border-radius:17px;gap:3px 6px;padding:6px 7px;left:8px;right:8px}.mobile-nav-btn{letter-spacing:0;font-size:7.5px}.mobile-wordmark{min-width:52px;font-size:12px}.mobile-controls{gap:2px}.mobile-control-btn{min-width:31px;padding-inline:6px}.mobile-language-trigger{min-width:39px}.mobile-main{padding-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top) + 18px)}}.home-name{line-height:1.02}.home-name-line{clip-path:inset(0 0 -.24em)}.home-name{perspective:900px}.home-name-line{opacity:1;overflow:visible;transform:none;animation:none!important}.home-name-char{opacity:0;transform-origin:50% 92%;filter:blur(7px);backface-visibility:hidden;will-change:transform, opacity, filter;display:inline-block;transform:translateY(.62em)rotateX(-68deg)skewY(5deg)scale(.94)}.section-active .home-name-char,.mobile-section.has-entered .home-name-char{animation-name:home-character-assemble,home-character-signal;animation-duration:.82s,6.2s;animation-timing-function:cubic-bezier(.16,1,.3,1),ease-in-out;animation-delay:var(--reveal-delay,0s), var(--signal-delay,3s);animation-iteration-count:1,infinite;animation-fill-mode:both,both}.home-name-accent .home-name-char{-webkit-text-fill-color:currentColor}.home-hero-orbit-one:before,.home-hero-orbit-two:before{content:"";border:1px solid #0000;border-top-color:color-mix(in srgb, var(--accent) 74%, transparent);border-right-color:color-mix(in srgb, var(--accent) 25%, transparent);border-radius:inherit;animation:18s linear infinite home-orbit-arc;position:absolute;inset:-1px}.home-hero-orbit-two:before{border-top-color:color-mix(in srgb, var(--accent) 48%, transparent);border-right-color:color-mix(in srgb, var(--accent) 14%, transparent);animation-duration:26s;animation-direction:reverse}.home-hero-orbit-one:after,.home-hero-orbit-two:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 80%, transparent);border-radius:50%;animation:3.6s ease-in-out infinite home-orbit-beacon;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.home-hero-orbit-two:after{opacity:.75;width:4px;height:4px;animation-delay:-1.4s;top:12%}.home-signal-field{z-index:1;opacity:.64;pointer-events:none;width:min(68vw,860px);height:96%;filter:drop-shadow(0 0 7px color-mix(in srgb, var(--accent) 16%, transparent));position:absolute;top:2%;right:-1%;overflow:visible}.home-signal-trace{fill:none;stroke:color-mix(in srgb, var(--accent) 48%, transparent);stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 11;vector-effect:non-scaling-stroke}.home-signal-trace-a,.home-signal-trace-c{animation:24s linear infinite home-trace-drift}.home-signal-trace-b{animation:30s linear -9s infinite reverse home-trace-drift}.home-signal-trace-d{animation:21s linear -4s infinite reverse home-trace-drift}.home-signal-pulse{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-dasharray:4 3200;stroke-dashoffset:820px;opacity:0;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 90%, transparent));vector-effect:non-scaling-stroke;animation:8.2s linear 1.45s infinite home-signal-pass}.home-signal-node{fill:var(--accent);opacity:.54;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 84%, transparent));transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite home-node-pulse}.home-signal-node-b{animation-delay:-1.1s}.home-signal-node-c{animation-delay:-2.1s}.home-signal-node-d{animation-delay:-.6s}body.light-mode .home-signal-field{opacity:.34;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 12%, transparent))}.app:before{opacity:.84;filter:saturate(.34)brightness(.74);background:linear-gradient(#05080a94,#05080ab8),url(/images/pcb-hero.webp) 50%/cover no-repeat}.home-copy{z-index:2;width:min(78vw,1040px);max-width:calc(100vw - 52px);position:absolute;top:47%;left:clamp(26px,8vw,128px);transform:translateY(-50%)}.home-copy .home-name{width:100%;max-width:100%;margin:0;position:relative;top:auto;left:auto;transform:none;font-size:clamp(4rem,7.25vw,7.6rem)!important}.home-tagline{width:fit-content;max-width:100%;color:var(--accent);font:500 11px/1.6 var(--font-mono);letter-spacing:.08em;text-align:left;text-transform:uppercase;margin:27px 0 0}.home-tagline:before{content:"//";color:var(--muted);margin-right:10px;display:inline-block}.home-summary{max-width:50ch;color:color-mix(in srgb, var(--fg) 76%, transparent);text-align:left;text-wrap:pretty;margin:9px 0 0;font-size:clamp(14px,1.1vw,16px);line-height:1.75}.contact-inner{width:min(100%,720px);max-width:720px}.contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,680px);margin:30px auto 24px;display:grid}.contact-link{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 44%, transparent);border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-width:0;min-height:76px;padding:14px 17px;transition:transform .22s,border-color .22s,background-color .22s}@media (hover:hover) and (pointer:fine){.contact-link:hover{border-color:color-mix(in srgb, var(--accent) 52%, var(--border));transform:translateY(-2px)}}.contact-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-link-label{width:auto;font-family:var(--font-mono)}.contact-link-value{overflow-wrap:anywhere;max-width:100%;font-size:clamp(13px,1.05vw,15px)}.contact-availability{justify-content:center;margin-top:18px}@media (width<=720px){.home-copy{width:calc(100vw - 36px);max-width:none;top:48%;left:clamp(18px,6.2vw,44px)}.home-copy .home-name{letter-spacing:-.06em;width:100%;max-width:none;font-size:clamp(2rem,9vw,4rem)!important}.home-tagline{letter-spacing:.045em;margin-top:22px;font-size:9px}.home-summary{max-width:38ch;margin-top:8px;font-size:13px;line-height:1.65}.contact-links{grid-template-columns:1fr;gap:8px;width:min(100%,520px);margin-top:22px}.contact-link{min-height:66px;padding:12px 15px}}@media (width<=380px){.home-copy .home-name{font-size:clamp(1.75rem,9vw,2.25rem)!important}.home-tagline{font-size:8px}}@media (height<=680px) and (width>=721px){.home-copy{top:44%}.home-copy .home-name{font-size:clamp(3.6rem,6.2vw,6.2rem)!important}.home-tagline{margin-top:19px}.home-summary{margin-top:6px;font-size:14px}}@keyframes home-character-assemble{0%{opacity:0;filter:blur(7px)brightness(1.55);transform:translateY(.62em)rotateX(-68deg)skewY(5deg)scale(.94)}72%{opacity:1;filter:blur()brightness(1.22);transform:translateY(-.045em)rotateX(5deg)skewY(-1deg)scale(1.015)}to{opacity:1;filter:blur()brightness();transform:translate(0,0)rotateX(0)skewY(0)scale(1)}}@keyframes home-character-signal{0%,8%,to{filter:brightness();text-shadow:0 0 #0000}3%{filter:brightness(1.4);text-shadow:0 0 18px color-mix(in srgb, var(--accent) 44%, transparent)}}@keyframes home-orbit-arc{to{transform:rotate(360deg)}}@keyframes home-orbit-beacon{0%,to{opacity:.48;scale:.78}50%{opacity:1;scale:1.28}}@keyframes home-trace-drift{to{stroke-dashoffset:-192px}}@keyframes home-signal-pass{0%{opacity:0;stroke-dashoffset:820px}12%{opacity:.9}86%{opacity:.72}to{opacity:0;stroke-dashoffset:-120px}}@keyframes home-node-pulse{0%,to{opacity:.38;scale:.82}52%{opacity:.94;scale:1.4}}@media (width<=720px){.home-signal-field{opacity:.5;width:128vw;height:100%;top:0;right:-47%}body.light-mode .home-signal-field{opacity:.28}.home-name-char{transform:translateY(.48em)rotateX(-52deg)skewY(3deg)scale(.95)}@keyframes home-character-assemble{0%{opacity:0;filter:blur(6px)brightness(1.5);transform:translateY(.48em)rotateX(-52deg)skewY(3deg)scale(.95)}72%{opacity:1;filter:blur()brightness(1.18);transform:translateY(-.035em)rotateX(4deg)scale(1.01)}to{opacity:1;filter:blur()brightness();transform:translate(0,0)rotateX(0)scale(1)}}}.desktop-main{overflow:clip}.panel-work .work-inner.project-page{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 35%, transparent) transparent}.panel-work .work-inner.project-page::-webkit-scrollbar{width:3px;display:block}.panel-work .work-inner.project-page::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 35%, transparent);border-radius:3px}.home-copy .home-tagline{font-size:12px}.home-copy .home-summary{max-width:53ch;font-size:16px}.about-inner .about-body{max-width:660px;color:color-mix(in srgb, var(--fg) 78%, transparent);text-align:left;text-wrap:pretty;margin-inline:auto}.about-inner .about-subheading{color:var(--muted);font:500 11px/1.5 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:14px;margin:20px 0 12px;display:flex;font-size:11px!important}.about-inner .about-subheading:before,.about-inner .about-subheading:after{background:var(--border);flex:1;height:1px;width:auto!important}.project-picker .project-option{text-align:left;grid-template-columns:34px minmax(0,1fr) 128px 28px;align-items:center;gap:16px;min-height:80px;padding:14px 4px;transition:background-color .2s,border-color .2s;display:grid}@media (hover:hover) and (pointer:fine){.project-picker .project-option:hover{padding:14px 4px}}.project-picker .project-option-index{border:1px solid var(--border);border-radius:6px;grid-area:1/1;place-items:center;width:32px;height:32px;font-size:10px;display:grid;position:static;transform:none}.project-picker .project-option-copy{text-align:left;grid-area:1/2;align-items:flex-start;gap:5px}.project-picker .project-option-title{text-wrap:pretty;font-size:clamp(16px,1.3vw,18px);line-height:1.35}.project-option-context{color:var(--muted);font:400 11px/1.5 var(--font-mono);letter-spacing:.01em}.project-picker .project-option-period{text-align:right;grid-area:1/3;margin:0;font-size:11px;line-height:1.6;position:static}.project-picker .project-chevron{border:1px solid var(--border);border-radius:50%;grid-area:1/4;place-items:center;width:26px;height:26px;font-size:16px;display:grid;position:static;transform:none}.work-catalogue .work-item-detail{border-left:2px solid color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--bg) 68%, transparent);text-align:left;border-top:0;border-radius:0 8px 8px 0;margin:0 0 10px;padding:18px 20px}.work-catalogue .project-detail-content{text-align:left;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 170px;justify-items:stretch;gap:14px 24px}.work-catalogue .project-detail-heading{grid-column:1/-1}.work-catalogue .project-role{font-size:10px}.work-catalogue .project-detail-summary{color:var(--fg);text-align:left;margin:0;font-size:14px;line-height:1.7}.work-catalogue .project-detail-list{color:color-mix(in srgb, var(--fg) 77%, transparent);text-align:left;justify-items:stretch;gap:7px;padding-left:18px;font-size:14px;line-height:1.7;list-style:outside}.work-catalogue .project-detail-list li:before{content:none}.work-catalogue .project-detail-list li::marker{color:var(--accent)}.work-catalogue .project-detail-tools{text-align:left}.work-catalogue .project-tags{justify-content:flex-start;gap:6px}.work-catalogue .project-tags li{border-radius:4px}.work-catalogue .experience-detail-content{grid-template-columns:1fr}.contact-intro{max-width:48ch;color:color-mix(in srgb, var(--fg) 76%, transparent);text-wrap:pretty;margin:0 auto;font-size:15px;line-height:1.7}.contact-link{padding-right:44px;position:relative}.contact-link:first-child{border-color:color-mix(in srgb, var(--accent) 24%, var(--border));grid-column:1/-1}.contact-link:first-child .contact-link-value{font-size:19px}.contact-link-arrow{color:var(--muted);font-size:20px;transition:color .2s,transform .2s;position:absolute;top:50%;right:17px;transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.contact-link:hover .contact-link-arrow{color:var(--accent);transform:translate(2px,calc(-50% - 2px))}}@media (width<=840px){.mobile-section:last-child{min-height:calc(100svh - var(--mobile-nav-h) - 60px)}.project-picker .project-option{grid-template-columns:28px minmax(0,1fr) 25px;gap:5px 12px;min-height:88px;padding:14px 0}@media (hover:hover) and (pointer:fine){.project-picker .project-option:hover{padding:14px 0}}.project-picker .project-option-index{grid-row:1/span 2;width:26px;height:28px}.project-picker .project-option-copy{gap:5px}.project-picker .project-option-title{font-size:16px}.project-picker .project-option-period{text-align:left;grid-area:2/2}.project-picker .project-chevron{grid-area:1/3/span 2;width:24px;height:24px}.work-catalogue .work-item-detail{padding:16px}.work-catalogue .project-detail-content{grid-template-columns:1fr;gap:15px}.work-catalogue .project-detail-list{font-size:14px}}@media (width<=720px){.home-copy{width:auto;right:clamp(18px,6.2vw,44px)}.home-copy .home-name{font-size:clamp(1.4rem,8.1vw,3.8rem)!important}.home-copy .home-tagline{font-size:10px;line-height:1.7}.home-copy .home-summary{font-size:14px;line-height:1.75}.contact-link:first-child .contact-link-value{font-size:16px}.contact-intro{font-size:14px}}@media (width<=540px){.mobile-nav-btn{text-transform:uppercase;font-size:clamp(8px,2.35vw,10px)}}.mobile-nav-btn{text-transform:uppercase}@media (width>=721px) and (width<=840px){.home-copy .home-name{font-size:7vw!important}}@property --scene-a{syntax:"<color>";inherits:true;initial-value:#c8ff00}@property --scene-b{syntax:"<color>";inherits:true;initial-value:#48d5c6}:root{--bg:#070c0e;--fg:#f3f7f0;--muted:#9ead9f;--border:#d4f0e021;--nav-h:68px;--type-section-heading:clamp(32px, 3.2vw, 46px);--type-section-eyebrow:13px;--type-section-label:clamp(22px, 1.85vw, 25px);--type-item-heading:clamp(18px, 1.45vw, 20.5px)}.app{--scene-a:#c8ff00;--scene-b:#48d5c6;background-color:var(--bg);background-image:none;transition:--scene-a 1.4s,--scene-b 1.4s}@media (width>=841px){.app[data-desktop-section=about]{--scene-a:#59dec4;--scene-b:#a4c86a}.app[data-desktop-section=work]{--scene-a:#63ceee;--scene-b:#8a8ae3}.app[data-desktop-section=contact]{--scene-a:#c8ff00;--scene-b:#38c7b1}}@media (width<=840px){.app[data-mobile-section=about]{--scene-a:#59dec4;--scene-b:#a4c86a}.app[data-mobile-section=work],.app[data-mobile-section=experience]{--scene-a:#63ceee;--scene-b:#8a8ae3}.app[data-mobile-section=contact]{--scene-a:#c8ff00;--scene-b:#38c7b1}}.app:before{z-index:-2;filter:saturate(.28)brightness(.68);opacity:.26;background:linear-gradient(90deg,#050b0df7,#050b0de6 44%,#050b0d8f),url(/images/pcb-hero.webp) 75%/cover no-repeat}.app:after{content:none}.desktop-main,.mobile-main{z-index:2;position:relative}.bg-circuits-container{z-index:0;pointer-events:none;opacity:.85;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.ambient-halo{pointer-events:none;border-radius:50%;position:absolute}.ambient-halo-one{background:radial-gradient(ellipse, color-mix(in srgb, var(--scene-a) 9.5%, transparent), transparent 64%);opacity:.68;width:95%;height:125%;animation:19s ease-in-out infinite alternate atmosphere-drift;top:-28%;right:-22%}.ambient-halo-two{background:radial-gradient(ellipse, color-mix(in srgb, var(--scene-b) 6.5%, transparent), transparent 66%);opacity:.55;width:80%;height:105%;animation:23s ease-in-out infinite alternate-reverse atmosphere-drift;bottom:-34%;left:-24%}.bg-circuit{opacity:.22}.bg-circuit .trace-base{stroke:var(--scene-a);opacity:.16}.bg-circuit .trace-pulse-glow{stroke:var(--scene-a);opacity:.34}.bg-circuit .trace-pulse{stroke:var(--accent);opacity:.88}.bg-circuit .pad{stroke:var(--scene-a);opacity:.38}.nav{--nav-pill-h:44px;height:var(--nav-h);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(24px,4vw,48px);display:grid}.nav-wordmark{height:var(--nav-pill-h);box-shadow:none;letter-spacing:.1em;background:0 0;border:0;justify-content:center;align-items:center;gap:10px;padding:0;font-size:15px;transition:color .25s,transform .25s;display:inline-flex}@media (hover:hover) and (pointer:fine){.nav-wordmark:hover{color:var(--accent);text-shadow:none;transform:translateY(-1px)}}.nav-wordmark-text{margin-right:-.1em;font-weight:800}.nav-links{height:var(--nav-pill-h);border:1px solid color-mix(in srgb, var(--scene-a) 22%, var(--border));background:#060c0ebd;border-radius:999px;grid-template-columns:repeat(4,minmax(clamp(112px,9vw,140px),1fr));align-items:center;gap:0;padding:3px;display:grid;position:relative;box-shadow:0 10px 32px #00000047,inset 0 1px #ffffff0d}.nav-glider{border:1px solid color-mix(in srgb, var(--accent) 42%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), color-mix(in srgb, var(--scene-a) 6%, transparent));width:calc(25% - 1.5px);box-shadow:0 0 20px color-mix(in srgb, var(--accent) 14%, transparent), inset 0 1px 0 color-mix(in srgb, var(--accent) 28%, transparent);transform:translate3d(calc(var(--active-idx,0) * 100%), 0, 0);pointer-events:none;border-radius:999px;transition:transform .42s cubic-bezier(.16,1,.3,1);position:absolute;top:3px;bottom:3px;left:3px}.nav-links>li{min-width:0;height:100%;display:flex}.nav-btn{z-index:1;width:100%;height:100%;font-family:var(--font-mono);letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;transition:color .25s;display:inline-flex;position:relative}.nav-btn:before,.nav-btn:after{display:none!important}.nav-btn-idx{color:var(--accent);letter-spacing:.04em;opacity:.6;font-size:11px;font-weight:500;transition:opacity .25s}.nav-btn.active .nav-btn-idx{opacity:1}@media (hover:hover) and (pointer:fine){.nav-btn:hover .nav-btn-idx{opacity:1}}.nav-btn.active{color:var(--fg)}.nav-btn-label{margin-right:-.08em}@media (width>=841px) and (width<=1100px){.nav-links{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-btn{letter-spacing:.05em;gap:6px;padding:0 12px;font-size:12px}.nav-btn-idx{font-size:10px}}.nav>.nav-wordmark{justify-self:start}.nav-clock{height:var(--nav-pill-h);box-shadow:none;background:0 0;border:0;justify-content:center;justify-self:end;gap:9px;padding:0}.nav-clock:before{content:none}.clock-time{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.06em;min-width:64px;margin-right:-.06em;font-size:12px}.scroll-dots{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 74%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;gap:8px;padding:10px 6px;right:36px;box-shadow:0 8px 24px #0000003d}.scroll-dot{background:var(--muted);opacity:.42;border-radius:999px;width:6px;height:6px;transition:height .3s cubic-bezier(.16,1,.3,1),background-color .25s,opacity .25s,transform .25s,box-shadow .25s}@media (hover:hover) and (pointer:fine){.scroll-dot:hover{background:var(--fg);opacity:.85;transform:scale(1.15)}}.scroll-dot-active{background:var(--accent);height:18px;box-shadow:0 0 10px color-mix(in srgb, var(--accent) 65%, transparent);opacity:1;transform:none}.ctrl-btn{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:34px;color:var(--fg);font:600 9.5px/1 var(--font-mono);letter-spacing:.12em;border-radius:999px;gap:7px;padding:0 13px;transition:border-color .25s,color .25s,background-color .25s,transform .25s;box-shadow:0 6px 20px #0003}@media (hover:hover) and (pointer:fine){.ctrl-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}}.theme-icon{width:12px;height:12px;stroke:var(--accent)}.horizontal-lang-selector{width:34px;height:34px}.horizontal-trigger-btn,.horizontal-opt-btn{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:34px;height:34px;color:var(--fg);font:600 9.5px/1 var(--font-mono);letter-spacing:.04em;box-shadow:0 6px 20px #0003}.horizontal-trigger-btn.active{border-color:var(--accent);color:var(--accent)}@media (hover:hover) and (pointer:fine){.horizontal-trigger-btn:hover{border-color:var(--accent);color:var(--accent)}}.home-copy{width:min(62vw,880px);top:47%;left:clamp(36px,6.5vw,116px)}.home-copy .home-name{letter-spacing:-.06em;line-height:1.02;font-size:clamp(3.8rem,6.4vw,7.1rem)!important}.home-copy .home-name:after{width:clamp(220px,28vw,500px);height:3px;bottom:-22px}.home-copy .home-tagline{letter-spacing:.09em;margin-top:38px;padding:0;font-size:11px;display:inline-block}.home-copy .home-tagline:before{color:var(--accent);margin-right:9px;font-weight:700}.section-above .home-name-char{opacity:1;filter:none;transform:none}.section-above .home-name:after{transform:scaleX(1)}.home-scroll-cue{letter-spacing:.15em;padding:8px 16px;font-size:9.5px;bottom:22px;left:50%;right:auto;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.home-scroll-cue:hover{color:var(--accent);transform:translate(-50%,-2px)}}.home-processor{aspect-ratio:1;width:clamp(240px,25vw,370px);transform:translate3d(calc(-50% + var(--pointer-x,0) * 14px), calc(-50% + var(--pointer-y,0) * 14px), 0) rotateX(calc(var(--pointer-y,0) * -6deg)) rotateY(calc(var(--pointer-x,0) * 6deg));transform-style:preserve-3d;transition:transform .32s cubic-bezier(.16,1,.3,1);position:absolute;top:47%;left:77%}.processor-orbit{pointer-events:none;border-radius:50%;position:absolute}.processor-orbit-outer{border:1px solid color-mix(in srgb, var(--scene-a) 18%, transparent);box-shadow:inset 0 0 40px color-mix(in srgb, var(--scene-a) 4%, transparent);inset:2%}.processor-orbit-outer:before{content:"";border:1px solid #0000;border-top-color:color-mix(in srgb, var(--accent) 65%, transparent);border-bottom-color:color-mix(in srgb, var(--scene-b) 35%, transparent);border-radius:50%;animation:22s linear infinite home-orbit-arc;position:absolute;inset:-1px}.processor-orbit-inner{border:1px dashed color-mix(in srgb, var(--scene-a) 22%, transparent);animation:32s linear infinite reverse home-orbit-arc;inset:14%}.processor-traces{opacity:.75;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.processor-trace-line{fill:none;stroke:color-mix(in srgb, var(--scene-a) 38%, transparent);stroke-width:1.25px;stroke-linecap:round}.processor-trace-diag{fill:none;stroke:color-mix(in srgb, var(--scene-a) 22%, transparent);stroke-width:1px;stroke-dasharray:4 6;stroke-linecap:round}.processor-trace-pulse{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-dasharray:18 140;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 80%, transparent));animation:3.6s linear infinite processor-signal-flow}.processor-trace-pulse-alt{stroke:var(--scene-b);stroke-width:1.5px;stroke-dasharray:12 160;animation-duration:4.8s;animation-direction:reverse}.processor-trace-node{fill:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 70%, transparent));transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite home-node-pulse}.processor-trace-node-b{animation-delay:-.9s}.processor-trace-node-c{animation-delay:-1.8s}.processor-trace-node-d{animation-delay:-2.7s}.processor-trace-node-dim{fill:color-mix(in srgb, var(--scene-a) 65%, transparent);filter:none}@keyframes processor-signal-flow{0%{stroke-dashoffset:158px}to{stroke-dashoffset:0}}.processor-chip{animation:9s ease-in-out infinite processor-float;position:absolute;inset:25%;transform:perspective(700px)rotateX(38deg)rotate(-28deg)}.processor-chip:before{content:"";border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--accent) 12%, transparent), transparent 70%);border-radius:8px;position:absolute;inset:-7px}.processor-pins{pointer-events:none;position:absolute}.processor-pins-h{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent) 72%, #d8e8c8) 0 4px, transparent 4px 10px);inset:-10px 14%;-webkit-mask-image:linear-gradient(#000 0 8px,#0000 8px calc(100% - 8px),#000 calc(100% - 8px) 100%);mask-image:linear-gradient(#000 0 8px,#0000 8px calc(100% - 8px),#000 calc(100% - 8px) 100%)}.processor-pins-v{background:repeating-linear-gradient(180deg, color-mix(in srgb, var(--accent) 72%, #d8e8c8) 0 4px, transparent 4px 10px);inset:14% -10px;-webkit-mask-image:linear-gradient(90deg,#000 0 8px,#0000 8px calc(100% - 8px),#000 calc(100% - 8px) 100%);mask-image:linear-gradient(90deg,#000 0 8px,#0000 8px calc(100% - 8px),#000 calc(100% - 8px) 100%)}.processor-chip-inner{border:1.5px solid color-mix(in srgb, var(--accent) 68%, transparent);box-shadow:16px 26px 48px #00000094, inset 0 1px 0 #ffffff29, inset 0 0 26px #b0f6a317, 0 0 64px color-mix(in srgb, var(--accent) 11%, transparent);background:linear-gradient(#c8ff000a 1px,#0000 1px) 0 0/10px 10px,linear-gradient(90deg,#c8ff000a 1px,#0000 1px) 0 0/10px 10px,linear-gradient(135deg,#1b332d,#071210 58%,#1e3d30);border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0;overflow:hidden}.processor-die-code,.processor-die-sub{font:500 7.5px/1 var(--font-mono);letter-spacing:.16em;color:color-mix(in srgb, var(--accent) 75%, var(--fg));opacity:.78;text-transform:uppercase}.processor-chip-inner>span{color:#e4f7d8;font:800 clamp(18px, 2.2vw, 28px)/1 var(--font-disp);letter-spacing:-.03em;text-shadow:0 0 18px color-mix(in srgb, var(--accent) 32%, transparent)}.processor-chip-inner>i{background:var(--accent);width:5px;height:5px;box-shadow:0 0 12px var(--accent);border-radius:50%;animation:2.6s ease-in-out infinite pulse-dot;position:absolute;top:9px;left:9px}@keyframes processor-float{0%,to{transform:perspective(700px)translateY(0)rotateX(38deg)rotate(-28deg)}50%{transform:perspective(700px)translateY(-11px)rotateX(42deg)rotate(-25deg)}}.section-active .home-tagline,.mobile-section.has-entered .home-tagline{animation:.8s .65s both atmosphere-reveal}@media (width>=841px){.home-copy .home-name{font-size:clamp(3.6rem,6vw,7.1rem)!important}.home-processor{width:clamp(240px,22vw,370px);left:80%}}.home-tagline-item{white-space:nowrap}.about-inner{width:min(100%,880px);max-width:880px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0;position:relative}.about-inner:before{content:none}.about-inner>.panel-label,.contact-inner>.panel-label{font:600 12px/1.4 var(--font-mono);letter-spacing:.16em}.about-inner>.panel-label:before,.about-inner>.panel-label:after,.contact-inner>.panel-label:before,.contact-inner>.panel-label:after{height:1px}.about-inner .about-heading{margin:16px auto 22px}.about-heading>span:last-child{color:var(--accent)}.about-facts{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(120deg,#d1eee00a,#070f1280);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin:0 auto 16px;padding:0;list-style:none;display:grid;overflow:hidden}.about-fact{text-align:center;flex-direction:column;align-items:center;gap:5px;padding:13px 12px 12px;transition:background-color .25s;display:flex;position:relative}.about-fact+.about-fact{border-left:1px solid var(--border)}.about-fact:before{content:"";background:var(--accent);opacity:.7;border-radius:0 0 2px 2px;width:26px;height:2px;transition:width .35s cubic-bezier(.16,1,.3,1),opacity .25s;position:absolute;top:0;left:50%;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.about-fact:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.about-fact:hover:before{opacity:1;width:54px}}.about-fact strong{color:var(--fg);font:700 clamp(20px, 1.9vw, 26px)/1 var(--font-disp);letter-spacing:-.03em}.about-fact span{color:var(--muted);font:600 10.5px/1.35 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.section-active .about-facts,.mobile-section.has-entered .about-facts{animation:.7s .2s both atmosphere-reveal}body.light-mode .about-facts{background:#ffffffbd;box-shadow:0 10px 28px #1423180f}.about-inner .about-body{border:1px solid var(--border);border-left:3px solid var(--accent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ced9d2;text-align:left;background:linear-gradient(120deg,#d1eee00b,#070f129e);border-radius:12px;max-width:760px;margin:0 auto 20px;padding:20px 26px;font-size:15.5px;line-height:1.76;box-shadow:0 14px 36px #0003}.about-body strong{color:var(--fg);border-bottom:1px solid color-mix(in srgb, var(--accent) 42%, transparent);padding-bottom:1px;font-weight:600}.about-inner .about-subheading{color:var(--muted);letter-spacing:.14em;margin:18px 0 10px;font-size:11.5px!important}.tag{border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.06em;background:#d2f5e109;border-radius:7px;padding:7px 14px;font-size:11px;transition:border-color .22s,background-color .22s,color .22s,transform .22s}.marquee-tag{gap:7px}.marquee-tag:before{content:"";background:color-mix(in srgb, var(--accent) 65%, transparent);border-radius:50%;width:4px;height:4px}@media (hover:hover) and (pointer:fine){.tag:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--fg);transform:translateY(-1px)}}.about-languages{gap:10px;margin-top:6px}.lang-tag{border-color:var(--border);background:#d2f5e109;border-radius:8px;transition:border-color .25s,background-color .25s,transform .25s;padding:7px 15px!important;font-size:12px!important}@media (hover:hover) and (pointer:fine){.lang-tag:hover{border-color:color-mix(in srgb, var(--accent) 48%, transparent);background:color-mix(in srgb, var(--accent) 6%, transparent);transform:translateY(-2px)}}.panel-work .work-inner.project-page{width:min(100%,1040px);max-width:1040px;padding:4px 10px 10px;max-height:calc(100dvh - var(--nav-h) - 104px)!important;overflow:visible!important}.work-catalogue{gap:clamp(20px,2.8vh,30px)}.work-category-heading{margin-bottom:14px}.project-picker{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;display:grid!important}.work-item-accordion{height:100%;display:flex}.project-picker .project-option{border:1px solid var(--border);background:linear-gradient(120deg,#d1eae10d,#0810138a);border-radius:14px;grid-template-rows:1fr;grid-template-columns:50px minmax(0,1fr) 36px;align-items:center;gap:0 16px;width:100%;height:100%;min-height:128px;transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .28s,background-color .28s,box-shadow .28s;display:grid;position:relative;box-shadow:0 10px 28px #0000002e;padding:18px 20px!important}.project-picker .project-option-index{background:color-mix(in srgb, var(--scene-a) 7%, transparent);border-color:color-mix(in srgb, var(--scene-a) 26%, var(--border));width:50px;height:50px;color:var(--accent);border-radius:12px;grid-area:1/1;align-self:center;margin-top:0;position:relative;top:auto;left:auto}.project-option-index>svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.project-option-index>span{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));background:var(--bg);color:var(--accent);font:600 8px/1 var(--font-mono);border-radius:5px;padding:2px 5px;position:absolute;top:-5px;bottom:auto;right:-5px}.project-picker .project-option-copy{text-align:left;flex-direction:column;grid-area:1/2;align-self:center;align-items:flex-start;gap:5px;min-width:0;display:flex}.project-picker .project-option-title{font-size:var(--type-item-heading);letter-spacing:-.02em;overflow-wrap:break-word;text-wrap:pretty;font-weight:700;line-height:1.25}.project-picker .project-option-period{color:var(--accent);font:600 10.5px/1.35 var(--font-mono);letter-spacing:.06em;text-align:left;white-space:nowrap;grid-area:auto;margin:0}.project-option-context{font-size:12px;line-height:1.4}html.is-modal-open,html.is-modal-open body{overflow:hidden!important}.work-modal-body{overscroll-behavior:contain}.project-picker .project-chevron{background:#ffffff06;grid-area:1/3;align-self:center;width:36px;height:36px;font-size:15px;transition:color .25s,border-color .25s,background-color .25s,transform .3s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.project-option:hover .project-chevron{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);transform:translate(2px,-2px)}}.project-picker .project-option.is-open{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)}.work-modal-backdrop{z-index:1200;-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);background:#04090bc2;place-items:center;padding:clamp(14px,3vw,36px);animation:.24s both work-modal-backdrop-in;display:grid;position:fixed;inset:0}.work-modal-dialog{border:1px solid color-mix(in srgb, var(--accent) 36%, var(--border));background:radial-gradient(ellipse at 85% 0%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 55%), linear-gradient(145deg, #0b1618f7, #060c0efa);width:min(100%,820px);max-height:calc(100dvh - 36px);color:var(--fg);box-shadow:0 28px 80px #000000ad, inset 0 1px 0 #ffffff14, 0 0 54px color-mix(in srgb, var(--accent) 8%, transparent);border-radius:16px;flex-direction:column;margin:0;padding:0;animation:.36s cubic-bezier(.16,1,.3,1) both work-modal-dialog-in;display:flex;position:relative;overflow:hidden}.work-modal-topbar{border-bottom:1px solid var(--border);background:#ffffff05;justify-content:space-between;align-items:center;gap:12px;padding:13px 22px;display:flex}.work-modal-kicker{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.work-modal-led{background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px var(--accent);border-radius:50%;animation:2s ease-in-out infinite status-pulse}.work-modal-code{color:var(--accent);font:600 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.work-modal-period{border:1px solid var(--border);color:var(--muted);font:500 10px/1.3 var(--font-mono);background:#ffffff08;border-radius:999px;padding:3px 9px}.work-modal-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.work-modal-counter{color:var(--muted);font:500 10px/1 var(--font-mono);letter-spacing:.08em;margin-right:4px}.work-modal-nav-btn,.work-modal-close-btn{border:1px solid var(--border);height:30px;color:var(--fg);font:600 11px/1 var(--font-mono);cursor:pointer;background:#ffffff08;border-radius:8px;justify-content:center;align-items:center;transition:border-color .2s,color .2s,background-color .2s,transform .2s;display:inline-flex}.work-modal-nav-btn{width:30px;font-size:13px}.work-modal-close-btn{gap:6px;margin-left:2px;padding:0 10px}.work-modal-close-btn span{letter-spacing:.08em;color:var(--muted);font-size:9px}.work-modal-close-btn i{font-size:15px;font-style:normal;line-height:1}@media (hover:hover) and (pointer:fine){.work-modal-nav-btn:hover,.work-modal-close-btn:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);transform:translateY(-1px)}.work-modal-close-btn:hover span{color:var(--accent)}}.work-modal-body{scrollbar-width:thin;flex-direction:column;gap:18px;padding:clamp(18px,2.5vw,26px);animation:.32s cubic-bezier(.16,1,.3,1) both work-modal-body-swap;display:flex;overflow-y:auto}.work-modal-heading{flex-direction:column;gap:10px;display:flex}.work-modal-title-row{align-items:center;gap:14px;display:flex}.work-modal-icon{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));background:color-mix(in srgb, var(--accent) 8%, transparent);width:48px;height:48px;color:var(--accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.work-modal-icon svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.work-modal-role{color:var(--accent);font:600 10px/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 3px}.work-modal-title{color:var(--fg);font:700 clamp(20px, 2.2vw, 27px)/1.18 var(--font-disp);letter-spacing:-.03em;margin:0}.work-modal-summary{color:#ced9d2;margin:0;font-size:14.5px;line-height:1.68}.work-modal-specs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.work-modal-spec-card{border:1px solid var(--border);border-top:2px solid color-mix(in srgb, var(--accent) 55%, transparent);background:#ffffff06;border-radius:10px;flex-direction:column;gap:8px;padding:14px 15px;display:flex}.work-modal-spec-idx{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--accent);font:600 9px/1.2 var(--font-mono);letter-spacing:.08em;border-radius:4px;align-self:flex-start;padding:2px 6px;display:inline-flex}.work-modal-spec-card p{color:#c8d4cd;margin:0;font-size:12.5px;line-height:1.58}.work-modal-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 12px;padding-top:14px;display:flex}.work-modal-tech-label{color:var(--accent);font:600 10px/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.work-modal-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.work-modal-tags li{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));background:color-mix(in srgb, var(--accent) 5%, transparent);color:var(--fg);font:500 10.5px/1.35 var(--font-mono);border-radius:6px;padding:4px 10px}@keyframes work-modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes work-modal-dialog-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes work-modal-body-swap{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}.project-schematic{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));background:radial-gradient(ellipse at 50% 50%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 70%), radial-gradient(#96dcca1f .75px, transparent .75px) 0 0 / 12px 12px, #060d0fa6;border-radius:10px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(18px,4.5vw,56px);min-height:104px;padding:16px 22px;display:grid;position:relative;overflow:hidden}.schematic-wires{fill:none;width:100%;height:100%;position:absolute;inset:0}.schematic-wire{stroke:var(--scene-a);stroke-width:1.2px;opacity:.36}.schematic-wire-secondary{stroke-dasharray:4 5;opacity:.2}.schematic-wire-pulse{stroke:var(--accent);stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:14 180;animation:5.2s linear infinite schematic-flow}.schematic-wire-pulse-alt{stroke:var(--scene-b);stroke-width:1.6px;stroke-dasharray:8 210;animation-duration:6.8s}.schematic-junction{fill:var(--accent);opacity:.75}.schematic-junction-dim{fill:var(--scene-a);opacity:.4}.schematic-node{z-index:1;border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 94%, transparent);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:64px;padding:10px 12px;display:flex;position:relative;box-shadow:0 6px 18px #0000003d}.schematic-node>span{font:600 12px/1.35 var(--font-mono);color:var(--fg)}.schematic-node>small{font:400 10px/1.35 var(--font-mono);color:var(--muted)}.schematic-node-core{border-color:color-mix(in srgb, var(--accent) 52%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 8%, var(--bg)), var(--bg));box-shadow:0 0 28px color-mix(in srgb, var(--accent) 10%, transparent)}.schematic-node-core>svg{width:20px;height:20px;fill:var(--bg);stroke:var(--accent);stroke-width:1.4px;border-radius:4px;padding:2px;position:absolute;top:-10px;left:calc(50% - 10px)}.contact-inner{isolation:isolate;width:min(100%,820px);max-width:820px;padding:0;position:relative}.contact-inner:before{content:none}.contact-invite{margin:18px auto}.contact-invite em{color:var(--accent);background:linear-gradient(110deg, var(--accent), #75e2a9 55%, var(--accent));-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:10s ease-in-out infinite invitation-glint}.contact-intro{color:#c4d0c9;line-height:1.75}.contact-links{gap:12px;width:min(100%,680px);margin:28px auto 22px}.contact-link{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(120deg,#c6f1d20b,#081213c2);border-radius:12px;min-height:84px;padding:17px 56px 17px 22px;transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .28s,box-shadow .28s;overflow:hidden;box-shadow:0 10px 28px #0000002e}.contact-link:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 20%,#e1ffe711 50%,#0000 80%);transition:transform .65s;position:absolute;inset:0;transform:translate(-110%)}.contact-link:first-child{border-color:color-mix(in srgb, var(--accent) 36%, var(--border));background:linear-gradient(115deg, color-mix(in srgb, var(--accent) 8%, transparent), #081213d1)}.contact-link:first-child .contact-link-value{letter-spacing:-.02em;font-size:clamp(17px,1.5vw,21px);font-weight:600}.contact-link-label{color:var(--accent);letter-spacing:.15em;font-size:9.5px;font-weight:600}.contact-link-arrow{border:1px solid var(--border);background:#ffffff06;border-radius:50%;place-items:center;width:32px;height:32px;font-size:15px;display:grid;right:18px}.contact-link-email{grid-column:1/-1;display:grid;position:relative}.contact-link-email .contact-link{padding-right:172px}.contact-copy-btn{z-index:2;border:1px solid var(--border);height:32px;color:var(--muted);font:600 10.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#ffffff08;border-radius:999px;align-items:center;gap:7px;padding:0 13px;transition:border-color .22s,color .22s,background-color .22s,transform .22s cubic-bezier(.16,1,.3,1);display:inline-flex;position:absolute;top:50%;right:62px;transform:translateY(-50%)}.contact-copy-btn svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}@media (hover:hover) and (pointer:fine){.contact-copy-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}}.contact-copy-btn:active{transform:translateY(-50%)scale(.95)}.contact-copy-btn.is-copied{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.contact-copy-btn.is-copied svg{animation:.38s cubic-bezier(.16,1,.3,1) copy-confirm}@keyframes copy-confirm{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:none}}body.light-mode .contact-copy-btn{background:#fffc}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.mobile-footer{display:none}.contact-availability{border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.12em;background:#ffffff06;border-radius:999px;margin:4px auto 0;padding:6px 15px;font-size:10.5px;display:inline-flex}.contact-availability:before{width:6px;height:6px;box-shadow:0 0 8px var(--accent);animation:2.2s ease-in-out infinite status-pulse}body.light-mode{--bg:#f4f6ef;--fg:#141d17;--muted:#4b594e;--border:#141d1724;--accent:#446813}body.light-mode .app{--scene-a:#446813;--scene-b:#167a6b}body.light-mode .app:before{opacity:.52;filter:grayscale();background:linear-gradient(90deg,#f4f6eff7,#f4f6efdb),url(/images/pcb-hero.webp) 75%/cover no-repeat}body.light-mode .ambient-halo-one,body.light-mode .ambient-halo-two{opacity:.28}body.light-mode .nav-links,body.light-mode .scroll-dots,body.light-mode .ctrl-btn,body.light-mode .horizontal-trigger-btn,body.light-mode .horizontal-opt-btn{background:#ffffffd6;box-shadow:0 8px 24px #14231814}body.light-mode .processor-chip-inner{background:linear-gradient(#4468130f 1px,#0000 1px) 0 0/10px 10px,linear-gradient(90deg,#4468130f 1px,#0000 1px) 0 0/10px 10px,linear-gradient(135deg,#f7f9ef,#d3dfcc);box-shadow:14px 24px 45px #19392229,inset 0 1px #ffffffd9}body.light-mode .processor-chip-inner>span{color:#243b1e;text-shadow:none}body.light-mode .processor-die-code,body.light-mode .processor-die-sub{color:#3b5920}body.light-mode .processor-pins-h{background:repeating-linear-gradient(90deg,#5a7d28 0 4px,#0000 4px 10px)}body.light-mode .processor-pins-v{background:repeating-linear-gradient(#5a7d28 0 4px,#0000 4px 10px)}body.light-mode .about-inner .about-body{color:#36453b;background:#ffffffbd;box-shadow:0 12px 32px #14231812}body.light-mode .tag,body.light-mode .lang-tag{color:var(--fg);background:#ffffffb8}body.light-mode .project-picker .project-option{background:#ffffffc7;box-shadow:0 8px 24px #1423180f}body.light-mode .project-picker .project-chevron{background:#141d170b}body.light-mode .work-modal-backdrop{background:#141d1773}body.light-mode .work-modal-dialog{background:radial-gradient(at 85% 0,#44681314,#0000 55%),linear-gradient(145deg,#f8faf4fa,#eef2e8fa);box-shadow:0 28px 70px #14231838,inset 0 1px #ffffffe6}body.light-mode .work-modal-topbar{background:#141d1708}body.light-mode .work-modal-period,body.light-mode .work-modal-nav-btn,body.light-mode .work-modal-close-btn{background:#ffffffd1}body.light-mode .work-modal-summary,body.light-mode .work-modal-spec-card p,body.light-mode .contact-intro{color:#36453b}body.light-mode .work-modal-spec-card{background:#ffffffc7;box-shadow:0 4px 14px #1423180a}body.light-mode .work-modal-tags li{background:#ffffffd1}body.light-mode .project-schematic{background:radial-gradient(#4468130f,#0000 70%),radial-gradient(#143c281f .75px,#0000 .75px) 0 0/12px 12px,#f4f6efd9}body.light-mode .schematic-node{background:#ffffffeb;box-shadow:0 4px 14px #1423180f}body.light-mode .contact-invite em{background-image:linear-gradient(110deg, var(--accent), #168170 55%, var(--accent))}body.light-mode .contact-link{background:#ffffffc7;box-shadow:0 8px 24px #1423180f}body.light-mode .contact-link:first-child{background:linear-gradient(115deg,#4468131a,#ffffffe6)}body.light-mode .contact-link-arrow,body.light-mode .contact-availability{background:#ffffffbf}@keyframes atmosphere-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-5%,6%)scale(1.12)}}@keyframes atmosphere-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes schematic-flow{to{stroke-dashoffset:-388px}}@keyframes invitation-glint{0%,to{background-position:0%}50%{background-position:100%}}@media (width<=840px){:root{--mobile-nav-h:92px;--type-section-heading:clamp(25px, 6.6vw, 38px);--type-section-eyebrow:12px;--type-section-label:19px;--type-item-heading:17px}.ambient-halo-one,.ambient-halo-two{filter:none;opacity:.52}.mobile-nav{height:calc(var(--mobile-nav-h) + env(safe-area-inset-top))!important;min-height:calc(var(--mobile-nav-h) + env(safe-area-inset-top))!important;padding:calc(6px + env(safe-area-inset-top)) 14px 7px!important;border:0!important;border-bottom:1px solid color-mix(in srgb, var(--accent) 16%, var(--border))!important;-webkit-backdrop-filter:blur(22px)saturate(1.2)!important;backdrop-filter:blur(22px)saturate(1.2)!important;background:#070c0ee0!important;border-radius:0!important;grid-template-rows:36px 38px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px 10px!important;top:0!important;left:0!important;right:0!important;box-shadow:0 12px 32px #00000047!important}body.light-mode .mobile-nav{background:#f5f7f1eb!important;box-shadow:0 10px 28px #14231814!important}.mobile-wordmark{grid-area:1/1!important;gap:8px!important;min-height:36px!important;padding:0 2px!important;font-size:15px!important}.mobile-controls{background:0 0!important;border:0!important;grid-area:1/2!important;gap:6px!important;padding:0!important}.mobile-control-btn{border:1px solid var(--border)!important;background:#ffffff0a!important;border-radius:999px!important;min-width:40px!important;height:36px!important;min-height:36px!important;padding:0 12px!important;font-size:11px!important}body.light-mode .mobile-control-btn{background:#ffffffd1!important}.mobile-nav-links{position:relative;border:1px solid var(--border)!important;background:#ffffff08!important;border-radius:999px!important;grid-area:2/1/auto/-1!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;height:38px!important;min-height:38px!important;padding:3px!important;display:grid!important}body.light-mode .mobile-nav-links{background:#141d170a!important}.mobile-nav-glider{border:1px solid color-mix(in srgb, var(--accent) 42%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent);width:calc(20% - 1.2px);box-shadow:0 0 14px color-mix(in srgb, var(--accent) 14%, transparent);transform:translate3d(calc(var(--mobile-active-idx,0) * 100%), 0, 0);pointer-events:none;border-radius:999px;transition:transform .36s cubic-bezier(.16,1,.3,1);position:absolute;top:3px;bottom:3px;left:3px}.mobile-nav-btn{z-index:1;white-space:nowrap;min-width:0;position:relative;height:100%!important;min-height:32px!important;font:600 10.5px/1 var(--font-mono)!important;letter-spacing:.01em!important;background:0 0!important;border-radius:999px!important;padding:0 1px!important}.mobile-nav-btn:after{display:none!important}.mobile-nav-btn.active{color:var(--fg)!important;background:0 0!important}.mobile-main{padding-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top))!important;padding-bottom:calc(32px + env(safe-area-inset-bottom))!important}.mobile-section{scroll-margin-top:calc(var(--mobile-nav-h) + env(safe-area-inset-top) + 8px)!important;padding:36px clamp(18px,5vw,44px)!important}.mobile-section.mobile-home{border-bottom:1px solid color-mix(in srgb, var(--border) 55%, transparent)!important;height:auto!important;min-height:0!important;padding:24px clamp(18px,5vw,44px) 28px!important}.mobile-home>.panel-home,.mobile-home .home-stage{flex-direction:column;align-items:center;gap:20px;display:flex;width:100%!important;height:auto!important;min-height:0!important;position:relative!important;inset:auto!important;overflow:visible!important}.mobile-home .home-hero-art{place-items:center;display:grid;width:100%!important;height:195px!important;position:relative!important;inset:auto!important;overflow:visible!important}.mobile-home .home-processor{width:190px!important;position:relative!important;top:auto!important;left:auto!important;transform:none!important}.mobile-home .home-copy{width:100%!important;max-width:540px!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important}.mobile-home .home-copy .home-name{font-size:clamp(1.9rem,8.6vw,3.5rem)!important;line-height:.98!important}.mobile-home .home-copy .home-name:after{width:clamp(150px,55vw,300px);bottom:-14px!important}.mobile-home .home-copy .home-tagline{text-wrap:balance;letter-spacing:.05em!important;margin-top:24px!important;padding:0!important;font-size:10.5px!important;line-height:1.55!important}.mobile-home .home-scroll-cue{align-self:center;letter-spacing:.1em!important;gap:8px!important;margin-top:2px!important;padding:9px 16px!important;font-size:10.5px!important;transition:opacity .28s,transform .28s!important;position:relative!important;inset:auto!important;transform:none!important}.mobile-home .home-scroll-indicator,.mobile-home .home-scroll-indicator svg{width:13px!important;height:18px!important}html.is-mobile-scrolled .mobile-home .home-scroll-cue,.mobile-home .home-scroll-cue.is-scrolled-away,.mobile-home:not(.is-active) .home-scroll-cue{opacity:0!important;visibility:hidden!important;pointer-events:none!important;animation:none!important;transform:translateY(8px)scale(.95)!important}.mobile-section .about-inner{border-radius:0;padding:0}.mobile-section .about-heading{margin-top:16px;font-size:clamp(26px,7.6vw,46px)!important}.mobile-section .about-inner>.panel-label{font-size:12px!important}.mobile-section .about-facts{margin-bottom:14px}.mobile-section .about-fact{padding:12px 6px 11px}.mobile-section .about-fact strong{overflow-wrap:anywhere;font-size:clamp(16px,4.6vw,22px)}.mobile-section .about-fact span{letter-spacing:.06em;font-size:10px}.mobile-section .about-body{padding:16px 18px;font-size:14.5px;line-height:1.75}.mobile-section .about-subheading{margin-top:22px;font-size:11.5px!important}.mobile-section .about-languages{justify-content:center}.mobile-section .work-inner.project-page{width:100%;padding:0;max-height:none!important}.project-picker{grid-auto-rows:1fr;gap:12px;grid-template-columns:1fr!important}.project-picker .project-option{grid-template-columns:44px minmax(0,1fr) 32px;gap:0 12px;height:100%;min-height:108px;padding:15px 16px!important}.project-picker .project-option-index{width:44px;height:44px}.project-option-index>svg{width:21px;height:21px}.project-picker .project-option-title{font-size:16.5px}.project-picker .project-option-period{letter-spacing:.05em;white-space:nowrap;font-size:10px}.project-option-context{font-size:11.5px}.work-modal-topbar{padding:12px 15px}.work-modal-body{gap:14px;padding:16px 15px}.work-modal-specs{grid-template-columns:1fr;gap:9px}.work-modal-spec-card{padding:12px 13px}.work-modal-close-btn span{display:none}.project-schematic{gap:10px;min-height:96px;padding:14px 10px}.schematic-node{min-height:60px;padding:8px 6px}.schematic-node>span{font-size:clamp(9.5px,2.5vw,11px)}.schematic-node>small{font-size:8.5px}.mobile-section .contact-inner{padding:12px 0}.mobile-section .contact-invite{margin-top:16px;line-height:1.12;font-size:clamp(1.85rem,6.8vw,2.85rem)!important}.contact-link,.mobile-section .contact-link{min-height:78px;padding:16px 52px 16px 18px!important}.contact-link-email .contact-link,.mobile-section .contact-link-email .contact-link{padding-right:98px!important}.contact-link:first-child .contact-link-value{font-size:17px}.contact-link-label{font-size:10.5px}.contact-link-arrow{width:28px;height:28px;font-size:13px;right:14px}.contact-copy-btn{justify-content:center;width:36px;height:36px;padding:0;right:52px}.contact-copy-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.mobile-footer{border-top:1px solid var(--border);width:100%;max-width:580px;color:var(--muted);font:500 10.5px/1.6 var(--font-mono);letter-spacing:.06em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:44px auto 0;padding-top:18px;display:flex}.mobile-footer p{margin:0}.mobile-footer strong{color:var(--fg);font-weight:600;display:block}.mobile-footer-top{border:1px solid var(--border);min-height:40px;color:var(--fg);font:600 10.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#ffffff08;border-radius:999px;align-items:center;gap:8px;padding:0 14px;transition:border-color .22s,color .22s;display:inline-flex}.mobile-footer-top svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.mobile-footer-top:active{border-color:var(--accent);color:var(--accent)}@media (hover:hover) and (pointer:fine){.mobile-footer-top:hover{border-color:var(--accent);color:var(--accent)}}body.light-mode .mobile-footer-top{background:#ffffffd1}}@media (width<=374px){.mobile-nav-btn{letter-spacing:0!important;font-size:9.75px!important}}@media (height<=680px) and (width>=841px){.home-copy{top:45%}.home-copy .home-name{font-size:clamp(3.2rem,5.6vw,5.8rem)!important}.about-inner{padding:0}.about-inner .about-heading{margin-block:10px 14px;font-size:36px}.about-inner .about-body{padding:14px 20px;font-size:14px}.contact-invite{font-size:38px}.contact-link{min-height:70px}}.about-inner .about-heading,.contact-inner .contact-invite{font-family:var(--font-disp);letter-spacing:-.045em;text-transform:none;text-wrap:balance;margin:18px auto 22px;font-weight:700;line-height:1.08;font-size:var(--type-section-heading)!important}.about-inner>.panel-label,.contact-inner>.panel-label{font-size:var(--type-section-eyebrow)!important}.app .section-inner .section-label{width:100%;color:var(--accent);font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;justify-content:center;align-items:center;gap:16px;font-weight:600;line-height:1.3;display:flex;font-size:var(--type-section-label)!important;margin:0 0 18px!important}.app .section-inner .section-label:before,.app .section-inner .section-label:after{content:"";flex:1 1 0;width:auto;min-width:12px;height:1px;margin:0}.app .section-inner .section-label:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 65%, transparent))}.app .section-inner .section-label:after{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 65%, transparent), transparent)}@media (width<=840px){:root{--type-section-heading:clamp(25px, 6.6vw, 38px);--type-section-eyebrow:12px;--type-section-label:19px;--type-item-heading:17px}}@media (height<=680px) and (width>=841px){:root{--type-section-heading:34px}.about-inner .about-heading,.contact-inner .contact-invite{margin-block:10px 14px}}@media (height<=960px) and (width>=841px){.app .about-inner .about-heading{margin-block:10px 16px}.about-facts,.about-inner .about-body{margin-bottom:14px}.app .about-inner .about-subheading{margin:12px 0 8px}}@media (height>=681px) and (height<=820px) and (width>=841px){:root{--panel-top-gap:clamp(56px, 10vh, 96px)}}@media (height<=820px) and (width>=841px){.app .about-inner>.section-label{margin-bottom:10px!important}.app .about-inner .about-heading{margin-block:4px 12px;font-size:clamp(30px,2.6vw,36px)!important}.about-facts{margin-bottom:12px}.about-fact{padding:9px 12px 8px}.about-fact strong{font-size:20px}.about-inner .about-body{margin-bottom:12px;padding:14px 22px;font-size:14.5px;line-height:1.6}.app .about-inner .about-subheading{margin:10px 0 8px}.about-inner .skills-marquee-wrapper{margin-top:4px}.about-languages{margin-top:0}}@media (height<=760px) and (width>=841px){.app .about-facts{display:none}.app .about-inner .about-body{margin-bottom:8px;font-size:14px;line-height:1.55}.app .contact-inner .contact-invite{margin-block:6px 10px}.app .contact-inner .contact-links{gap:10px}.app .contact-link{min-height:64px;padding-block:12px}}@media (height<=640px) and (width>=841px){.app .about-inner>.section-label,.app .contact-inner>.section-label{margin-bottom:6px!important}.app .about-inner .about-heading{margin-block:2px 8px;font-size:clamp(26px,2.2vw,30px)!important}.app .about-inner .about-body{margin-bottom:8px;padding-block:10px}.app .about-inner .about-subheading{margin:6px 0 4px}.app .about-inner .skills-marquee-wrapper{margin-top:0}.app .contact-inner .contact-invite{margin-block:2px 8px;max-width:680px!important;font-size:clamp(30px,3vw,38px)!important}.app .contact-inner .contact-links{margin-block:16px 12px!important}}.can-scroll-down{-webkit-mask-image:linear-gradient(#000 calc(100% - 44px),#0000);mask-image:linear-gradient(#000 calc(100% - 44px),#0000)}.footer-strip{pointer-events:none}.footer-strip>*{pointer-events:auto}.nav-wordmark{transition:color .25s,opacity .25s,transform .25s}.lang-tag{transition:border-color .25s,background-color .25s,color .25s,transform .25s}.home-scroll-cue{transition:color .25s,border-color .25s,opacity .3s,transform .3s cubic-bezier(.16,1,.3,1)}.contact-link{transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .28s,background-color .28s,box-shadow .28s}.contact-link-arrow{transition:color .25s,border-color .25s,background-color .25s,transform .3s cubic-bezier(.16,1,.3,1)}.horizontal-opt-btn{transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s,border-color .2s,color .2s,background-color .2s;transition-delay:var(--delay), var(--delay), 0s, 0s, 0s}.glow-card{isolation:isolate;position:relative}.card-glow{z-index:-1;border-radius:inherit;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 15%, transparent), transparent 65%);opacity:0;pointer-events:none;transition:opacity .45s;position:absolute;inset:0}.card-glow:after{content:"";border-radius:inherit;background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 80%, transparent), transparent 70%);-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 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}.contact-link-email{transition:transform .28s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.glow-card:hover>.card-glow,.glow-host:hover .card-glow{opacity:1}.project-picker .project-option:hover,.contact-link:hover,.contact-link-email:hover>.contact-link{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));box-shadow:0 16px 38px #00000047, 0 0 26px color-mix(in srgb, var(--accent) 8%, transparent);transform:translateY(-3px)}body.light-mode .project-picker .project-option:hover,body.light-mode .contact-link:hover,body.light-mode .contact-link-email:hover>.contact-link{box-shadow:0 14px 32px #1423181c}.contact-link-email:hover{transform:translateY(-3px)}.contact-link-email:hover>.contact-link{transform:none}.contact-link:hover:after,.contact-link-email:hover>.contact-link:after{transform:translate(110%)}.contact-link:hover .contact-link-arrow,.contact-link-email:hover>.contact-link .contact-link-arrow{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);transform:translate(2px,calc(-50% - 2px))}.contact-link-email:hover>.contact-link .contact-link-value:after{width:100%}.contact-link-email:hover>.contact-link .contact-link-label{color:var(--accent)}}.app button,.app a,.work-modal-dialog button{-webkit-tap-highlight-color:transparent}@media (hover:none){.project-picker .project-option:active,.contact-link:active{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));transition-duration:80ms;transform:scale(.985)}.mobile-nav-btn:active,.home-scroll-cue:active,.mobile-footer-top:active,.work-modal-nav-btn:active,.work-modal-close-btn:active{opacity:.72}}.app button:focus-visible,.app a:focus-visible,.work-modal-dialog button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 16%, transparent)}.app button:focus:not(:focus-visible),.app a:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.home-name-char{opacity:1;filter:none;will-change:auto;transform:none;animation:none!important}.trace-pulse,.trace-pulse-glow,.processor-trace-pulse{opacity:0!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}
