.border-glow-card{--edge-proximity:0;--cursor-angle:45deg;--edge-sensitivity:30;--color-sensitivity:calc(var(--edge-sensitivity) + 20);--border-radius:8px;--glow-padding:34px;--cone-spread:25;border-radius:var(--border-radius);isolation:isolate;position:relative;transform:translateZ(.01px)}.border-glow-card:after,.border-glow-card>.edge-light{border-radius:inherit;content:"";pointer-events:none;transition:opacity .25s ease-out;position:absolute;inset:0}.border-glow-card:after{z-index:0}.border-glow-card>.edge-light{z-index:1}.border-glow-card:not(:hover):not(:focus-within):not(.sweep-active):after,.border-glow-card:not(:hover):not(:focus-within):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:after{background:var(--gradient-one,radial-gradient(at 80% 55%, #79f2c0 0, transparent 50%)) padding-box, var(--gradient-two,radial-gradient(at 69% 34%, #8f6dff 0, transparent 50%)) padding-box, var(--gradient-three,radial-gradient(at 8% 6%, #ffd166 0, transparent 50%)) padding-box, var(--gradient-four,radial-gradient(at 41% 38%, #79f2c0 0, transparent 50%)) padding-box, var(--gradient-five,radial-gradient(at 86% 85%, #8f6dff 0, transparent 50%)) padding-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffd166 0, transparent 50%)) padding-box, var(--gradient-seven,radial-gradient(at 51% 4%, #8f6dff 0, transparent 50%)) padding-box, var(--gradient-base,linear-gradient(#79f2c0 0 100%)) padding-box;mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);opacity:calc(var(--fill-opacity,.34) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light;border:1px solid #0000;mask-composite:subtract,add,add,add,add,add}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{inset:var(--glow-padding);border-radius:inherit;content:"";box-shadow:inset 0 0 0 1px var(--glow-color,#78f2c5), inset 0 0 1px 0 var(--glow-color-60,#78f2c599), inset 0 0 3px 0 var(--glow-color-50,#78f2c580), inset 0 0 6px 0 var(--glow-color-40,#78f2c566), inset 0 0 15px 0 var(--glow-color-30,#78f2c54d), inset 0 0 25px 2px var(--glow-color-20,#78f2c533), inset 0 0 50px 2px var(--glow-color-10,#78f2c51a), 0 0 1px 0 var(--glow-color-60,#78f2c599), 0 0 3px 0 var(--glow-color-50,#78f2c580), 0 0 6px 0 var(--glow-color-40,#78f2c566), 0 0 15px 0 var(--glow-color-30,#78f2c54d), 0 0 25px 2px var(--glow-color-20,#78f2c533), 0 0 50px 2px var(--glow-color-10,#78f2c51a);position:absolute}.border-glow-inner{z-index:2;flex-direction:column;min-width:0;display:flex;position:relative}.border-glow-enhanced>:not(.edge-light){z-index:2;position:relative}@media (prefers-reduced-motion:reduce){.border-glow-card:after,.border-glow-card>.edge-light{display:none}}.target-cursor-wrapper{z-index:9999;pointer-events:none;mix-blend-mode:difference;width:0;height:0;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.target-cursor-dot{will-change:transform;background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.target-cursor-corner{will-change:transform;border:3px solid #fff;width:12px;height:12px;position:absolute;top:50%;left:50%}.corner-tl{border-bottom:0;border-right:0;transform:translate(-150%,-150%)}.corner-tr{border-bottom:0;border-left:0;transform:translate(50%,-150%)}.corner-br{border-top:0;border-left:0;transform:translate(50%,50%)}.corner-bl{border-top:0;border-right:0;transform:translate(-150%,50%)}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.target-cursor-wrapper{display:none}}:root{color-scheme:dark;--bg:#070807;--bg-soft:#0d0f0d;--surface:#ffffff0b;--surface-strong:#ffffff13;--ink:#f7f7f3;--muted:#aaa99f;--faint:#72746c;--line:#ffffff21;--line-strong:#ffffff38;--mint:#79f2c0;--violet:#8f6dff;--blue:#8ca7ff;--amber:#ffd166;--danger:#ff8b8b;--shadow:0 30px 90px #00000085;--radius:8px;--max:960px;--content-rail:540px;--card-padding:18px;--card-gap:12px;--header-bg:#070807ad;--page-gradient:radial-gradient(circle at 55% 28%, #8f6dff29, transparent 34%), radial-gradient(circle at 28% 38%, #79f2c01a, transparent 32%), linear-gradient(180deg, #070807 0%, #090a09 48%, #070807 100%);--grid-line:#ffffff06;--button-bg:#0a0c0beb;--panel-bg:#070807a3;--tooltip-bg:#070807f0;--tooltip-shadow:0 16px 40px #00000057;--input-bg:#ffffff0a;--chatbot-launcher-bg:#070807e0;--chatbot-launcher-icon-bg:#ffffff0d;--chatbot-launcher-glow:#79f2c038;--chatbot-launcher-shadow:0 18px 48px #00000052, 0 0 34px #79f2c01f;--chatbot-launcher-shadow-hover:0 22px 60px #00000061, 0 0 42px #79f2c02e}:root[data-theme=light]{color-scheme:light;--bg:#f5f3ec;--bg-soft:#ebe7dc;--surface:#080e0c0b;--surface-strong:#080e0c13;--ink:#171a17;--muted:#5f645d;--faint:#868a82;--line:#080e0c24;--line-strong:#080e0c42;--mint:#087f5b;--violet:#6846c8;--blue:#375bc8;--amber:#ad6b00;--danger:#b74444;--shadow:0 24px 70px #201a1229;--header-bg:#f5f3ecc2;--page-gradient:radial-gradient(circle at 55% 28%, #6846c81f, transparent 34%), radial-gradient(circle at 28% 38%, #087f5b1a, transparent 32%), linear-gradient(180deg, #f5f3ec 0%, #eeeae0 48%, #f8f6ef 100%);--grid-line:#080e0c0a;--button-bg:#f7f5eeeb;--panel-bg:#f7f5eec2;--tooltip-bg:#fffdf6f5;--tooltip-shadow:0 16px 38px #30291e29;--input-bg:#080e0c09;--chatbot-launcher-bg:#fffdf6e6;--chatbot-launcher-icon-bg:#087f5b14;--chatbot-launcher-glow:#6846c829;--chatbot-launcher-shadow:0 18px 42px #30291e29, 0 0 28px #087f5b1a;--chatbot-launcher-shadow-hover:0 22px 50px #30291e33, 0 0 34px #6846c824}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{min-width:320px;color:var(--ink);background:var(--page-gradient);text-rendering:geometricprecision;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}body:before{z-index:-1;pointer-events:none;content:"";background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:72px 72px;position:fixed;inset:0;mask-image:linear-gradient(#000,#0000 78%)}body:after{z-index:-1;pointer-events:none;content:"";background:radial-gradient(circle at var(--x,62%) var(--y,32%), #79f2c014, transparent 28%);position:fixed;inset:0}.dot-field{z-index:-2;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button,input,textarea,select{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:20;width:min(var(--max), calc(100% - 32px));background:var(--header-bg);backdrop-filter:blur(18px);border:1px solid #ffffff14;border-radius:999px;justify-content:space-between;align-items:center;gap:18px;margin:20px auto 0;padding:8px 10px;display:flex;position:sticky;top:14px;box-shadow:0 18px 60px #00000047}.brand,.nav-links,.hero-actions{align-items:center;display:flex}.brand{min-width:max-content;color:var(--ink);gap:10px;font-weight:800}.brand-mark{border-radius:var(--radius);color:#050605;background:var(--ink);place-items:center;width:38px;height:38px;font-size:.82rem;display:grid}.nav-links{min-width:0;color:var(--ink);text-transform:lowercase;gap:4px;font-size:.92rem;font-weight:700}.nav-links a,.header-action{border-radius:var(--radius);padding:10px 12px}.nav-links a:hover,.header-action:hover{color:var(--mint);background:#ffffff14}.theme-toggle{border:1px solid var(--line);width:48px;height:32px;color:var(--ink);cursor:pointer;background:#ffffff0b;border-radius:999px;flex:none;padding:3px;transition:border-color .18s,background .18s,transform .18s;position:relative}.theme-toggle:hover,.theme-toggle:focus-visible{background:#79f2c014;border-color:#79f2c07a;transform:translateY(-1px)}.theme-toggle-track{border-radius:inherit;width:100%;height:100%;display:block}.theme-toggle-thumb{color:#050605;background:var(--ink);border-radius:999px;place-items:center;width:24px;height:24px;transition:background .18s,color .18s,transform .22s;display:grid;transform:translate(0)}:root[data-theme=light] .theme-toggle-thumb{color:#f8f6ef;transform:translate(16px)}.theme-toggle svg{stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:15px;height:15px}.header-action{border:1px solid var(--line);font-weight:800;display:none}.section{width:min(var(--max), calc(100% - 32px));margin:0 auto;padding:78px 0;scroll-margin-top:92px}.hero{border-bottom:1px solid var(--line);grid-template-columns:1fr;align-items:start;gap:0;min-height:calc(100vh - 92px);padding-top:30px;display:grid}.hero-copy{z-index:3;max-width:var(--max);text-align:center;justify-items:center;margin:0 auto;display:grid;position:relative}.eyebrow{color:var(--mint);letter-spacing:0;text-transform:none;margin:0 0 14px;font-size:.94rem;font-weight:850}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:0;font-family:Georgia,Times New Roman,serif}h1{max-width:700px;margin-bottom:18px;font-size:clamp(3.1rem,6.4vw,5.9rem);line-height:.96}h2{margin-bottom:20px;font-size:clamp(2.15rem,3.9vw,4rem);line-height:1}.decrypt-heading{overflow-wrap:anywhere;max-width:100%;display:block;white-space:normal!important}.decrypt-heading span[aria-hidden=true]{display:inline}.decrypt-word{white-space:nowrap;display:inline-block}.decrypt-revealed,.decrypt-encrypted{min-width:.52em;max-width:100%;display:inline-block}.decrypt-revealed{color:inherit}.decrypt-encrypted{color:var(--mint);text-shadow:0 0 18px #79f2c047}h3{margin-bottom:10px;font-size:1.04rem;line-height:1.2}.hero-text{max-width:620px;color:var(--ink);font-size:1rem;line-height:1.72}.hero-note{max-width:600px;color:var(--ink);margin:22px 0 0;font-weight:800;line-height:1.6}.hero-note strong{color:var(--mint)}.chat-inline-trigger{color:var(--mint);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;align-items:center;padding:0;font-weight:950;text-decoration:underline #79f2c05c;display:inline-flex}.chat-inline-trigger:hover,.chat-inline-trigger:focus-visible{color:var(--ink)}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:24px}.button{--button-glow-a:#79f2c09e;--button-glow-b:#8f6dff7a;--button-glow-c:#ffd1664d;isolation:isolate;border-radius:var(--radius);min-height:44px;color:var(--ink);background:linear-gradient(var(--button-bg), var(--button-bg)) padding-box, conic-gradient(from 145deg, var(--button-glow-a), var(--button-glow-b), var(--button-glow-c), var(--button-glow-a)) border-box;border:1px solid #ffffff1a;justify-content:center;align-items:center;padding:0 18px;font-weight:850;transition:border-color .18s,color .18s,background .18s,transform .18s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #ffffff06,0 18px 40px #0003}.button:before{z-index:-1;border-radius:calc(var(--radius) - 1px);content:"";opacity:.72;background:radial-gradient(circle at 18% 18%,#ffffff29,#0000 28%),radial-gradient(circle at 82% 90%,#79f2c024,#0000 36%);transition:opacity .18s,transform .18s;position:absolute;inset:1px}.button:after{z-index:-2;content:"";background:conic-gradient(from 0deg, transparent 0 32%, #79f2c06b, #8f6dff47, transparent 68% 100%);opacity:0;transition:opacity .18s,transform .52s;position:absolute;inset:-45%;transform:rotate(0)}.button:hover,.button:focus-visible{border-color:#79f2c070;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff1f,0 0 30px #79f2c024,0 22px 54px #0000004d}.button:disabled{cursor:wait;opacity:.68;transform:none}.button:hover:before,.button:focus-visible:before{opacity:1;transform:scale(1.02)}.button:hover:after,.button:focus-visible:after{opacity:1;transform:rotate(22deg)}.button-icon{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none;width:18px;height:18px;margin-left:2px;transition:transform .18s}.button:hover .button-icon,.button:focus-visible .button-icon{transform:translate(2px)}.button.primary{--button-glow-a:#79f2c0c7;--button-glow-b:#8ca7ff80;--button-glow-c:#ffffff47;color:var(--ink);border-color:#79f2c09e;box-shadow:0 0 28px #79f2c029}.button.primary:hover{box-shadow:0 0 38px #79f2c038}.button.secondary{--button-glow-a:#8f6dff75;--button-glow-b:#79f2c06b;--button-glow-c:#ffffff29;color:var(--muted)}.button.secondary:hover{color:var(--ink);border-color:var(--line-strong)}.button.ghost{--button-glow-a:#ffffff24;--button-glow-b:#79f2c03d;--button-glow-c:#8f6dff33;color:var(--muted);background:linear-gradient(#ffffff09, #ffffff09) padding-box, conic-gradient(from 145deg, var(--button-glow-a), var(--button-glow-b), var(--button-glow-c), var(--button-glow-a)) border-box}.button.ghost:hover{color:var(--ink)}.resume-alert-wrap{position:relative}.resume-button{--button-glow-a:#ffd166ad;--button-glow-b:#79f2c06b;--button-glow-c:#fff3;color:var(--ink);border-color:#ffd16661;gap:10px}.resume-button:hover{border-color:#ffd166b8;box-shadow:0 0 34px #ffd16624}.resume-button-icon{color:#ffd166;background:#ffd16614;border:1px solid #ffd16652;border-radius:7px;place-items:center;width:32px;height:28px;font-size:.68rem;font-weight:950;line-height:1;display:inline-grid}.resume-toast{z-index:20;border-radius:var(--radius);width:min(320px,100vw - 28px);color:var(--ink);opacity:0;pointer-events:none;backdrop-filter:blur(16px);background:linear-gradient(135deg,#ffd1661a,#79f2c00f),#070807f0;border:1px solid #ffd16657;padding:14px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 12px);left:0;transform:translateY(8px);box-shadow:0 24px 60px #0000005c}.resume-toast.visible{opacity:1;transform:translateY(0)}.resume-toast strong,.resume-toast span{display:block}.resume-toast strong{margin-bottom:4px;font-size:.9rem}.resume-toast span{color:var(--muted);font-size:.78rem;font-weight:750;line-height:1.45}.icon-button{width:48px;min-width:48px;padding:0}.signal-strip{border-block:1px solid #ffffff14;width:100%;max-width:720px;margin-top:28px;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.signal-track{gap:10px;width:max-content;padding:12px 0;animation:28s linear infinite signal-scroll;display:flex}.signal-track span{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);text-transform:lowercase;background:#ffffff06;flex:none;padding:7px 10px;font-size:.78rem;font-weight:800}.hero-visual{border-radius:var(--radius);isolation:isolate;width:min(100%,820px);min-height:min(58vh,560px);margin:-56px auto 0;position:relative;overflow:hidden}.hero-visual:before{z-index:-1;content:"";filter:blur(18px);background:radial-gradient(circle at 50% 42%,#79f2c029,#0000 28%),radial-gradient(circle,#8f6dff3d,#0000 58%);position:absolute;inset:14% 10% 5%}.robot-scene{position:absolute;inset:-8% -6% -11%}.robot-scene canvas{width:100%;height:100%;display:block!important}.robot-loader{z-index:1;color:var(--muted);place-items:center;font-weight:850;display:grid;position:absolute;inset:0}.visual-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-bg);max-width:calc(100% - 44px);box-shadow:var(--shadow);backdrop-filter:blur(14px);gap:6px;padding:14px 16px;display:grid;position:absolute;left:22px}.visual-panel-top{top:22px}.visual-panel-bottom{text-align:center;bottom:24px;left:auto;right:50%;transform:translate(50%)}.visual-panel span{color:var(--muted);font-size:.82rem;font-weight:750}.visual-panel strong{font-size:.98rem}.proof-grid{grid-template-columns:repeat(4,1fr);gap:14px;padding-top:66px;display:grid}.proof-card,.role-card,.experience-card,.project-detail,.skill-card,.credential-card,.principle-list article{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);position:relative;overflow:hidden}.proof-card:before,.role-card:before,.experience-card:before,.project-detail:before,.skill-card:before,.credential-card:before{pointer-events:none;content:"";opacity:.7;background:linear-gradient(135deg,#ffffff14,#0000 34%);position:absolute;inset:0}.proof-card,.role-card,.experience-card,.project-detail,.skill-card,.credential-card{padding:var(--card-padding)}.proof-card span,.project-meta,.role-heading>span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.proof-card strong{margin:10px 0;font-family:Georgia,Times New Roman,serif;font-size:1.72rem;line-height:1;display:block}.proof-card p,.role-card p,.experience-card p,.project-detail p,.skill-card p,.credential-card p,.contact-section p,.section-intro p,.section-heading p{color:var(--muted);font-size:.94rem;line-height:1.62}.blur-copy{color:var(--muted);flex-wrap:wrap;margin:0 0 1rem;line-height:1.7;display:flex}.blur-text-segment{will-change:transform, filter, opacity;display:inline-block}.split-section,.proof-section{grid-template-columns:minmax(0,.58fr) minmax(0,1fr);gap:34px;display:grid}.section-intro{align-self:start;position:sticky;top:112px}.section-action{gap:10px;margin-top:22px}.principle-list{gap:10px;margin-top:28px;display:grid}.principle-list article{background:#ffffff06;padding:14px}.principle-list h3{color:var(--ink);margin-bottom:6px;font-size:.92rem}.principle-list p{margin-bottom:0;font-size:.88rem}.timeline-list,.all-experience-grid,.skill-groups,.proof-content,.proof-stack{gap:var(--card-gap);display:grid}.timeline-list,.skills-stack,.proof-content,.proof-stack,.project-stack{width:min(100%, var(--content-rail));justify-self:end}.proof-content{align-content:start;gap:18px}.proof-cluster{gap:10px;min-width:0;display:grid}.proof-cluster-heading{justify-content:space-between;align-items:end;gap:12px;padding:0 2px;display:flex}.proof-cluster-heading span,.proof-cluster-heading strong{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:950;line-height:1.25}.proof-cluster-heading strong{color:var(--faint);text-align:right}.proof-stack{align-content:start}.proof-stack>.certificate-card,.education-card{min-height:0}.timeline-list>.experience-card,.project-stack>.project-detail,.skill-groups>.skill-card,.proof-stack>.certificate-card,.education-card{width:100%;padding:var(--card-padding)}.proof-view-more{gap:10px;margin-top:24px}.skills-stack{gap:18px;min-width:0;display:grid}.role-heading{justify-content:space-between;gap:16px;display:flex}.role-heading h3,.role-heading p{margin-bottom:0}.experience-card{background:linear-gradient(135deg, #79f2c013, #8f6dff0f), var(--surface);flex-direction:column;min-height:100%;display:flex}.experience-card-top,.company-lockup{z-index:2;align-items:center;gap:12px;display:flex;position:relative}.experience-card-top{justify-content:space-between;margin-bottom:22px}.company-lockup{min-width:0}.company-logo{border-radius:var(--radius);width:46px;height:46px;color:var(--mint);background:radial-gradient(circle at 30% 20%,#ffffff29,#0000 34%),#ffffff0e;border:1px solid #79f2c038;flex:0 0 46px;place-items:center;font-size:.75rem;font-weight:950;display:grid;overflow:hidden}.company-logo img{object-fit:contain;width:100%;height:100%;padding:6px}.company-lockup p{color:var(--ink);margin:0;font-weight:900;line-height:1.22}.company-lockup span{color:var(--muted);margin-top:4px;font-size:.76rem;font-weight:750;line-height:1.35;display:block}.large-lockup{margin-bottom:24px}.large-lockup .company-logo{flex-basis:58px;width:58px;height:58px}.large-lockup p{font-size:.98rem}.status-pill{border-radius:var(--radius);color:var(--ink);letter-spacing:0;text-transform:uppercase;background:#ffffff0b;border:1px solid #ffffff1f;flex:none;padding:8px 10px;font-size:.72rem;font-weight:900}.status-pill.current{color:var(--mint);background:#79f2c016;border-color:#79f2c06b}.status-pill.upcoming{color:#ffd166;background:#ffd16613;border-color:#ffd1666b}.experience-skills{margin-top:18px}.timeline-list .experience-card ul,.timeline-list .related-project-strip{display:none}.timeline-list .experience-card-top{margin-bottom:18px}.related-project-strip{z-index:2;flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:6px;display:flex;position:relative}.related-project-strip span,.related-project-strip a{border-radius:var(--radius);max-width:100%;min-height:34px;color:var(--muted);background:#ffffff09;border:1px solid #ffffff1a;align-items:center;padding:7px 10px;font-size:.72rem;font-weight:850;line-height:1.25;display:inline-flex}.related-project-strip span{color:var(--mint);border-color:#79f2c042}.related-project-strip a{text-overflow:ellipsis;transition:border-color .16s,color .16s,transform .16s;overflow:hidden}.related-project-strip a:hover,.related-project-strip a:focus-visible{color:var(--ink);border-color:#79f2c07a;transform:translateY(-1px)}.all-experience-section{padding-top:28px}.all-experience-grid{gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr))}.experience-detail-copy .catalog-lede{max-width:880px}.experience-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.associated-project-section{padding-top:40px;padding-bottom:40px}.associated-project-grid .project-detail{min-height:100%}.role-card ul,.experience-card ul,.impact-list{color:var(--muted);gap:10px;margin:0;padding-left:20px;line-height:1.58;display:grid}.section-heading{max-width:680px;margin-bottom:24px}.projects-section{align-items:start;padding-top:62px}.project-section-intro .focus-container{justify-content:flex-start;margin:18px 0 20px}.project-section-intro .focus-word{font-size:clamp(1.25rem,3vw,2.15rem);line-height:1.08}.project-intro-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.project-view-more{gap:10px}.astro-project-grid{gap:var(--card-gap);align-content:start;align-items:stretch;display:grid}.project-stack{grid-template-columns:1fr}.project-detail{background:var(--surface);min-height:auto}.project-with-media{flex-direction:column;display:flex}.project-card-top{z-index:2;grid-template-columns:minmax(0,1fr) 112px;align-items:start;gap:12px;margin-bottom:18px;display:grid;position:relative}.project-media-preview{border-radius:var(--radius);background:#ffffff09;border:1px solid #ffffff1a;min-height:78px;margin:0;display:block;position:relative;overflow:hidden}.project-media-preview img{object-fit:cover;object-position:top center;filter:saturate(.94)contrast(1.04);width:100%;height:78px;transition:filter .18s,transform .22s;display:block}.project-media-preview span{border-radius:var(--radius);max-width:calc(100% - 20px);color:var(--ink);background:var(--panel-bg);text-overflow:ellipsis;white-space:nowrap;backdrop-filter:blur(12px);border:1px solid #79f2c038;padding:5px 7px;font-size:.64rem;font-weight:900;position:absolute;bottom:7px;right:7px;overflow:hidden}.project-media-preview:hover img{filter:saturate(1.08)contrast(1.08);transform:scale(1.025)}.featured-project{grid-row:auto;min-height:auto}.compact-project:not(.featured-project){min-height:0}.projects-section .project-detail{padding:var(--card-padding)}.projects-section .project-detail h3{margin:0 0 12px;font-size:clamp(1.14rem,1.45vw,1.42rem)}.projects-section .tech-row{margin:18px 0}.projects-section .impact-list{display:none}.skills-stack .skill-card h3,.proof-stack .certificate-card h3,.proof-stack .credential-card h3{margin-bottom:12px;font-size:clamp(1.04rem,1.32vw,1.28rem)}.proof-stack .featured-certificate h3{font-size:clamp(1.16rem,1.55vw,1.45rem)}.proof-stack .certificate-card h3{margin-top:20px}.proof-stack .certificate-meta,.proof-stack .certificate-skills,.proof-stack .tech-row{margin-top:16px;margin-bottom:16px}.compact-project .impact-list{margin-top:8px}.project-detail h3{letter-spacing:0;max-width:760px;margin:26px 0 14px;font-size:clamp(1.32rem,1.8vw,1.9rem)}.featured-project h3{font-size:clamp(1.22rem,1.6vw,1.58rem)}.project-meta{align-content:start;gap:8px;display:grid}.project-meta span{border-radius:var(--radius);text-overflow:ellipsis;white-space:nowrap;background:#ffffff09;border:1px solid #ffffff1a;align-items:center;width:fit-content;max-width:100%;min-height:34px;padding:7px 10px;display:inline-flex;overflow:hidden}.project-context{flex-wrap:wrap;gap:8px;margin:-8px 0 18px;display:flex}.project-context span,.project-context a{border-radius:var(--radius);color:var(--muted);background:#79f2c00b;border:1px solid #79f2c02e;padding:8px 10px;font-size:.78rem;font-weight:800}.project-context a{color:var(--ink);transition:border-color .16s,color .16s,transform .16s}.project-context a:hover,.project-context a:focus-visible{color:var(--mint);border-color:#79f2c08c;transform:translateY(-1px)}.tech-row,.skill-cloud{flex-wrap:wrap;gap:10px;display:flex}.tech-row{margin:28px 0}.tech-row span,.skill-cloud span{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#ffffff0a;padding:10px 12px;font-weight:750}.tech-row .icon-badge,.skill-cloud .icon-badge{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 30% 18%,#ffffff17,#0000 34%),#ffffff0a;place-items:center;width:46px;height:46px;padding:0;transition:border-color .16s,box-shadow .16s,transform .16s;display:inline-grid;position:relative}.tech-row .icon-badge:hover,.skill-cloud .icon-badge:hover{border-color:#79f2c080;transform:translateY(-2px);box-shadow:0 16px 36px #79f2c014}.icon-badge:after{z-index:12;border-radius:var(--radius);max-width:230px;color:var(--ink);background:var(--tooltip-bg);box-shadow:var(--tooltip-shadow);content:attr(data-tooltip);opacity:0;pointer-events:none;text-align:center;white-space:normal;border:1px solid #79f2c03d;padding:7px 9px;font-size:.72rem;font-weight:850;line-height:1.35;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px)}.icon-badge:hover:after,.icon-badge:focus-visible:after{opacity:1;transform:translate(-50%)}.icon-badge-more{color:var(--mint);font-size:.88rem;font-weight:900}.icon-badge img{object-fit:contain;filter:drop-shadow(0 8px 14px #00000047);width:26px;height:26px}.project-index{color:#ffffff14;pointer-events:none;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.45rem,4.8vw,4.8rem);font-weight:900;line-height:.8;position:absolute;bottom:16px;right:20px}.project-card-actions{z-index:2;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:20px;display:flex;position:relative}.project-card-actions .button{min-height:40px}.opportunity-section{align-items:start;padding-top:72px}.opportunity-intro p{max-width:48rem}.opportunity-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px;display:grid}.opportunity-stats span{border-radius:var(--radius);min-height:86px;color:var(--muted);text-transform:uppercase;background:#ffffff09;border:1px solid #ffffff1a;align-content:center;gap:4px;padding:14px;font-size:.72rem;font-weight:850;line-height:1.25;display:grid}.opportunity-stats strong{color:var(--ink);font-family:var(--font-display);text-transform:none;font-size:1.24rem;line-height:1}.opportunity-stack{align-content:start}.opportunity-card{min-height:0}.opportunity-card-top{grid-template-columns:minmax(0,1fr) minmax(118px,auto)}.opportunity-company-link{z-index:2;border-radius:var(--radius);min-height:40px;color:var(--ink);background:#ffffff09;border:1px solid #79f2c033;justify-content:center;align-items:center;gap:8px;padding:7px 10px;font-size:.74rem;font-weight:900;line-height:1;transition:border-color .16s,transform .16s,color .16s;display:inline-flex;position:relative}.opportunity-company-link img{object-fit:cover;border-radius:7px;width:22px;height:22px}.opportunity-company-link:hover,.opportunity-company-link:focus-visible{color:var(--mint);border-color:#79f2c080;transform:translateY(-1px)}.opportunity-card .tech-row{margin-top:18px}.opportunity-project-strip{margin-top:16px}.projects-catalog-hero{padding-top:72px;padding-bottom:34px}.back-link{color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:28px;font-size:.86rem;font-weight:850;transition:color .16s,transform .16s;display:inline-flex}.back-link:hover{color:var(--mint);transform:translate(-3px)}.back-link-icon{width:17px;height:17px;margin-left:0}.catalog-hero-grid{grid-template-columns:minmax(0,1fr) minmax(230px,300px);align-items:end;gap:22px;display:grid}.catalog-hero-grid h1{max-width:760px;margin:0;font-size:clamp(2.7rem,5.8vw,5.8rem)}.catalog-lede{max-width:620px;color:var(--muted);font-size:1rem;line-height:1.75}.catalog-panel{border-radius:var(--radius);background:linear-gradient(var(--bg-soft), var(--bg-soft)) padding-box, conic-gradient(from 135deg, #79f2c01a, #8f6dff61, #ffd16629, #79f2c01a) border-box;border:1px solid #0000;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px;display:grid}.catalog-panel div{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff09;min-height:112px;padding:14px}.catalog-panel strong{margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:2.25rem;line-height:1;display:block}.catalog-panel span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.category-rail{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.category-rail span{border-radius:var(--radius);color:var(--ink);background:#79f2c00b;border:1px solid #79f2c02e;padding:10px 12px;font-size:.78rem;font-weight:850}.all-projects-section{padding-top:28px}.project-media-section{padding-top:42px;padding-bottom:42px}.project-detail-hero{padding-top:86px;padding-bottom:42px}.project-detail-layout{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:end;gap:28px;display:grid}.project-detail-copy h1{max-width:980px;margin-bottom:22px}.project-detail-copy .tech-row{max-width:720px}.project-detail-stats{align-self:end}.project-empty-media{border-radius:var(--radius);background:linear-gradient(var(--bg-soft), var(--bg-soft)) padding-box, conic-gradient(from 135deg, #79f2c01a, #8f6dff61, #ffd16624, #79f2c01a) border-box;border:1px solid #0000;padding:28px}.project-empty-media p:last-child{max-width:720px;color:var(--muted);margin:0;line-height:1.7}.project-impact-section{padding-top:42px}.project-impact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.impact-number{color:var(--mint);margin-bottom:18px;font-size:.78rem;font-weight:900;display:block}.all-projects-grid,.all-opportunities-grid{gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.all-projects-grid .project-detail,.all-opportunities-grid .project-detail{min-height:100%}.icon-badge-button{place-items:center;width:100%;height:100%;display:grid}.icon-badge-button img{width:22px;height:22px}.icon-badge-fallback .icon-glyph{border:2px solid var(--mint);width:26px;height:26px;color:var(--mint);border-radius:8px;place-items:center;font-size:.64rem;font-weight:950;line-height:1;display:grid}.logo-loop{border-radius:var(--radius);background:linear-gradient(var(--bg-soft), var(--bg-soft)) padding-box, conic-gradient(from 135deg, #79f2c01f, #8f6dff57, #ffd16629, #79f2c01f) border-box;border:1px solid #0000;min-width:0;padding:10px;position:relative;overflow:hidden}.logo-loop-mask{border-radius:calc(var(--radius) - 2px);position:relative;overflow:hidden}.logo-loop-mask:before,.logo-loop-mask:after{z-index:2;content:"";pointer-events:none;width:76px;position:absolute;top:0;bottom:0}.logo-loop-mask:before{background:linear-gradient(90deg, var(--bg-soft), transparent);left:0}.logo-loop-mask:after{background:linear-gradient(270deg, var(--bg-soft), transparent);right:0}.logo-loop-track{will-change:transform;gap:12px;width:max-content;padding:6px;animation:42s linear infinite logo-loop-scroll;display:flex}.logo-loop:hover .logo-loop-track{animation-play-state:paused}.logo-pill{border-radius:var(--radius);background:radial-gradient(circle at 18% 20%, var(--logo-glow,#79f2c033), transparent 34%), #ffffff09;width:78px;min-height:74px;color:inherit;cursor:pointer;border:1px solid #ffffff17;flex:none;justify-content:center;align-items:center;padding:10px;transition:border-color .16s,transform .16s,box-shadow .16s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff0d}.logo-pill:hover,.logo-pill:focus-visible{box-shadow:inset 0 1px 0 #ffffff0d, 0 18px 38px var(--logo-glow,#79f2c024);border-color:#79f2c06b;transform:translateY(-2px)}.logo-tooltip{z-index:4;border-radius:var(--radius);min-width:max-content;max-width:190px;color:var(--ink);background:var(--tooltip-bg);box-shadow:var(--tooltip-shadow);opacity:0;pointer-events:none;white-space:normal;border:1px solid #79f2c042;padding:7px 9px;font-size:.72rem;font-weight:850;line-height:1.3;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,6px)}.logo-tooltip.visible{opacity:1;transform:translate(-50%)}.logo-loop-live-tooltip{border-radius:var(--radius);min-height:34px;color:var(--muted);background:#ffffff08;border:1px solid #79f2c02e;align-items:center;margin:10px 6px 0;padding:7px 11px;font-size:.76rem;font-weight:850;line-height:1.25;transition:border-color .16s,color .16s,background .16s;display:inline-flex}.logo-loop-live-tooltip.visible{color:var(--ink);background:#79f2c00f;border-color:#79f2c075}.logo-mark{width:44px;height:44px;color:var(--logo-ink,var(--mint));background:linear-gradient(135deg, #ffffff1f, transparent), var(--logo-bg,#79f2c01a);border:1px solid #ffffff1f;border-radius:14px;flex:0 0 44px;place-items:center;font-size:.78rem;font-weight:900;display:grid}.logo-mark img{object-fit:contain;filter:drop-shadow(0 8px 14px #00000047);width:30px;height:30px}.logo-pill[data-accent=neutral] .logo-mark img{filter:invert()drop-shadow(0 8px 14px #00000047)}.logo-label{gap:4px;min-width:0;display:grid}.logo-label strong,.logo-label small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logo-label strong{color:var(--ink);font-size:.96rem}.logo-label small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.logo-pill[data-accent=blue],.logo-pill[data-accent=cyan]{--logo-bg:#67c7ff1f;--logo-glow:#67c7ff3d;--logo-ink:#8ccaff}.logo-pill[data-accent=amber],.logo-pill[data-accent=orange]{--logo-bg:#ffd16621;--logo-glow:#ffd16638;--logo-ink:#ffd166}.logo-pill[data-accent=violet]{--logo-bg:#8f6dff24;--logo-glow:#8f6dff3d;--logo-ink:#b7a4ff}.logo-pill[data-accent=red]{--logo-bg:#ff68681f;--logo-glow:#ff686833;--logo-ink:#ff9b9b}.logo-pill[data-accent=green],.logo-pill[data-accent=mint]{--logo-bg:#79f2c01f;--logo-glow:#79f2c038;--logo-ink:var(--mint)}.logo-pill[data-accent=neutral]{--logo-bg:#ffffff14;--logo-glow:#ffffff24;--logo-ink:var(--ink)}.portfolio-chatbot{z-index:60;pointer-events:none;justify-items:end;display:grid;position:fixed;bottom:24px;right:24px}.chatbot-launcher,.chatbot-panel{pointer-events:auto}.chatbot-launcher{border:1px solid color-mix(in srgb, var(--mint) 46%, var(--line));width:60px;height:60px;color:var(--mint);background:radial-gradient(circle at 30% 20%, var(--chatbot-launcher-glow), transparent 38%), var(--chatbot-launcher-bg);box-shadow:var(--chatbot-launcher-shadow);cursor:pointer;backdrop-filter:blur(14px);border-radius:20px;place-items:center;font-weight:950;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.chatbot-launcher:hover{border-color:color-mix(in srgb, var(--mint) 70%, var(--line));box-shadow:var(--chatbot-launcher-shadow-hover);transform:translateY(-2px)}.chatbot-launcher span{border:1px solid var(--line);background:var(--chatbot-launcher-icon-bg);border-radius:12px;place-items:center;width:34px;height:34px;display:grid}.chatbot-launcher span svg{fill:currentColor;filter:drop-shadow(0 0 10px #79f2c059);width:22px;height:22px}.chatbot-panel{background:linear-gradient(var(--button-bg), var(--button-bg)) padding-box, conic-gradient(from 135deg, #79f2c038, #8f6dff7a, #ffd16638, #79f2c038) border-box;opacity:0;transform-origin:100% 100%;visibility:hidden;backdrop-filter:blur(18px);border:1px solid #0000;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(620px,100vw - 28px);height:min(820px,100vh - 112px);transition:opacity .18s,transform .18s;display:grid;position:absolute;bottom:72px;right:0;overflow:hidden;transform:translateY(16px)scale(.98);box-shadow:0 28px 90px #0000007a}.portfolio-chatbot.open .chatbot-panel{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.chatbot-header{border-bottom:1px solid var(--line);background:#ffffff09;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:12px 16px;display:flex}.chatbot-title,.chatbot-header-actions{align-items:center;gap:10px;min-width:0;display:flex}.chatbot-spark{width:28px;height:28px;color:var(--violet);flex:0 0 28px;place-items:center;display:grid}.chatbot-spark svg,.chatbot-home-spark svg{fill:currentColor;stroke:none;width:100%;height:100%}.chatbot-title strong{color:var(--ink);font-size:1.02rem;font-weight:820;display:block}.chatbot-header button,.chatbot-header a,.chatbot-suggestions button,.chatbot-composer button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff0b;border-radius:8px;font-weight:850}.chatbot-header button{min-width:36px;min-height:36px;color:var(--muted);place-items:center;padding:0 10px;display:inline-grid}.chatbot-header a{min-height:34px;color:var(--muted);align-items:center;gap:7px;padding:0 10px;font-size:.82rem;font-weight:850;display:inline-flex}.chatbot-header button:hover,.chatbot-header a:hover,.chatbot-header button:focus-visible,.chatbot-header a:focus-visible{color:var(--ink);background:#79f2c014;border-color:#79f2c057}.chatbot-header button svg,.chatbot-header a svg{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;fill:none;width:17px;height:17px}.chatbot-messages{scroll-behavior:smooth;align-content:start;gap:18px;padding:34px 22px 18px;display:grid;overflow-y:auto}.chatbot-home{text-align:center;justify-items:center;gap:10px;max-width:430px;margin:0 auto 22px;display:grid}.chatbot-home-spark{width:34px;height:34px;color:var(--violet);place-items:center;display:grid}.chatbot-home h2{color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.48rem,4vw,1.72rem);font-weight:880;line-height:1.12}.chatbot-home p{color:var(--muted);margin:0;font-size:.98rem;line-height:1.5}.chatbot-prompt-board{gap:26px;margin-bottom:12px;display:grid}.chatbot-prompt-board section{gap:10px;display:grid}.chatbot-prompt-board h3,.chatbot-select-row h3{color:var(--ink);margin:0;font-size:1rem;font-weight:820}.chatbot-prompt-board p{color:var(--muted);margin:-4px 0 4px;font-size:.9rem;line-height:1.5}.chatbot-prompt-list{gap:6px;display:grid}.chatbot-prompt-list button{width:100%;min-height:34px;color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;font-size:.94rem;font-weight:700;display:flex}.chatbot-prompt-list button:hover,.chatbot-prompt-list button:focus-visible{color:var(--ink)}.chatbot-prompt-list svg{width:17px;height:17px;color:var(--faint);stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none}.chatbot-select-row{align-items:center;gap:8px;display:flex}.chatbot-select-row span{border:1px solid var(--line);min-height:28px;color:var(--muted);background:#ffffff0a;border-radius:8px;align-items:center;padding:0 10px;font-size:.82rem;font-weight:800;display:inline-flex}.chatbot-message{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;max-width:92%;padding:13px}.chatbot-message.user{background:#79f2c013;border-color:#79f2c03d;justify-self:end}.chatbot-message.bot{background:linear-gradient(#ffffff0a,#ffffff0a) padding-box padding-box,linear-gradient(135deg,#79f2c029,#8f6dff29) border-box;justify-self:start}.chatbot-message p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.62}.chatbot-message.user p{color:var(--ink)}.chatbot-message-role{color:var(--mint);letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px;font-size:.68rem;font-weight:950;display:block}.chatbot-message.user .chatbot-message-role{color:var(--ink)}.chatbot-links,.chatbot-suggestions{flex-wrap:wrap;gap:8px;display:flex}.chatbot-links{margin-top:10px}.chatbot-links a,.chatbot-suggestions button{min-height:32px;color:var(--ink);background:#79f2c00e;border:1px solid #79f2c038;border-radius:999px;align-items:center;gap:7px;padding:7px 9px;font-size:.74rem;font-weight:850;display:inline-flex}.chatbot-links a svg{stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none;width:14px;height:14px}.chatbot-suggestions{padding:0 22px 12px}.chatbot-suggestions button{color:var(--violet);background:#8f6dff14}.chatbot-suggestions button svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:15px;height:15px}.chatbot-suggestions button:disabled,.chatbot-composer button:disabled{cursor:not-allowed;opacity:.45}.chatbot-sources{color:var(--muted);margin-top:10px;font-size:.74rem}.chatbot-sources summary{cursor:pointer;color:#79f2c0e6;width:fit-content;font-weight:850}.chatbot-sources ul{gap:7px;margin:8px 0 0;padding:0;list-style:none;display:grid}.chatbot-sources li{border-radius:calc(var(--radius) - 2px);background:#ffffff08;border:1px solid #ffffff14;gap:2px;padding:8px;display:grid}.chatbot-sources strong{color:var(--ink)}.chatbot-message.thinking p{align-items:center;gap:5px;min-height:22px;display:inline-flex}.chatbot-message.thinking p span{background:var(--mint);border-radius:999px;width:7px;height:7px;animation:.9s ease-in-out infinite chat-thinking}.chatbot-message.thinking p span:nth-child(2){animation-delay:.12s}.chatbot-message.thinking p span:nth-child(3){animation-delay:.24s}@keyframes chat-thinking{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.chatbot-composer{background:linear-gradient(var(--button-bg), var(--button-bg)) padding-box, linear-gradient(115deg, #4a69ffdb, #ec52c2d1, #79f2c0b8) border-box;border:1px solid #0000;border-radius:14px;gap:8px;margin:0 20px 20px;padding:0;display:grid;position:relative;box-shadow:0 18px 46px #00000038}.chatbot-composer textarea{resize:vertical;border-radius:inherit;width:100%;min-width:0;min-height:58px;max-height:130px;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;padding:14px 58px 12px 16px;font-size:.98rem;line-height:1.45}.chatbot-composer textarea:focus{border-color:#79f2c08f}.chatbot-composer-actions{align-items:center;display:flex;position:absolute;bottom:8px;right:8px}.chatbot-composer-actions span{width:max-content;color:var(--muted);opacity:0;pointer-events:none;font-size:.68rem;font-weight:800;position:absolute;bottom:8px;right:54px}.chatbot-composer button{color:#fff;background:linear-gradient(135deg, var(--violet), var(--mint));border:0;border-radius:10px;place-items:center;width:40px;height:40px;padding:0;display:grid}.chatbot-composer button svg{stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:18px;height:18px}.skill-card h3,.credential-card h3{margin-bottom:16px}.certificate-card{border-radius:var(--radius);background:linear-gradient(135deg, #79f2c014, #8f6dff14) padding-box, conic-gradient(from var(--glow-angle,135deg), #79f2c01a, #8f6dff7a, #ffd16629, #79f2c01a) border-box;border:1px solid #0000;min-height:100%;padding:24px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.certificate-card:before{pointer-events:none;content:"";opacity:.7;background:linear-gradient(135deg,#ffffff14,#0000 34%);position:absolute;inset:0}.certificate-card:hover{transform:translateY(-3px);box-shadow:0 26px 70px #79f2c014}.certificate-topline{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.issuer-logo{border:1px solid var(--line);border-radius:var(--radius);color:#050605;background:#ffffffeb;flex:0 0 48px;place-items:center;width:48px;height:48px;font-weight:900;display:grid;overflow:hidden}.issuer-logo img{object-fit:contain;width:100%;height:100%;padding:6px}.certificate-topline p,.certificate-topline span{margin:0}.certificate-topline p{color:var(--ink);font-size:.88rem;font-weight:900}.certificate-topline span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.certificate-card h3{z-index:1;margin:18px 0 14px;font-size:clamp(1.08rem,1.45vw,1.36rem);line-height:1.16;position:relative}.featured-certificate h3{font-size:clamp(1.18rem,1.7vw,1.56rem)}.certificate-meta{z-index:1;grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid;position:relative}.certificate-meta div{border-radius:var(--radius);background:#79f2c00a;border:1px solid #79f2c029;min-width:0;padding:10px}.certificate-meta dt{color:var(--faint);text-transform:uppercase;margin-bottom:5px;font-size:.68rem;font-weight:900}.certificate-meta dd{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;font-weight:800;overflow:hidden}.certificate-skills{z-index:3;margin:22px 0;position:relative}.certificate-actions{z-index:2;justify-content:space-between;align-items:center;min-height:44px;display:flex;position:relative}.certificate-actions>span{color:var(--faint);font-size:.82rem;font-weight:850}.certificate-index{z-index:0}.certificates-catalog-hero{padding-top:72px;padding-bottom:34px}.all-certificates-section{padding-top:28px}.all-certificates-grid{gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.education-card strong{margin-bottom:12px;display:block}.education-heading{align-items:center;gap:14px;margin-bottom:14px;display:flex}.education-heading h3,.education-heading p{margin-bottom:0}.education-logo{border-radius:var(--radius);background:#ffffffeb;border:1px solid #79f2c033;flex:0 0 54px;place-items:center;width:54px;height:54px;display:grid;overflow:hidden}.education-logo img{object-fit:contain;width:42px;height:42px}.contact-section{color:var(--ink);background:0 0;gap:20px;margin-bottom:34px;padding:72px 0;display:grid}.contact-hero{gap:10px;max-width:720px;display:grid}.contact-hero h2{margin-bottom:0;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1}.contact-hero>p{max-width:720px;color:var(--muted);margin-bottom:0;font-size:.94rem;line-height:1.62}.contact-metrics{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.contact-metrics span{min-height:32px;color:var(--muted);background:#79f2c00b;border:1px solid #79f2c033;border-radius:999px;align-items:center;padding:0 10px;font-size:.76rem;font-weight:900;display:inline-flex}.contact-console{border-radius:var(--radius);background:linear-gradient(var(--button-bg), var(--button-bg)) padding-box, conic-gradient(from 135deg, #79f2c03d, #8f6dff5c, #ffd16624, #79f2c03d) border-box;box-shadow:var(--shadow);border:1px solid #0000;grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);align-items:start;gap:14px;padding:14px;display:grid;overflow:hidden}.contact-primary{gap:12px;min-width:0;display:grid}.contact-route{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 6% 10%, #79f2c01f, transparent 34%), var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 12px;padding:12px;display:grid}.contact-route span{width:34px;height:34px;color:var(--mint);background:#79f2c014;border:1px solid #79f2c047;border-radius:10px;place-items:center;font-size:.78rem;font-weight:950;display:grid}.contact-route strong{color:var(--ink);align-self:center;font-size:1rem;font-weight:900}.contact-route p{color:var(--muted);grid-column:2;margin:-4px 0 0;font-size:.8rem;font-weight:720;line-height:1.48}.contact-form{z-index:2;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg, #79f2c00e, #8f6dff09), var(--surface);gap:10px;max-width:none;height:100%;padding:14px;display:grid;position:relative}.form-intro{gap:4px;display:grid}.form-intro span{color:var(--mint);text-transform:uppercase;font-size:.72rem;font-weight:950}.form-intro strong{color:var(--ink);font-size:1.05rem;line-height:1.2}.form-intro p{color:var(--muted);margin-bottom:0;font-size:.8rem;line-height:1.48}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contact-form label{color:var(--muted);text-transform:uppercase;gap:7px;font-size:.74rem;font-weight:900;display:grid}.contact-form label span{justify-content:space-between;align-items:center;gap:8px;display:flex}.contact-form label em{color:var(--faint);text-transform:none;font-size:.66rem;font-style:normal;font-weight:800}.contact-form .form-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form input,.contact-form textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-width:0;color:var(--ink);background:var(--input-bg);outline:none;font-size:.88rem;font-weight:650;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px #ffffff09}.contact-form input{height:42px;padding:0 12px}.contact-form textarea{resize:vertical;min-height:104px;padding:11px 12px;line-height:1.55}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--faint)}.contact-form input:focus,.contact-form textarea:focus{border-color:#79f2c07a;box-shadow:inset 0 1px #ffffff0e,0 0 0 3px #79f2c01a}.contact-form .field-invalid input,.contact-form .field-invalid textarea{border-color:#ff8b8bb8;box-shadow:0 0 0 3px #ff8b8b1f}.contact-form small{color:var(--danger);text-transform:none;font-size:.72rem;font-weight:780;line-height:1.35}.contact-form .field-help{color:var(--faint);justify-self:end}.contact-form-actions{align-items:flex-start;gap:12px;display:flex}.form-feedback{min-height:40px;color:var(--muted);padding:7px 0;font-size:.76rem;font-weight:760;line-height:1.4}.form-feedback.success{color:var(--mint)}.form-feedback.error{color:var(--danger)}.form-feedback.pending{color:var(--amber)}.support-panel{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 90% 0%, #8f6dff24, transparent 35%), var(--surface);gap:16px;padding:16px;display:grid}.support-heading{gap:8px;display:grid}.support-heading .eyebrow{margin-bottom:0}.support-heading h3{max-width:320px;margin-bottom:0;font-size:clamp(1.04rem,1.4vw,1.18rem);line-height:1.24}.support-heading p{margin-bottom:0;font-size:.8rem;font-weight:720;line-height:1.58}.contact-side{grid-template-rows:350px auto;gap:14px;min-width:0;display:grid}.contact-lanyard{z-index:2;border-radius:var(--radius);background:radial-gradient(circle at 50% 18%, #79f2c021, transparent 34%), radial-gradient(circle at 84% 84%, #8f6dff21, transparent 34%), var(--surface);border:1px solid #79f2c02e;height:350px;min-height:350px;position:relative;overflow:hidden}.contact-lanyard-copy{z-index:3;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--button-bg) 86%, transparent);backdrop-filter:blur(12px);gap:2px;padding:10px 12px;display:grid;position:absolute;top:14px;left:14px}.contact-lanyard-copy span{color:var(--mint);text-transform:uppercase;font-size:.68rem;font-weight:950}.contact-lanyard-copy strong{color:var(--ink);font-size:.88rem}.contact-lanyard .lanyard-wrapper{z-index:2;height:100%;min-height:100%;margin-top:0}.contact-lanyard .lanyard-wrapper canvas{transform:translateY(-34px)scale(1.02)}.site-footer{width:min(var(--max), calc(100% - 32px));border-top:1px solid var(--line);margin:0 auto 24px;padding:26px 0 0}.footer-brand,.footer-meta,.footer-nav,.footer-socials{align-items:center;display:flex}.footer-brand{justify-content:space-between;gap:20px;padding-bottom:18px}.footer-brand p{max-width:460px;color:var(--muted);text-align:right;margin:0;font-size:.86rem;line-height:1.55}.footer-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:14px 0}.footer-nav a,.footer-socials a{border-radius:var(--radius);color:var(--muted);padding:7px 9px;font-size:.8rem;font-weight:850;transition:color .16s,background .16s}.footer-nav a:hover,.footer-nav a:focus-visible,.footer-socials a:hover,.footer-socials a:focus-visible{color:var(--mint);background:#79f2c014}.footer-meta{color:var(--faint);justify-content:space-between;gap:16px;padding-top:14px;font-size:.78rem;font-weight:780}.footer-socials{flex-wrap:wrap;justify-content:flex-end;gap:4px}.lanyard-stage,.lanyard-wrapper{min-height:clamp(340px,34vw,430px);position:relative}.lanyard-stage{perspective:900px;place-items:center;display:grid}.lanyard-cord{filter:drop-shadow(0 0 16px #79f2c029);border-left:2px solid #8f6dff5c;border-right:2px solid #79f2c06b;border-radius:0 0 48px 48px;width:118px;height:238px;position:absolute;top:-62px;left:50%;transform:translate(-50%)}.lanyard-clip{z-index:2;background:linear-gradient(#ffffff29,#ffffff05),#141614e6;border:1px solid #ffffff29;border-radius:999px;width:84px;height:24px;position:absolute;top:74px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff1f}.lanyard-card{border:1px solid var(--line-strong);width:min(318px,100%);color:var(--ink);text-align:left;cursor:grab;user-select:none;touch-action:none;background:linear-gradient(135deg,#ffffff1f,#0000 28%),linear-gradient(160deg,#79f2c01f,#8f6dff29),#070807db;border-radius:22px;gap:14px;padding:18px;transition:box-shadow .18s,border-color .18s,transform .22s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;box-shadow:0 34px 90px #0000006b}.lanyard-card:active{cursor:grabbing}.lanyard-card:hover{border-color:#79f2c0a3;box-shadow:0 36px 110px #79f2c024}.lanyard-card:before{border:1px solid var(--line);content:"";background:#0000006b;border-radius:999px;width:62px;height:13px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.lanyard-chip{color:#050605;background:var(--ink);border-radius:14px;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.lanyard-topline{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.lanyard-status{color:var(--mint);text-transform:uppercase;background:#79f2c014;border:1px solid #79f2c04d;border-radius:999px;padding:7px 10px;font-size:.68rem;font-weight:900}.lanyard-profile{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:14px;display:grid}.lanyard-photo{background:#ffffff0d;border:1px solid #ffffff29;border-radius:18px;width:82px;height:98px;overflow:hidden}.lanyard-photo img{object-fit:cover;object-position:center 42%;width:100%;height:100%}.lanyard-copy{gap:7px;min-width:0;display:grid}.lanyard-kicker,.lanyard-card small{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.lanyard-card strong{font-family:Georgia,Times New Roman,serif;font-size:1.34rem;line-height:1.05}.lanyard-card span:not(.lanyard-chip,.lanyard-kicker,.lanyard-status,.lanyard-barcode span){color:var(--muted);line-height:1.45}.lanyard-meta{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lanyard-meta span{background:#ffffff09;border:1px solid #ffffff17;border-radius:12px;padding:9px 10px;font-size:.76rem;font-weight:800}.lanyard-barcode{border-top:1px solid #ffffff14;align-items:end;gap:3px;height:34px;padding-top:8px;display:flex}.lanyard-barcode span{width:var(--w);height:var(--h);opacity:.74;background:#ffffffb8;display:block}.contact-section .eyebrow,.contact-section p{color:var(--muted)}.contact-section .button.primary{color:var(--ink);background:#ffffff0b;border-color:#79f2c09e}.contact-section .button.secondary{color:var(--ink);background:0 0;border-color:#ffffff47}@keyframes signal-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes logo-loop-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=980px){.nav-links{scrollbar-width:none;flex:auto;justify-content:flex-start;gap:2px;padding:2px;overflow-x:auto;mask-image:linear-gradient(90deg,#000 82%,#0000)}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex:none;padding:9px 10px;font-size:.84rem}.site-header{width:min(var(--max), calc(100% - 32px));gap:10px}.hero,.split-section,.proof-section,.contact-section,.astro-project-grid,.project-detail-layout,.project-impact-grid,.experience-impact-grid,.catalog-hero-grid,.all-projects-grid,.all-experience-grid,.all-certificates-grid{grid-template-columns:1fr}.project-view-more{justify-self:start;margin-bottom:0}.hero{min-height:auto}.hero-copy{max-width:760px}.hero-visual{width:100%;min-height:560px;margin-top:-42px}.section-intro{position:static}.contact-form,.support-panel,.contact-lanyard,.lanyard-stage,.lanyard-wrapper{grid-area:auto}.support-panel,.contact-form{padding:16px}.contact-console{grid-template-columns:1fr}.contact-side{grid-template-rows:auto auto}.contact-lanyard{height:430px;min-height:430px}.support-heading h3{max-width:100%}.proof-grid{grid-template-columns:repeat(2,1fr)}.catalog-panel{max-width:520px}.featured-project{min-height:auto}.project-detail-copy h1{font-size:clamp(2.6rem,9vw,4.8rem)}}@media (width<=640px){html,body{overflow-x:clip}.site-header,.section{width:min(100% - 22px, var(--max))}.site-header{margin-top:10px;padding:7px}.header-action{display:none}.brand{flex:none}.brand span:last-child{display:none}.brand-mark{border-radius:11px;width:34px;height:34px}.nav-links{justify-content:flex-start;max-width:calc(100vw - 82px)}.nav-links a{padding:8px 9px;font-size:.8rem}.project-card-top{grid-template-columns:minmax(0,1fr) 104px;gap:10px}.project-media-preview,.project-media-preview img{height:82px;min-height:82px}.section{padding:66px 0;scroll-margin-top:76px}.hero{gap:20px;padding-top:38px}.hero-copy{text-align:left;justify-items:start}h1{overflow-wrap:normal;max-width:100%;font-size:clamp(2.52rem,13vw,3rem);line-height:.96}h2{overflow-wrap:normal;font-size:clamp(2.12rem,11vw,3rem);line-height:1}.decrypt-revealed,.decrypt-encrypted{min-width:0}.signal-strip{max-width:calc(100vw - 22px)}.logo-loop{padding:8px}.logo-loop-mask:before,.logo-loop-mask:after{width:42px}.logo-loop-track{gap:8px;animation-duration:34s}.logo-pill{width:62px;min-height:66px;padding:10px}.logo-mark{border-radius:12px;flex-basis:38px;width:38px;height:38px;font-size:.7rem}.hero-visual,.robot-scene{min-height:440px}.hero-visual{margin-top:-16px}.robot-scene{inset:-2% -30% -12%}.visual-panel{text-align:left;max-width:calc(100% - 24px);left:12px;right:auto;transform:none}.proof-grid{grid-template-columns:1fr}.catalog-hero-grid h1{font-size:clamp(2.42rem,12.5vw,3rem);line-height:.98}.project-detail-copy h1{font-size:clamp(2.1rem,11vw,3rem)}.catalog-panel{grid-template-columns:1fr 1fr}.catalog-panel div{min-height:96px}.role-heading,.project-meta,.certificate-meta{display:grid}.proof-card,.role-card,.experience-card,.project-detail,.skill-card,.credential-card,.certificate-card{padding:22px}.contact-section{padding:66px 0}.lanyard-stage,.lanyard-wrapper,.contact-lanyard{min-height:430px}.project-detail h3{overflow-wrap:anywhere;font-size:clamp(1.55rem,8vw,2rem)}.site-footer{width:min(100% - 22px, var(--max))}.footer-brand,.footer-meta{justify-items:start;display:grid}.footer-brand p{text-align:left;max-width:100%}.footer-socials{justify-content:flex-start}}@media (width<=360px){.site-header,.section{width:min(100% - 18px, var(--max))}h1,.catalog-hero-grid h1{overflow-wrap:normal;word-break:normal;font-size:2.08rem;line-height:1}h1 .decrypt-heading,.catalog-hero-grid h1 .decrypt-heading{overflow-wrap:normal;word-break:normal}h2{font-size:2rem}.button:not(.icon-button){width:100%;min-width:0;padding-inline:12px}.icon-button{width:48px;min-width:48px}.hero-actions,.contact-form,.contact-form-actions{width:100%}.form-grid,.contact-form-actions,.support-panel{grid-template-columns:1fr}.contact-form-actions{display:grid}.contact-form,.support-panel{padding:14px}.form-intro strong{font-size:.98rem}.footer-nav,.footer-meta{gap:6px}.hero-actions{justify-content:flex-start}.portfolio-chatbot{bottom:12px;right:12px}.chatbot-launcher{border-radius:16px;width:54px;height:54px}.chatbot-panel{width:calc(100vw - 24px);height:calc(100vh - 92px);max-height:760px;bottom:66px;right:0}.chatbot-messages{min-height:0}.chatbot-suggestions{max-height:92px;overflow-y:auto}.chatbot-composer textarea{min-height:68px}}.proof-card,.role-card,.experience-card,.project-detail,.certificate-card,.skill-card,.credential-card,.principle-list article,.lanyard-card{--glow-angle:135deg;background:linear-gradient(var(--bg-soft), var(--bg-soft)) padding-box, conic-gradient(from var(--glow-angle), #79f2c014, #8f6dff61, #ffd16629, #79f2c014) border-box;border-color:#0000;transition:transform .18s,box-shadow .18s,filter .18s}.proof-card:hover,.role-card:hover,.experience-card:hover,.project-detail:hover,.certificate-card:hover,.skill-card:hover,.credential-card:hover,.principle-list article:hover{transform:translateY(-3px);box-shadow:0 26px 70px #79f2c014}.project-detail{background:linear-gradient(var(--bg-soft), var(--bg-soft)) padding-box, conic-gradient(from var(--glow-angle), #79f2c014, #8f6dff61, #ffd16629, #79f2c014) border-box}.gallery-section{padding-top:72px}.react-bits-dome-shell{border-radius:var(--radius);background:radial-gradient(circle at 50% 12%, #79f2c01a, transparent 32%), radial-gradient(circle at 50% 100%, #8f6dff2e, transparent 40%), linear-gradient(var(--bg-soft), var(--bg-soft)) padding-box, conic-gradient(from 135deg, #79f2c01a, #8f6dff61, #ffd16624, #79f2c01a) border-box;border:1px solid #0000;height:min(76vh,760px);min-height:620px;position:relative;overflow:hidden}@media (width<=780px){.react-bits-dome-shell{height:520px;min-height:520px}}
