.world-scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(circle at 14% 17%,rgba(42,86,66,.38),transparent 28%),radial-gradient(circle at 94% 76%,rgba(31,88,75,.36),transparent 30%),radial-gradient(circle at 73% 48%,#1a3b30,#10261d 34%,#091a13,#07140e)}.world-scene:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background:radial-gradient(circle at 72% 50%,transparent 18%,rgba(2,10,6,.57) 75%)}.world-background-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.2;background-image:radial-gradient(circle,#b8e2bc 1px,transparent 1.5px),radial-gradient(circle,#80bba8 .7px,transparent 1.3px);background-size:197px 163px,263px 229px;background-position:34px 31px,123px 96px}.world-background-map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;color:#8cbda1;opacity:.19;pointer-events:none}.world-scene-glow{position:absolute;top:50%;left:72%;width:min(60vw,800px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#8ad39b;opacity:.075;filter:blur(100px);pointer-events:none}.world-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:grab;transition:opacity .5s ease}.world-canvas.is-ready{opacity:1}.world-canvas:active{cursor:grabbing}.world-fallback-core{position:absolute;top:47%;left:71%;width:270px;height:270px;display:grid;place-items:center;transform:translate(-50%,-50%) rotate(-14deg);border:1px solid rgba(213,242,104,.5);border-radius:27%;background:radial-gradient(circle,#345b40,#1a3428 68%,#12271d);box-shadow:0 0 0 75px #d5f26806,0 0 0 150px #d5f26805,0 0 100px #d5f26830;color:#d5f268}.world-fallback-core span{font-family:Georgia,serif;font-size:5rem}@media (max-width: 900px){.world-scene{background:radial-gradient(circle at 50% 27%,#1b3d31,#10261d 37%,#091a13 75%)}.world-background-map{opacity:.12}.world-scene-glow{top:27%;left:50%;width:100vw;opacity:.09}.world-fallback-core{top:25%;left:50%;width:125px;height:125px;border-radius:27%;box-shadow:0 0 0 40px #d5f26808,0 0 0 80px #d5f26805}.world-fallback-core span{font-size:2.3rem}}@media (prefers-reduced-motion: reduce){.world-canvas{transition:none}}.world-page{position:relative;width:100%;height:100dvh;min-height:580px;overflow:hidden;background:#091713;color:#edf4e9}.world-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,18,14,.57),transparent 52%),radial-gradient(circle at 74% 48%,transparent 8%,rgba(4,13,10,.15) 67%,rgba(4,13,10,.57))}.world-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.28;background-image:linear-gradient(rgba(181,225,181,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(181,225,181,.05) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:linear-gradient(to right,transparent 22%,black 80%);mask-image:linear-gradient(to right,transparent 22%,black 80%)}.world-header{position:relative;z-index:5;height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-inline:clamp(22px,4vw,64px);border-bottom:1px solid rgba(203,239,205,.16);background:#071510ab;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.world-brand{display:inline-flex;align-items:center;gap:12px;color:#eff8e8;font-size:.75rem;font-weight:820;letter-spacing:.11em;text-decoration:none;white-space:nowrap}.world-brand small{display:block;margin-top:5px;color:#8fae96;font-size:.52rem;font-weight:670;letter-spacing:.16em}.brand-monogram{width:40px;height:40px;display:grid;place-items:center;border:1px solid #bce289;background:#d5f268;color:#10281d;font-size:.83rem;letter-spacing:-.08em}.header-center{color:#799486;font-family:Consolas,Courier New,monospace;font-size:.6rem;font-weight:700;letter-spacing:.18em;text-align:center}.header-actions{display:flex;align-items:center;gap:22px}.header-actions a{color:#a7c1a8;font-family:Consolas,Courier New,monospace;font-size:.63rem;font-weight:720;letter-spacing:.09em;text-decoration:none;white-space:nowrap}.header-actions a:hover{color:#d5f268}.header-actions .header-resume{min-height:38px;display:inline-flex;align-items:center;gap:10px;padding:0 13px;border:1px solid rgba(213,242,104,.65);color:#d5f268}.header-resume svg,.panel-button svg,.contact-address svg,.contact-links svg{width:17px;height:17px;flex:0 0 auto}.world-main{position:absolute;z-index:3;top:110px;bottom:130px;left:clamp(22px,4vw,64px);width:min(535px,calc(100vw - 90px));display:flex;align-items:center}.world-panel{width:100%;max-height:100%;min-height:min(560px,100%);overflow-y:auto;overscroll-behavior:contain;padding:clamp(25px,3vw,43px);border:1px solid rgba(181,226,180,.22);background:linear-gradient(135deg,#0c1f18f0,#0a1b15d6);box-shadow:24px 24px 80px #00000045;-webkit-backdrop-filter:blur(17px);backdrop-filter:blur(17px);scrollbar-width:thin;scrollbar-color:#416d50 transparent}.world-panel::-webkit-scrollbar{width:5px}.world-panel::-webkit-scrollbar-thumb{background:#416d50}.panel-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:34px;padding-bottom:17px;border-bottom:1px solid rgba(192,226,194,.18);color:#8ca994;font-family:Consolas,Courier New,monospace;font-size:.59rem;font-weight:700;letter-spacing:.15em}.panel-meta span:first-child{color:#d5f268}.panel-section{animation:panel-enter .36s ease both}@keyframes panel-enter{0%{opacity:0;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}.panel-kicker{margin:0 0 18px;color:#b7df9c;font-family:Consolas,Courier New,monospace;font-size:.65rem;font-weight:720;letter-spacing:.16em}.panel-section h1,.panel-section h2{margin:0 0 21px;color:#f1f6e9;font-size:clamp(3rem,4.4vw,5.2rem);font-weight:630;letter-spacing:-.065em;line-height:.99}.panel-section h2{font-size:clamp(2.8rem,3.7vw,4.25rem)}.panel-section h1 em,.panel-section h2 em{color:#d5f268;font-family:Georgia,Times New Roman,serif;font-weight:400}.panel-lede{margin:0;color:#b7cbb9;font-size:1.03rem;line-height:1.67}.panel-intro{margin:0 0 25px;color:#b4cbb9;font-size:.92rem;line-height:1.58}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.panel-button{min-height:45px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:0 14px;border:1px solid transparent;font-size:.77rem;font-weight:760;text-decoration:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.panel-button:hover{transform:translateY(-2px)}.panel-button-primary{background:#d5f268;color:#10241b}.panel-button-primary:hover{background:#e3ff85}.panel-button-quiet{border-color:#c3e2c566;background:#ffffff08;color:#e7f4e7}.panel-button-quiet:hover{background:#ffffff17}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px;padding-top:19px;border-top:1px solid rgba(192,226,194,.22)}.proof-grid div{display:flex;flex-direction:column;gap:5px}.proof-grid div+div{padding-left:18px;border-left:1px solid rgba(192,226,194,.22)}.proof-grid strong{color:#e7f6d2;font-size:.97rem}.proof-grid span{color:#92a899;font-size:.67rem}.project-switcher{display:grid;gap:5px;margin-bottom:23px}.project-choice{min-height:41px;display:flex;align-items:center;gap:15px;padding:7px 11px;border:1px solid rgba(195,226,197,.17);background:#ffffff05;color:#aabfae;font-size:.75rem;font-weight:680;text-align:left;cursor:pointer}.project-choice:hover,.project-choice.is-active{border-color:#d5f2689e;background:#d5f26817;color:#e5f5d2}.project-choice span{color:#d5f268;font-family:Consolas,Courier New,monospace;font-size:.61rem}.project-eyebrow,.career-date{color:#b7df9c;font-family:Consolas,Courier New,monospace;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-detail-panel{padding-top:18px;border-top:1px solid rgba(192,226,194,.2)}.project-detail-panel h3{margin:8px 0 11px;font-size:1.5rem;font-weight:650;letter-spacing:-.045em;line-height:1.1}.project-summary{margin:0 0 19px;color:#c9e5bd;font-size:.86rem;font-weight:580;line-height:1.48}.detail-pair{margin-top:17px;padding-top:14px;border-top:1px solid rgba(192,226,194,.14)}.detail-pair strong{display:block;margin-bottom:6px;color:#d5f268;font-family:Consolas,Courier New,monospace;font-size:.59rem;letter-spacing:.1em;text-transform:uppercase}.detail-pair p{margin:0;color:#b0c6b5;font-size:.78rem;line-height:1.57}.tool-tags{display:flex;flex-wrap:wrap;gap:5px;margin:20px 0 0;padding:0;list-style:none}.tool-tags li{padding:6px 7px;border:1px solid rgba(181,226,180,.25);color:#bdd7bf;font-family:Consolas,Courier New,monospace;font-size:.58rem}.career-list{border-top:1px solid rgba(192,226,194,.22)}.career-list article{padding:22px 0;border-bottom:1px solid rgba(192,226,194,.2)}.career-list h3{margin:8px 0 3px;font-size:1.3rem;font-weight:660}.career-org{margin:0 0 11px!important;color:#c7e8ac!important;font-size:.73rem!important}.career-list article>p:last-child{margin:0;color:#b3c8b7;font-size:.81rem;line-height:1.56}.competition-note{display:flex;flex-direction:column;gap:7px;margin-top:20px;padding:17px;background:#d5f26814;border-left:2px solid #d5f268}.competition-note strong{color:#d5f268;font-size:1rem}.competition-note span{color:#b3c8b7;font-size:.75rem;line-height:1.5}.capability-stack{border-top:1px solid rgba(192,226,194,.2)}.capability-item{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:17px 0;border-bottom:1px solid rgba(192,226,194,.2)}.capability-item>span{padding-top:3px;color:#d5f268;font-family:Consolas,Courier New,monospace;font-size:.59rem}.capability-item h3{margin:0 0 6px;font-size:1rem;font-weight:700}.capability-item p{margin:0;color:#b2c8b7;font-size:.77rem;line-height:1.5}.education-note{display:flex;flex-direction:column;gap:5px;margin-top:25px}.education-note span{margin-bottom:3px;color:#b7df9c;font-family:Consolas,Courier New,monospace;font-size:.6rem;font-weight:700;letter-spacing:.12em}.education-note strong{font-size:1.02rem}.education-note p{margin:0;color:#a9c1ad;font-size:.76rem;line-height:1.5}.contact-address{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:37px;padding:17px 0;border-top:1px solid rgba(213,242,104,.55);border-bottom:1px solid rgba(213,242,104,.55);color:#d5f268;font-size:clamp(.94rem,1.4vw,1.15rem);font-weight:730;text-decoration:none;overflow-wrap:anywhere}.contact-address:hover{color:#e8ff9c}.contact-links{display:flex;flex-direction:column;gap:11px;margin-top:21px}.contact-links a{display:flex;align-items:center;gap:12px;color:#d5e8cf;font-size:.78rem;font-weight:690;text-decoration:none}.contact-links a:hover{color:#d5f268}.contact-location{margin:45px 0 0;color:#7e9d87;font-family:Consolas,Courier New,monospace;font-size:.57rem;letter-spacing:.1em;line-height:1.7}.world-side-note{position:absolute;z-index:2;right:clamp(22px,4vw,64px);bottom:143px;display:flex;flex-direction:column;align-items:end;gap:2px;color:#9eb6a0;font-family:Consolas,Courier New,monospace;font-size:.59rem;letter-spacing:.15em;pointer-events:none}.world-orbit-controls{position:absolute;z-index:5;right:clamp(22px,4vw,64px);bottom:224px;display:flex;align-items:center;gap:6px;font-family:Consolas,Courier New,monospace}.world-orbit-status{display:inline-flex;align-items:center;gap:8px;margin-right:8px;color:#b9d5ba;font-size:.57rem;font-weight:700;letter-spacing:.12em;white-space:nowrap}.world-orbit-status i{width:6px;height:6px;border-radius:50%;background:#d5f268;box-shadow:0 0 10px #d5f268}.world-orbit-controls button{min-height:31px;padding:0 10px;border:1px solid rgba(188,224,181,.34);background:#091d14cc;color:#d2e6ca;font:inherit;font-size:.57rem;font-weight:750;letter-spacing:.08em;cursor:pointer;white-space:nowrap}.world-orbit-controls button:hover,.world-orbit-controls button:focus-visible{border-color:#d5f268;color:#d5f268}.world-side-note strong{color:#d5f268;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:3rem;font-weight:600;letter-spacing:-.08em;line-height:1}.world-mobile-hint{display:none}.world-nav{position:absolute;z-index:5;left:clamp(22px,4vw,64px);right:clamp(22px,4vw,64px);bottom:38px;height:73px;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(184,222,188,.22);background:#0b1f17db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.world-nav-item{position:relative;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:11px 18px;border:0;border-right:1px solid rgba(184,222,188,.16);background:transparent;color:#a5bfa8;text-align:left;cursor:pointer;transition:background-color .2s,color .2s}.world-nav-item:last-child{border-right:0}.world-nav-item:hover{background:#d5f26814;color:#eaf7df}.world-nav-item.is-active{background:#d5f2681f;color:#d5f268}.world-nav-item.is-active:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:#d5f268;box-shadow:0 0 16px #d5f26880}.world-nav-item span{font-family:Consolas,Courier New,monospace;font-size:.58rem;letter-spacing:.12em}.world-nav-item strong{font-size:.84rem;font-weight:690}.world-footer{position:absolute;z-index:4;left:clamp(22px,4vw,64px);right:clamp(22px,4vw,64px);bottom:11px;display:flex;justify-content:space-between;gap:10px;color:#72907b;font-family:Consolas,Courier New,monospace;font-size:.53rem;font-weight:680;letter-spacing:.12em}@media (max-width: 1100px){.header-center{display:none}.world-main{width:min(490px,calc(100vw - 70px))}.world-side-note{display:none}}@media (max-width: 900px){.world-page{min-height:0}.world-header{height:61px;padding-inline:16px}.world-brand{gap:8px;font-size:.64rem}.world-brand small{font-size:.43rem}.brand-monogram{width:34px;height:34px;font-size:.72rem}.header-actions{gap:10px}.header-actions a:first-child{display:none}.header-actions .header-resume{min-height:34px;padding-inline:9px;font-size:.56rem}.world-main{top:auto;bottom:76px;left:0;right:0;width:100%;height:min(57dvh,600px);display:block}.world-panel{height:100%;min-height:0;max-height:none;padding:24px clamp(18px,5vw,52px);border:0;border-top:1px solid rgba(181,226,180,.4);background:linear-gradient(180deg,#0a1d15e8,#091913fa 38%);box-shadow:0 -25px 55px #040f0a59}.panel-meta,.panel-section{max-width:650px;margin-inline:auto}.world-mobile-hint{position:absolute;z-index:3;right:16px;bottom:calc(87px + min(57dvh,600px));display:block;color:#a6c5aa;font-family:Consolas,Courier New,monospace;font-size:.49rem;font-weight:700;letter-spacing:.1em;text-align:right;pointer-events:none}.world-orbit-controls{top:72px;right:16px;bottom:auto;gap:4px}.world-orbit-status{display:none}.world-orbit-controls button{min-height:28px;padding-inline:7px;font-size:.51rem}.panel-meta{margin-bottom:22px}.panel-section h1{font-size:clamp(2.55rem,10vw,4.1rem)}.panel-section h2{font-size:clamp(2.4rem,9vw,3.6rem)}.panel-lede{font-size:.9rem}.detail-pair p,.career-list article>p:last-child,.capability-item p{font-size:.86rem}.world-nav{left:0;right:0;bottom:0;height:76px;border:0;border-top:1px solid rgba(184,222,188,.28)}.world-nav-item{align-items:center;gap:5px;padding:9px 1px;text-align:center}.world-nav-item span{font-size:.49rem}.world-nav-item strong{font-size:.66rem}.world-footer{display:none}.world-page:before{background:linear-gradient(to bottom,rgba(5,17,12,.3),transparent 28%,rgba(3,12,8,.3) 60%,rgba(3,12,8,.8))}}@media (max-width: 390px){.world-brand small{display:none}.world-panel{padding-inline:18px}.panel-meta span:last-child{font-size:.52rem}.world-nav-item strong{font-size:.61rem}}@media (max-width: 900px) and (max-height: 650px){.world-main{height:48dvh}.world-mobile-hint{bottom:calc(87px + 48dvh)}}@media (max-width: 390px) and (max-height: 650px){.panel-section h1{font-size:2.3rem}.panel-section h2{font-size:2.25rem}.panel-meta{margin-bottom:17px}.panel-kicker{margin-bottom:12px}}@media (prefers-reduced-motion: reduce){.panel-section{animation:none}.panel-button,.world-nav-item{transition:none}}.resume-page{min-height:100vh;padding-bottom:55px;background:#e8ebe4;color:#18251e}.resume-toolbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(24px,calc((100vw - 1320px)/2));border-bottom:1px solid #cdd6ca;background:#f4f4ee;font-size:.75rem;font-weight:720;letter-spacing:.04em}.resume-toolbar a{color:#245941;text-decoration:none}.resume-toolbar a:hover{text-decoration:underline}.resume-download{padding:10px 13px;border:1px solid #7b9b7a;white-space:nowrap}.resume-sheet{width:min(880px,calc(100% - 32px));margin:36px auto 0;padding:54px 58px;background:#fff;box-shadow:0 20px 50px #1e322317;font-family:Arial,sans-serif}.resume-sheet h1,.resume-sheet h2,.resume-sheet h3{letter-spacing:-.025em}.resume-header{padding-bottom:18px;border-bottom:2px solid #254d3c}.resume-header h1{margin:0 0 7px;font-size:38px;line-height:1;font-weight:800;letter-spacing:.04em}.resume-headline{margin:0 0 12px;color:#335f43;font-size:11.4px;font-weight:750;letter-spacing:.035em}.resume-header address{color:#4e5e52;font-size:11px;font-style:normal;line-height:1.5}.resume-header address span{padding-inline:5px;color:#829184}.resume-header address a{color:#315f46;text-decoration:none}.resume-section{margin-top:22px}.resume-section h2{margin:0 0 10px;padding-bottom:5px;border-bottom:1px solid #d2ddd1;color:#28533d;font-size:11.2px;font-weight:820;letter-spacing:.1em}.resume-section p,.resume-section li{color:#303c34;font-size:11.4px;line-height:1.46}.resume-section>p{margin:0}.resume-section ul{margin:7px 0 0;padding-left:19px}.resume-section li{margin-bottom:5px;padding-left:1px}.resume-entry+.resume-entry,.resume-project+.resume-project{margin-top:17px}.resume-entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.resume-entry-head h3{margin:0;font-size:12.8px;font-weight:760}.resume-entry-head time,.resume-entry-head>span{color:#45634d;font-size:10.8px;white-space:nowrap}.resume-org{margin:4px 0 0!important;color:#4e7058!important;font-size:10.8px!important}.resume-project .resume-entry-head h3{font-size:12.2px}.resume-skills p+p{margin-top:7px}.resume-skills strong{color:#28533d}.resume-education p{margin-top:3px}@media (max-width: 650px){.resume-toolbar{padding:12px 16px}.resume-toolbar span{display:none}.resume-sheet{margin-top:16px;padding:30px 22px}.resume-header h1{font-size:34px}.resume-headline{font-size:10.7px;line-height:1.4}.resume-header address span{padding-inline:3px}.resume-entry-head{display:block}.resume-entry-head time,.resume-entry-head>span{display:block;margin-top:3px;white-space:normal}.resume-section p,.resume-section li{font-size:11.5px}}@media print{@page{size:letter;margin:.34in .42in}html:root,body{background:#fff}.resume-page{min-height:0;padding:0;background:#fff}.resume-toolbar{display:none}.resume-sheet{width:auto;margin:0;padding:0;box-shadow:none}.resume-header{padding-bottom:12px}.resume-header h1{font-size:34px}.resume-headline{margin-bottom:8px;font-size:10.7px}.resume-header address{font-size:10px}.resume-section{margin-top:15px;break-inside:avoid}.resume-section h2{margin-bottom:7px;padding-bottom:3px;font-size:10.8px}.resume-section p,.resume-section li{font-size:10.6px;line-height:1.37}.resume-section ul{margin-top:4px;padding-left:17px}.resume-section li{margin-bottom:2px}.resume-entry,.resume-project{break-inside:avoid}.resume-entry+.resume-entry,.resume-project+.resume-project{margin-top:10px}.resume-entry-head h3{font-size:12px}.resume-project .resume-entry-head h3{font-size:11.6px}.resume-entry-head time,.resume-entry-head>span,.resume-org{font-size:10px!important}.resume-skills p+p{margin-top:4px}}*{box-sizing:border-box}:root{font-family:Inter,Segoe UI,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;color:#172321;background:#f4f4ee}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:90px}body{min-width:320px;margin:0}button,a{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #d5f268;outline-offset:4px}::selection{background:#d5f268;color:#172321}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
