:root{color-scheme:dark;--bg:#101411;--surface:#181e19;--raised:#1d251e;--text:#eeefe6;--muted:#acb6aa;--line:#303a31;--accent:#d1ee9d;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}.wrap{max-width:1320px;margin:auto;padding-left:56px;padding-right:56px}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--accent);color:var(--bg);padding:14px}.skip-link:focus{top:12px}header{position:sticky;top:0;z-index:10;background:#101411f5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:91px}.brand{display:flex;align-items:center;gap:15px;font-size:14px;font-weight:600;white-space:nowrap}.brand-mark{font:italic 34px Georgia,serif;color:var(--accent);border-right:1px solid var(--line);padding-right:18px;letter-spacing:-3px}.brand-domain{display:block;color:var(--muted);font:10px var(--mono);letter-spacing:.25px;margin-top:7px;font-weight:400}nav{display:flex;align-items:center;gap:28px;font-size:12px;color:var(--muted)}nav a{padding:12px 0}nav a[aria-current]{color:var(--accent)}.nav-resume{color:var(--text);border:1px solid #53614c;padding:12px 17px;display:flex;gap:18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center;padding:80px 0 76px}.eyebrow,.small-label,.section-label,.art-index,.art-caption,.panel-code{font:10px var(--mono);text-transform:uppercase;letter-spacing:1.3px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--accent);margin:0}.status-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px #d1ee9d0d}h1{font:400 clamp(80px,8.2vw,116px)/.94 Georgia,'Times New Roman',serif;letter-spacing:-5.5px;margin:31px 0 27px}h1 em{font-weight:400;color:var(--accent)}.hero-role{font-size:17px;letter-spacing:-.3px;margin:0 0 15px}.intro{font-size:15px;line-height:1.8;color:var(--muted);max-width:475px;margin:0}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{font-size:12px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 20px;border:1px solid var(--line);transition:background .18s,color .18s,transform .18s}.button span{font-size:17px}.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.primary:hover{background:#e2f8be;border-color:#e2f8be;color:var(--bg);transform:translateY(-2px)}.secondary{background:transparent;color:var(--text);border-color:#4d5a49}.secondary:hover{background:var(--raised);color:var(--accent);transform:translateY(-2px)}.hero-interest{font-size:11px;color:var(--muted);margin:20px 0 0;line-height:1.7}.profile-panel{border:1px solid #3a4936;background:linear-gradient(135deg,#233020,#151d17);position:relative;min-width:0}.panel-top{display:flex;justify-content:space-between;gap:12px;padding:25px 26px;color:#bbcbb0}.panel-code{color:#87977e}.orbit{height:240px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.orbit-line{position:absolute;width:220px;height:220px;border:1px solid #78926544;border-radius:50%}.orbit-line.two{width:290px;height:135px;transform:rotate(-30deg)}.orbit-line.three{width:290px;height:135px;transform:rotate(30deg)}.orbit-core{font:italic 105px Georgia,serif;letter-spacing:-12px;color:var(--accent);padding-right:12px}.orbit-label{font:9px var(--mono);letter-spacing:1px;color:#bccdb0;position:absolute;background:#1c281e;padding:6px 8px}.label-one{left:12%;top:24px}.label-two{right:5%;top:113px}.label-three{left:18%;bottom:17px}.panel-caption{display:flex;justify-content:space-between;align-items:center;padding:5px 27px 25px}.panel-caption p{font-size:20px;line-height:1.5;margin:0;letter-spacing:-.6px}.panel-caption p span{color:var(--accent)}.panel-arrow{font-size:38px;color:#9eb48b}.panel-foot{border-top:1px solid #3a4936;padding:18px 25px;display:flex;gap:12px;justify-content:space-between;font:9px/1.6 var(--mono);color:#d9e4ce}.dim{display:block;color:#9aad8f}.credentials{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;gap:20px;font-size:11px;color:var(--muted)}.credentials span:first-child{color:var(--text)}.credentials i{font-style:normal;margin:0 6px;color:#6b7c60}.section{padding:85px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px}.section-label{color:var(--accent);margin:0 0 22px}h2{font-size:clamp(32px,3.5vw,46px);line-height:1.15;font-weight:400;letter-spacing:-1.8px;margin:0}h2>span{color:var(--muted)}.section-description{max-width:295px;font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 3px}h3{font-size:19px;line-height:1.4;font-weight:500;margin:0 0 12px;letter-spacing:-.3px}p{line-height:1.75}.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:42px}.impact{padding:27px 30px;background:var(--surface);border:1px solid var(--line)}.small-label{color:var(--muted)}.impact strong{display:block;font-size:69px;font-weight:400;letter-spacing:-3px;margin:18px 0 10px;color:var(--accent);line-height:1.15}.impact strong span{font-size:28px;letter-spacing:-1px}.impact p{font-size:13px;max-width:390px;color:var(--muted);margin:0 0 20px}.impact-source{font:10px/1.6 var(--mono);color:#bcc5b6}.experience-row{display:grid;grid-template-columns:260px 1fr;gap:45px;border-top:1px solid var(--line);padding:31px 0}.experience-row:last-child{padding-bottom:0}.experience-meta{position:relative;padding-left:23px;display:flex;flex-direction:column;gap:9px}.timeline-dot{width:6px;height:6px;background:#8da77a;border-radius:50%;position:absolute;left:0;top:6px}.company{font-size:14px}.subtle{font-size:11px;color:var(--muted);line-height:1.6}.date{font:10px var(--mono);color:#9caa92;margin-top:6px}.experience-row p{font-size:13px;color:var(--muted);margin:0 0 17px;max-width:630px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags>span{font-size:10px;color:#c5d1bc;border:1px solid #3c4937;padding:6px 9px;line-height:1.3}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.project{border:1px solid var(--line);background:var(--surface);min-width:0;transition:border-color .2s}.project:hover{border-color:#687c59}.project-art{height:220px;position:relative;overflow:hidden;padding:21px;background:#212d21;border-bottom:1px solid var(--line)}.art-index{position:relative;z-index:1;font-size:9px;color:#b6caa4}.art-caption{position:absolute;bottom:19px;left:21px;right:15px;font-size:8px;letter-spacing:1px;color:#aabda0}.research-graphic{position:absolute;width:170px;height:135px;left:50%;top:50%;transform:translate(-50%,-50%)}.research-circle{position:absolute;width:108px;height:108px;border:1px solid #b6d38c88;border-radius:50%;left:35px;top:10px}.research-axis{position:absolute;background:#91ad6f77}.research-axis.horizontal{height:1px;width:155px;left:10px;bottom:22px}.research-axis.vertical{width:1px;height:111px;left:23px;top:10px}.research-line{position:absolute;width:150px;height:1px;background:var(--accent);left:5px;top:68px;transform:rotate(-29deg)}.software-art{background:#1a2929}.software-art .art-index,.software-art .art-caption{color:#a5c9c1}.workflow-graphic{display:flex;flex-direction:column;align-items:center;position:absolute;left:20px;right:20px;top:52px;font:9px var(--mono);color:#c1ded5}.workflow-graphic>span{border:1px solid #577e725e;background:#223b33;min-width:150px;text-align:center;padding:8px}.workflow-graphic i{font-style:normal;color:#799b8d;font-size:13px;line-height:18px}.operations-art{background:#302b21}.operations-art .art-index,.operations-art .art-caption{color:#d4c49e}.operations-graphic{display:flex;align-items:center;justify-content:center;gap:23px;height:150px}.operations-graphic>span{font-size:45px;letter-spacing:-2px;color:#e4d2a2}.operations-graphic small{display:block;font:9px var(--mono);color:#bfae8c;margin-top:9px;letter-spacing:0}.operations-graphic .operation-divider{width:1px;height:50px;background:#685b4077}.project-content{padding:24px 23px}.project-context{font:9px/1.6 var(--mono);color:#a9b79f;margin:0 0 15px}.project-content h3{font-size:20px;line-height:1.3;letter-spacing:-.5px;min-height:52px}.project-content>p:not(.project-context){font-size:13px;color:var(--muted);margin:0 0 21px;min-height:91px}.project-content>.tags{min-height:25px}details{margin-top:24px;border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:18px 0 0;font-size:12px;color:var(--text);gap:10px}summary::-webkit-details-marker{display:none}summary:hover{color:var(--accent)}.expand-icon{font-size:20px;font-weight:300;color:var(--accent);line-height:1}details[open] .expand-icon{transform:rotate(45deg)}.case-study{padding-top:20px}.case-study h4{font:10px var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.7px;margin:0 0 8px}.case-study p{font-size:12px;color:var(--muted);margin:0 0 22px}.case-study p:last-child{margin-bottom:0}.about{display:grid;grid-template-columns:1.05fr 1fr;gap:95px}.about-copy{font-size:14px;color:var(--muted);margin:24px 0 0;max-width:510px}.education{border-left:2px solid #728e56;padding:0 0 0 22px;margin-top:32px}.education h3{font-size:15px;margin:13px 0 8px}.education p{font-size:12px;color:var(--muted);margin:0;line-height:1.85}.toolbox{border:1px solid var(--line);padding:28px;background:var(--surface)}.toolbox>h3{font-size:17px;margin:0 0 25px}.skill-group{padding:20px 0;border-top:1px solid var(--line)}.skill-group:last-child{padding-bottom:0}.skill-group h4{font:10px var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.7px;margin:0 0 12px}.skill-group p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.contact{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:78px 0}.contact h2{font:400 clamp(45px,5vw,66px)/1.08 Georgia,serif;letter-spacing:-2px}.contact h2 em{color:var(--accent)}.contact-main>p:not(.section-label){font-size:13px;color:var(--muted);margin:24px 0}.email-link{font-size:14px;display:inline-flex;gap:24px;border-bottom:1px solid #506143;padding-bottom:10px}.email-link span{color:var(--accent)}.contact-actions{display:flex;flex-direction:column;gap:12px;min-width:240px;padding-top:30px}.copy-email{background:transparent;border:0;color:var(--muted);display:flex;justify-content:space-between;gap:20px;font-size:12px;padding:12px 0;cursor:pointer}.copy-email:hover{color:var(--accent)}#copy-status{font-size:11px;color:var(--accent);min-height:18px;margin:0}footer{padding:26px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-domain{font-family:var(--mono)}@media(min-width:1500px){.hero{padding-top:96px;padding-bottom:96px}}@media(max-width:1050px){.wrap{padding-left:34px;padding-right:34px}.hero{gap:34px}.nav{gap:20px}nav{gap:21px}.brand-domain{font-size:9px}.about{gap:44px}.experience-row{grid-template-columns:220px 1fr;gap:30px}.project-content{padding:21px 18px}.project-content h3{font-size:18px}.project-content>p:not(.project-context){min-height:113px}.art-caption{font-size:7px}.orbit-label{font-size:8px}.impact strong span{font-size:24px}}@media(max-width:780px){.nav{min-height:78px;flex-wrap:wrap}.menu-toggle{display:flex;gap:20px;align-items:center;border:1px solid #4d5a49;background:transparent;color:var(--text);padding:11px 14px;font-size:12px;cursor:pointer}.menu-toggle span{color:var(--accent);font-size:18px}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}nav{display:none;width:100%;padding-bottom:22px;gap:8px;flex-wrap:wrap}nav.is-open{display:flex}nav a{padding:12px 15px}nav .nav-resume{padding:12px 15px}.hero{grid-template-columns:1fr 1fr;gap:24px;padding:55px 0}.eyebrow{font-size:8px;letter-spacing:.8px}h1{font-size:79px;letter-spacing:-4px}.hero-role{font-size:14px}.intro{font-size:13px}.buttons{gap:9px}.buttons .button{font-size:11px;padding:14px;gap:14px}.profile-panel .panel-top{padding:18px}.panel-top .small-label,.panel-code{font-size:8px;letter-spacing:.5px}.orbit{height:205px}.orbit-line{width:180px;height:180px}.orbit-line.two,.orbit-line.three{width:240px;height:120px}.orbit-core{font-size:85px}.orbit-label{font-size:7px}.label-two{right:0;top:100px}.panel-caption{padding:0 18px 20px}.panel-caption p{font-size:18px}.panel-foot{padding:15px 18px;font-size:8px}.credentials{font-size:10px;gap:18px;line-height:1.6}.section{padding:62px 0}.section-head{align-items:start;gap:25px}.section-description{max-width:230px;font-size:12px}.impact{padding:23px}.impact strong{font-size:58px}.impact strong span{font-size:19px}.impact p{font-size:12px}.projects{grid-template-columns:1fr;gap:22px}.project{display:grid;grid-template-columns:210px 1fr}.project-art{height:100%;min-height:290px;border-right:1px solid var(--line);border-bottom:0}.project-content{padding:24px}.project-content h3{min-height:0;font-size:21px}.project-content>p:not(.project-context){min-height:0}.art-caption{font-size:8px}.operations-graphic{height:230px;gap:17px}.operations-graphic>span{font-size:38px}.workflow-graphic{top:90px}.about{grid-template-columns:1fr;gap:35px}.about-copy{max-width:100%}.toolbox{padding:26px}.contact-actions{min-width:210px}.email-link{font-size:12px;gap:14px}.contact h2{font-size:48px}.footer-domain{display:none}}@media(max-width:560px){.wrap{padding-left:22px;padding-right:22px}.brand{font-size:12px;gap:11px}.brand-mark{font-size:30px;padding-right:14px}.brand-domain{font-size:8px;margin-top:6px}.nav{min-height:76px}.hero{grid-template-columns:1fr;padding:42px 0 40px;gap:35px}.eyebrow{font-size:9px}.hero-role{font-size:15px}h1{font-size:90px;letter-spacing:-5px;margin-top:27px}.intro{font-size:14px;max-width:100%}.hero-interest{font-size:10px}.buttons .button{font-size:11px;padding:15px 17px;gap:20px}.profile-panel{max-width:100%}.panel-top{padding:20px!important}.panel-top .small-label,.panel-code{font-size:9px;letter-spacing:1px}.orbit{height:210px}.orbit-core{font-size:100px}.orbit-line{height:190px;width:190px}.orbit-line.two,.orbit-line.three{width:270px;height:125px}.orbit-label{font-size:8px}.label-two{right:8%;top:95px}.panel-caption{padding:4px 23px 22px}.panel-caption p{font-size:21px}.panel-foot{padding:17px 22px;font-size:9px}.credentials{flex-direction:column;align-items:start;gap:12px;padding:21px 0;font-size:11px}.section{padding:50px 0}.section-label{font-size:9px;margin-bottom:18px}.section-head{flex-direction:column;gap:20px;margin-bottom:27px}h2{font-size:34px;letter-spacing:-1.4px}.section-description{max-width:100%;font-size:12px}.impact-grid{grid-template-columns:1fr;gap:12px;margin-bottom:30px}.impact{padding:23px}.impact strong{font-size:65px;margin-top:15px}.impact strong span{font-size:25px}.impact p{font-size:13px}.experience-row{grid-template-columns:1fr;gap:21px;padding:27px 0}.experience-meta{gap:7px}.company{font-size:14px}.experience-row h3{font-size:18px}.experience-row p{font-size:13px}.project{display:block}.project-art{height:200px;min-height:0;border-right:0;border-bottom:1px solid var(--line)}.workflow-graphic{top:43px}.operations-graphic{height:140px;gap:30px}.operations-graphic>span{font-size:46px}.art-caption{font-size:8px}.project-content{padding:23px}.project-content h3{font-size:21px}.project-context{font-size:9px}.about{gap:32px}.about-copy{font-size:13px}.education{padding-left:18px}.toolbox{padding:23px}.contact{flex-direction:column;align-items:stretch;gap:20px}.contact h2{font-size:51px}.contact-main>p:not(.section-label){font-size:13px}.contact-main>p br{display:none}.email-link{font-size:12px;gap:14px;max-width:100%;overflow-wrap:anywhere}.contact-actions{padding-top:8px;min-width:0;max-width:320px}.contact-actions .button{padding:17px 20px;font-size:12px}.copy-email{padding:13px 0}footer{font-size:9px;gap:12px;padding:23px 0}}@media(max-width:350px){h1{font-size:76px}.hero-role{font-size:13px}.brand-domain{display:none}.buttons .button{gap:12px;padding:13px}.contact h2{font-size:44px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
