@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:0}body,h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}img{max-width:100%;display:block}[hidden]{display:none!important}button{color:inherit;font:inherit}a{color:inherit}}@layer base{:root{--bg:#090a0d;--surface:#121419;--surface-2:#171a20;--text:#ece5db;--steel:#9099a5;--muted:#68727e;--gold:#b69a62;--gold-bright:#c8ad73;--oxblood:#641e2b;--border:#292e36;--oi-grid-size:96px;--oi-grid-opacity:.055;--oi-grid:rgba(144, 153, 165, var(--oi-grid-opacity));--oi-trail-opacity:.74;--oi-spark-opacity:.48;--oi-trail-gold-forward:linear-gradient(90deg, transparent 0%, #b69a6214 22%, #b69a6275 76%, #c8ad73eb 100%);--oi-trail-gold-reverse:linear-gradient(270deg, transparent 0%, #b69a6212 24%, #b69a626b 76%, #c8ad73e0 100%);--oi-trail-steel-forward:linear-gradient(90deg, transparent 0%, #9099a50f 24%, #9099a557 78%, #ece5dbb8 100%);--oi-trail-steel-reverse:linear-gradient(270deg, transparent 0%, #9099a50d 24%, #9099a54d 78%, #ece5dba8 100%);--oi-trail-gold-down:linear-gradient(180deg, transparent 0%, #b69a6212 22%, #b69a6270 76%, #c8ad73e6 100%);--oi-trail-gold-up:linear-gradient(0deg, transparent 0%, #b69a6212 22%, #b69a6266 76%, #c8ad73db 100%);--oi-trail-steel-down:linear-gradient(180deg, transparent 0%, #9099a50d 24%, #9099a552 78%, #ece5dbad 100%);--oi-trail-steel-up:linear-gradient(0deg, transparent 0%, #9099a50d 24%, #9099a547 78%, #ece5db9e 100%);--oi-spark-gold:radial-gradient(circle, #ece5dbd1 0 18%, #b69a626b 32%, #b69a621a 58%, transparent 76%);--oi-spark-steel:radial-gradient(circle, #ece5dbad 0 18%, #9099a552 34%, #9099a514 60%, transparent 78%);--oi-spark-warm:radial-gradient(circle, #ece5dbc2 0 16%, #c8ad7357 34%, #b69a6214 60%, transparent 78%);--display:"Iowan Old Style", "Palatino Linotype", Baskerville, Georgia, serif;--body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", "Roboto Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--shell:min(1480px, calc(100vw - 48px));--readable:72ch}body{isolation:isolate;min-height:100vh;color:var(--text);background:linear-gradient(var(--oi-grid) 1px, transparent 1px), linear-gradient(90deg, var(--oi-grid) 1px, transparent 1px), var(--bg);background-size:var(--oi-grid-size) var(--oi-grid-size);font:400 17px/1.65 var(--body);text-rendering:optimizelegibility;position:relative;overflow-x:clip}.unified-backdrop{z-index:0;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.backdrop-trails,.backdrop-sparks{pointer-events:none;background-repeat:no-repeat;display:block;position:absolute;inset:0;overflow:hidden}.backdrop-trails{opacity:var(--oi-trail-opacity);will-change:background-position}.backdrop-trails.is-horizontal{background-image:var(--oi-trail-gold-forward), var(--oi-trail-steel-forward), var(--oi-trail-gold-forward), var(--oi-trail-steel-forward), var(--oi-trail-gold-reverse), var(--oi-trail-steel-reverse), var(--oi-trail-gold-reverse);background-size:138px 1px,84px 2px,164px 1px,62px 1px,112px 2px,146px 1px,74px 1px;background-position:var(--oi-h01-x) calc(var(--oi-grid-size) * 1), var(--oi-h02-x) calc(var(--oi-grid-size) * 3), var(--oi-h03-x) calc(var(--oi-grid-size) * 5), var(--oi-h04-x) calc(var(--oi-grid-size) * 7), var(--oi-h05-x) calc(var(--oi-grid-size) * 2), var(--oi-h06-x) calc(var(--oi-grid-size) * 4), var(--oi-h07-x) calc(var(--oi-grid-size) * 6);filter:drop-shadow(0 0 4px #b69a6233);animation:47s linear -11s infinite oi-h01,63s linear -39s infinite oi-h02,79s linear -17s infinite oi-h03,91s linear -68s infinite oi-h04,59s linear -43s infinite oi-h05,73s linear -7s infinite oi-h06,101s linear -82s infinite oi-h07}.backdrop-trails.is-vertical{background-image:var(--oi-trail-gold-down), var(--oi-trail-steel-down), var(--oi-trail-gold-down), var(--oi-trail-gold-up), var(--oi-trail-steel-up), var(--oi-trail-gold-up);background-size:1px 132px,2px 78px,1px 158px,2px 104px,1px 142px,1px 66px;background-position:calc(var(--oi-grid-size) * 2) var(--oi-v01-y), calc(var(--oi-grid-size) * 4) var(--oi-v02-y), calc(var(--oi-grid-size) * 6) var(--oi-v03-y), calc(var(--oi-grid-size) * 3) var(--oi-v04-y), calc(var(--oi-grid-size) * 5) var(--oi-v05-y), calc(var(--oi-grid-size) * 7) var(--oi-v06-y);filter:drop-shadow(0 0 4px #b69a622e);animation:53s linear -31s infinite oi-v01,67s linear -9s infinite oi-v02,83s linear -57s infinite oi-v03,61s linear -22s infinite oi-v04,89s linear -71s infinite oi-v05,107s linear -46s infinite oi-v06}.backdrop-sparks{opacity:var(--oi-spark-opacity);will-change:background-position, background-size, opacity}.backdrop-sparks.is-primary{background-image:var(--oi-spark-gold), var(--oi-spark-steel), var(--oi-spark-warm), var(--oi-spark-gold), var(--oi-spark-steel), var(--oi-spark-warm), var(--oi-spark-gold);background-size:4px 4px,2px 2px,5px 5px,3px 3px,2px 2px,4px 4px,3px 3px;animation:73s ease-in-out -29s infinite oi-spark-field-a,19s ease-in-out -7s infinite oi-spark-fade-a}.backdrop-sparks.is-secondary{background-image:var(--oi-spark-steel), var(--oi-spark-gold), var(--oi-spark-warm), var(--oi-spark-steel), var(--oi-spark-gold), var(--oi-spark-warm);background-size:3px 3px,5px 5px,2px 2px,4px 4px,3px 3px,2px 2px;animation:89s ease-in-out -61s infinite oi-spark-field-b,23s ease-in-out -13s infinite oi-spark-fade-b}::selection{color:var(--bg);background:var(--gold-bright)}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}h1,h2,h3{font-family:var(--display);text-wrap:balance;font-weight:600;line-height:.98}p{text-wrap:pretty}@keyframes oi-h01{0%{--oi-h01-x:-180px}to{--oi-h01-x:calc(100vw + 220px)}}@keyframes oi-h02{0%{--oi-h02-x:-310px}to{--oi-h02-x:calc(100vw + 110px)}}@keyframes oi-h03{0%{--oi-h03-x:-90px}to{--oi-h03-x:calc(100vw + 430px)}}@keyframes oi-h04{0%{--oi-h04-x:-460px}to{--oi-h04-x:calc(100vw + 80px)}}@keyframes oi-h05{0%{--oi-h05-x:calc(100vw + 180px)}to{--oi-h05-x:-240px}}@keyframes oi-h06{0%{--oi-h06-x:calc(100vw + 410px)}to{--oi-h06-x:-130px}}@keyframes oi-h07{0%{--oi-h07-x:calc(100vw + 90px)}to{--oi-h07-x:-520px}}@keyframes oi-v01{0%{--oi-v01-y:-180px}to{--oi-v01-y:calc(100vh + 210px)}}@keyframes oi-v02{0%{--oi-v02-y:-330px}to{--oi-v02-y:calc(100vh + 90px)}}@keyframes oi-v03{0%{--oi-v03-y:-90px}to{--oi-v03-y:calc(100vh + 380px)}}@keyframes oi-v04{0%{--oi-v04-y:calc(100vh + 170px)}to{--oi-v04-y:-230px}}@keyframes oi-v05{0%{--oi-v05-y:calc(100vh + 390px)}to{--oi-v05-y:-110px}}@keyframes oi-v06{0%{--oi-v06-y:calc(100vh + 80px)}to{--oi-v06-y:-470px}}@keyframes oi-spark-field-a{0%{background-position:8vw 18vh,23vw 72vh,41vw 36vh,57vw 84vh,69vw 22vh,82vw 61vh,94vw 43vh;background-size:4px 4px,2px 2px,5px 5px,3px 3px,2px 2px,4px 4px,3px 3px}52%{background-size:5px 5px,3px 3px,4px 4px,4px 4px,2px 2px,3px 3px,2px 2px}to{background-position:12vw 11vh,19vw 78vh,47vw 29vh,52vw 77vh,75vw 28vh,78vw 53vh,91vw 49vh;background-size:3px 3px,2px 2px,4px 4px,2px 2px,3px 3px,5px 5px,4px 4px}}@keyframes oi-spark-field-b{0%{background-position:14vw 88vh,31vw 13vh,48vw 64vh,63vw 47vh,77vw 91vh,89vw 27vh;background-size:3px 3px,5px 5px,2px 2px,4px 4px,3px 3px,2px 2px}47%{background-size:2px 2px,4px 4px,3px 3px,5px 5px,2px 2px,3px 3px}to{background-position:9vw 80vh,36vw 19vh,43vw 71vh,68vw 39vh,72vw 83vh,94vw 34vh;background-size:4px 4px,3px 3px,2px 2px,3px 3px,4px 4px,2px 2px}}@keyframes oi-spark-field-mobile{0%{background-position:8vw 18vh,28vw 76vh,61vw 38vh,89vw 84vh;background-size:3px 3px,2px 2px,4px 4px,2px 2px}to{background-position:13vw 12vh,23vw 82vh,67vw 31vh,84vw 77vh;background-size:2px 2px,3px 3px,3px 3px,3px 3px}}@keyframes oi-spark-fade-a{0%,to{opacity:calc(var(--oi-spark-opacity) * .48)}38%{opacity:var(--oi-spark-opacity)}72%{opacity:calc(var(--oi-spark-opacity) * .66)}}@keyframes oi-spark-fade-b{0%,to{opacity:calc(var(--oi-spark-opacity) * .38)}44%{opacity:calc(var(--oi-spark-opacity) * .82)}79%{opacity:var(--oi-spark-opacity)}}}@layer layout{.skip-link{z-index:20;color:var(--bg);background:var(--gold-bright);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:1;background:#090a0df0;border-bottom:1px solid #b69a627a;justify-content:space-between;align-items:center;width:100%;min-height:72px;padding:12px max(24px,50vw - 740px);display:flex;position:relative}.wordmark{cursor:pointer;align-items:center;gap:14px;text-decoration:none;display:flex;position:relative}.wordmark-logo{opacity:.88;filter:saturate(.82)drop-shadow(0 0 8px #b69a621f);width:clamp(36px,3.4vw,44px);height:auto;transition:opacity .15s,filter .15s,transform .15s}.wordmark-copy{gap:2px;padding-bottom:4px;display:grid;position:relative}.wordmark-copy:after{background:linear-gradient(90deg, var(--gold), #641e2bb8);content:"";opacity:0;height:1px;transition:right .15s,opacity .15s;position:absolute;bottom:0;left:0;right:100%}.wordmark-copy>span{font:600 clamp(21px, 2vw, 29px)/1 var(--display);letter-spacing:.045em;text-transform:uppercase}.wordmark small,.site-eyebrow,.eyebrow{color:var(--steel);font:600 .72rem/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase}.wordmark:hover .wordmark-logo,.wordmark:focus-visible .wordmark-logo{opacity:1;filter:saturate(.92)brightness(1.06)drop-shadow(0 0 10px #b69a6233);transform:translateY(-1px)}.wordmark:hover .wordmark-copy:after,.wordmark:focus-visible .wordmark-copy:after{opacity:.8;right:0}.header-socials{flex:none;align-items:center;gap:8px;margin-left:clamp(12px,2vw,28px);display:flex}.header-socials a{width:34px;height:34px;color:var(--text);background:#090a0db8;border:1px solid #b69a6294;place-items:center;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s,box-shadow .15s;display:grid}.header-socials svg{fill:currentColor;width:18px;height:18px}.header-socials a:hover,.header-socials a:focus-visible{color:var(--gold-bright);border-color:var(--gold-bright);background:#641e2b29;box-shadow:0 0 16px #c8ad7329}.portfolio-link{color:var(--steel);font:600 .76rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-left:auto;text-decoration:none}.portfolio-link:hover{color:var(--gold-bright)}.section-shell,main,.site-footer{width:var(--shell);margin-inline:auto}main,.site-footer{z-index:1;position:relative}.section-shell{z-index:10;backdrop-filter:blur(14px);background:#090a0df5;border-bottom:1px solid #292e36c7;grid-template-columns:1fr auto;align-items:end;gap:24px;padding:28px 0 18px;display:grid;position:sticky;top:0}.site-footer{border-top:1px solid var(--border);color:var(--muted);font:500 .75rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:24px;margin-top:80px;padding:26px 0 40px;display:flex}.site-footer a{color:var(--steel);text-underline-offset:5px;text-decoration-color:#b69a6299}.footer-brand{align-items:center;gap:16px;display:flex}.footer-brand img{opacity:.76;filter:saturate(.74)drop-shadow(0 0 10px #b69a6217);width:32px;height:auto}.back-to-top{right:clamp(16px,2.2vw,32px);bottom:max(clamp(16px, 2.2vw, 32px), var(--back-to-top-footer-offset,0px));z-index:40;width:48px;height:48px;color:var(--gold-bright);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);cursor:pointer;opacity:0;pointer-events:none;visibility:hidden;background:linear-gradient(145deg,#121419f5,#090a0df0);border:1px solid #b69a62bd;place-items:center;padding:0;transition:opacity .16s,transform .16s,bottom .16s,visibility .16s step-end,border-color .15s,color .15s;display:grid;position:fixed;transform:translateY(10px);box-shadow:inset 0 0 0 1px #641e2b57,0 8px 24px #0000005c}.back-to-top.is-visible{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .16s,transform .16s,bottom .16s,visibility step-start,border-color .15s,color .15s;transform:translateY(0)}.back-to-top:hover{color:var(--text);border-color:var(--gold-bright);box-shadow:inset 0 0 0 1px #641e2b94,0 0 18px #b69a6224,0 8px 24px #0006}.back-to-top span{width:16px;height:19px;position:relative}.back-to-top span:before{content:"";border-top:2px solid;border-left:2px solid;width:10px;height:10px;position:absolute;top:1px;left:3px;transform:rotate(45deg)}.back-to-top span:after{content:"";background:currentColor;width:2px;height:17px;position:absolute;top:2px;left:7px}}@layer components{.resume-tabs{border:1px solid var(--border);background:var(--surface);display:flex}.resume-tab{color:var(--steel);font:700 .74rem/1 var(--body);letter-spacing:.11em;text-transform:uppercase;padding:12px 18px;text-decoration:none}.resume-tab+.resume-tab{border-left:1px solid var(--border)}.resume-tab:hover,.resume-tab.is-active{color:var(--text);background:#b69a6214}.resume-tab.is-active{box-shadow:inset 0 -2px var(--gold)}.resume-document,.project-index-page,.deep-dive-page{border-top:2px solid var(--gold)}.resume-banner{isolation:isolate;border:2px solid var(--gold);background:#121419f0;grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);min-height:300px;display:grid;position:relative;overflow:hidden;box-shadow:4px 4px #b69a6224,0 0 16px #b69a620e}.resume-banner:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(90deg,#4e101c94 0%,#641e2b66 26%,#641e2b2e 43%,#641e2b0b 60%,#0000 76%);position:absolute;inset:0}.resume-banner-identity,.resume-banner-summary{z-index:1;min-width:0;padding:clamp(30px,4.5vw,64px);position:relative}.resume-banner-identity{isolation:isolate;background:linear-gradient(#090a0d38,#0000 30% 68%,#090a0d47),radial-gradient(circle at 36%,#641e2b33,#0000 64%),linear-gradient(104deg,#090a0d0f,#0000 72%);overflow:hidden}.resume-banner-identity:before{z-index:0;content:"";filter:blur(.8px);mix-blend-mode:multiply;opacity:.62;pointer-events:none;background:radial-gradient(11px 6px at 8% 18%,#14050980 0 56%,#0000 74%),radial-gradient(5px 9px at 17% 33%,#10040870 0 52%,#0000 75%),radial-gradient(16px 7px at 28% 14%,#18060b61 0 54%,#0000 76%),radial-gradient(7px 13px at 39% 38%,#1204086b 0 50%,#0000 74%),radial-gradient(19px 8px at 12% 58%,#1305095c 0 54%,#0000 76%),radial-gradient(6px 5px at 47% 22%,#11040866 0 52%,#0000 76%),radial-gradient(10px 17px at 31% 72%,#16050a57 0 48%,#0000 74%),radial-gradient(5px 8px at 52% 64%,#1004085c 0 50%,#0000 76%),radial-gradient(34px 9px at 5% 82%,#1204083d 0 44%,#0000 76%);position:absolute;inset:0}.resume-banner-identity:after{z-index:0;content:"";filter:blur(6px)saturate(.92)contrast(1.02);opacity:.74;pointer-events:none;background:radial-gradient(31% 21% at 23% 25%,#641e2b4d 0%,#46111d2b 43%,#0000 76%),radial-gradient(58% 27% at 35% 47%,#4b111d57 0%,#2a081033 48%,#0000 79%),radial-gradient(24% 58% at 13% 61%,#030406ad 0%,#08060957 48%,#0000 78%),radial-gradient(41% 33% at 47% 73%,#641e2b33 0%,#360c1621 48%,#0000 77%),radial-gradient(68% 52% at 30% 53%,#08070a94 0%,#1e070d33 55%,#0000 84%);position:absolute;inset:-12% 10% -14% -14%;transform:rotate(-1.5deg)scale(1.04);mask-image:radial-gradient(82% 72% at 34%,#000 0 54%,#0000009e 72%,#0000 100%)}.resume-banner-identity>:not(.resume-hero-mark){z-index:2;position:relative}.resume-hero-mark{z-index:1;opacity:.2;filter:saturate(.84)brightness(1.06)contrast(1.08)drop-shadow(0 0 18px #641e2b29);mix-blend-mode:screen;pointer-events:none;width:clamp(215px,18vw,285px);height:auto;position:absolute;top:51%;left:clamp(128px,35%,220px);transform:translate(-50%,-50%)rotate(1deg)}.resume-banner-summary{background:linear-gradient(90deg,#090a0d85,#090a0de3 32%,#090a0df5),#090a0d6b;border-left:1px solid #b69a6238;align-content:center;gap:20px;padding:clamp(26px,3vw,42px);display:grid}.resume-banner h1{letter-spacing:-.035em;text-transform:uppercase;text-shadow:0 2px 10px #090a0db8;margin:20px 0 16px;font-size:clamp(40px,5.1vw,72px)}.index-hero h1,.deep-hero h1{letter-spacing:-.04em;text-transform:uppercase;margin:22px 0 24px;font-size:clamp(58px,8vw,128px)}.professional-title{color:var(--gold-bright);font:700 clamp(.84rem, 1.3vw, 1rem)/1.35 var(--body);letter-spacing:.12em;text-transform:uppercase}.discipline-list{color:var(--steel);font:600 .72rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:8px 18px;margin:26px 0 0;padding:18px 0 0;list-style:none;display:flex}.discipline-list li{position:relative}.discipline-list li+li:before{color:var(--gold);content:"/";position:absolute;left:-11px}.resume-summary-copy{gap:12px;max-width:58ch;display:grid}.resume-summary-copy p{color:var(--steel);font-size:clamp(.94rem,1.2vw,1.08rem);line-height:1.58}.hero-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.primary-link,.secondary-action{border:1px solid var(--gold);min-height:54px;font:700 .76rem/1.35 var(--body);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:14px 16px;text-decoration:none;display:flex}.action-button{color:var(--text);cursor:pointer;background:0 0}.resume-banner .hero-actions .action-button{grid-column:1/-1;justify-content:center}.resume-banner .primary-link{background:#b69a6214}.primary-link:hover{color:var(--bg);background:var(--gold-bright)}.secondary-action{border-color:var(--border);background:0 0}.secondary-action:hover{color:var(--gold-bright);border-color:var(--gold)}.resume-grid{border-right:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);display:grid}.resume-sidebar{border-left:1px solid var(--border);background:#1214198c}.resume-section{border-bottom:1px solid var(--border);padding:clamp(30px,4vw,58px)}.section-heading{margin-bottom:28px}.section-heading h2{font-size:clamp(25px,3vw,38px)}.section-heading>p{max-width:68ch;color:var(--steel);margin-top:12px;font-size:clamp(.94rem,1.15vw,1.06rem);line-height:1.55}.experience-section{border:2px solid var(--gold);background:linear-gradient(#9099a509 1px,#0000 1px) 0 0/72px 72px,linear-gradient(90deg,#9099a509 1px,#0000 1px) 0 0/72px 72px,linear-gradient(#121419fb,#090a0df0);margin:clamp(18px,2.4vw,34px);padding:clamp(36px,3.4vw,48px);box-shadow:5px 5px #b69a6226}.experience-section .section-heading{border-bottom:1px solid #b69a6280;margin-bottom:30px;padding-bottom:24px}.timeline-entry{grid-template-columns:minmax(140px,.32fr) 1fr;gap:28px;display:grid}.timeline-entry+.timeline-entry{border-top:1px solid var(--border);margin-top:28px;padding-top:28px}.entry-period,.placeholder-note,.placeholder-block{color:var(--muted);font:600 .72rem/1.6 var(--mono);letter-spacing:.06em}.experience-section .entry-period{color:var(--text);letter-spacing:.07em;font-size:.82rem;font-weight:700}.timeline-entry h3{margin-bottom:8px;font-size:1.5rem}.entry-organization{color:var(--steel);margin-bottom:18px}.experience-points{max-width:72ch;color:var(--steel);gap:9px;margin:0;padding-left:20px;display:grid}.experience-points li{padding-left:4px;font-size:.9rem;line-height:1.52}.experience-points li::marker{color:var(--gold)}.credit-list{background:var(--border);gap:1px;display:grid}.credit-entry{isolation:isolate;background:radial-gradient(circle at 96% 78%, #b69a6211, transparent 27%), linear-gradient(135deg, #b69a6206, transparent 34%), var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 28px;padding:22px;display:grid;position:relative;overflow:hidden}.credit-entry.has-splash-art{--credit-embroidery-size:160px;--credit-decoration-gutter:64px;grid-template-columns:minmax(0, 1fr) minmax(190px, 230px) var(--credit-decoration-gutter);gap:18px 22px}.credit-entry>:not(.credit-embroidery-zone){z-index:1;position:relative}.credit-embroidery-zone{z-index:2;pointer-events:none;grid-area:1/1/auto/-1;place-self:stretch stretch;min-width:0;position:relative}.credit-entry.has-splash-art .credit-embroidery{opacity:.32;filter:saturate(.68)brightness(.9)drop-shadow(0 0 10px #b69a6214);mix-blend-mode:screen;pointer-events:none;width:180px;max-width:none;height:auto;transition:opacity .15s,filter .15s;position:absolute;top:0;bottom:auto;right:-54px;mask-image:linear-gradient(90deg,#0000 0%,#00000080 38%,#000 74%)}.credit-entry.has-splash-art:hover .credit-embroidery,.credit-entry.has-splash-art:focus-within .credit-embroidery{opacity:.38;filter:saturate(.76)brightness(.96)drop-shadow(0 0 12px #c8ad731a)}.credit-entry h3{margin:6px 0 8px;font-size:clamp(1.35rem,2.5vw,1.9rem)}.credit-entry h3 a{text-underline-offset:5px;text-decoration-color:#b69a6273;text-decoration-thickness:1px}.credit-entry h3 a:hover{color:var(--gold-bright)}.credit-main{z-index:3;grid-area:1/1;min-width:0}.credit-side{z-index:auto;grid-area:1/2;align-content:start;align-self:stretch;justify-items:stretch;gap:18px;min-width:0;display:grid}.credit-role{color:var(--text);font-weight:600}.credit-context{color:var(--gold);font:600 .68rem/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-top:4px}.credit-summary{max-width:70ch;color:var(--steel);margin-top:12px;font-size:.9rem}.credit-technical{color:var(--steel);font:600 .66rem/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-top:8px}.credit-contribution{max-width:74ch;color:var(--text);margin-top:10px;font-size:.86rem}.credit-capabilities{flex-wrap:wrap;gap:6px;margin-top:14px;padding:0;list-style:none;display:flex}.credit-capabilities li{color:var(--steel);border:1px solid var(--border);font:600 .6rem/1.3 var(--mono);letter-spacing:.03em;padding:5px 8px}.credit-badges{z-index:3;flex-wrap:wrap;place-content:flex-start flex-end;gap:8px;max-width:340px;display:flex;position:relative}.project-splash-art{width:100%;color:var(--text);align-self:start;text-decoration:none;display:block}.project-splash-art-frame{aspect-ratio:2/3;background:radial-gradient(circle at 72% 18%,#b69a621f,#0000 32%),linear-gradient(145deg,#641e2b38,#0000 52%),#090a0d;border:1px solid #b69a629e;place-items:center;width:100%;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ece5db09,inset 0 -30px 48px #00000052,0 10px 28px #0000002e}.project-splash-art-frame:before{z-index:2;content:"";pointer-events:none;background:linear-gradient(#090a0d0a 0%,#0000 42%,#090a0d57 100%),linear-gradient(90deg,#b69a621f,#0000 18% 82%,#641e2b1f);position:absolute;inset:0}.project-splash-art-frame:after{z-index:3;content:"";pointer-events:none;border:1px solid #ece5db12;position:absolute;inset:7px}.project-splash-image{z-index:1;object-fit:cover;filter:saturate(.94)contrast(1.03)brightness(.94);width:100%;height:100%;transition:transform .15s,filter .15s;display:block;position:absolute;inset:0}.project-splash-art.is-contain .project-splash-image{box-sizing:border-box;object-fit:contain;padding:12px}.project-logo-art{z-index:4;object-fit:contain;filter:drop-shadow(0 5px 14px #090a0dd1);pointer-events:none;width:min(80%,720px);max-width:none;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-splash-art-placeholder{z-index:4;background:linear-gradient(135deg,#0000 0 64%,#b69a6214 64% 64.5%,#0000 64.5%),repeating-linear-gradient(90deg,#9099a50b 0 1px,#0000 1px 28px),repeating-linear-gradient(0deg,#9099a509 0 1px,#0000 1px 28px);grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;width:100%;height:100%;padding:12% 5% 10%;display:grid;position:relative}.project-splash-art-placeholder:before{background:var(--gold);content:"";width:46px;height:1px;position:absolute;top:21%;left:5%}.project-splash-art-kicker,.project-splash-art-placeholder>span:last-child{color:var(--muted);font:700 .54rem/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase}.project-splash-art-kicker{align-self:start}.project-splash-art-placeholder>span:last-child{align-self:end}.project-splash-art-placeholder strong{width:100%;min-width:0;max-width:100%;color:var(--text);font:600 clamp(.95rem, 1.1vw, 1.15rem)/1.1 var(--display);letter-spacing:-.015em;text-align:center;text-wrap:balance;align-self:center;margin:0}.project-splash-art:hover .project-splash-art-frame,.project-splash-art:focus-visible .project-splash-art-frame{border-color:var(--gold-bright);transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ece5db0d,inset 0 -30px 48px #00000042,0 12px 30px #0000003d,0 0 18px #b69a621a}.project-splash-art:hover .project-splash-image,.project-splash-art:focus-visible .project-splash-image{filter:saturate()contrast(1.04)brightness();transform:scale(1.025)}.project-splash-art:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}.credit-report-link{isolation:isolate;color:var(--gold-bright);border-top:1px solid var(--border);font:700 .7rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;grid-area:2/1/auto/-1;justify-content:space-between;padding-top:14px;text-decoration:none;display:flex;position:relative}.credit-report-link>*{z-index:2;position:relative}.credit-report-link:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#b69a62b3);width:clamp(96px,18vw,190px);height:1px;position:absolute;top:-1px;right:0}.project-title-qualifier{color:var(--gold);font:700 .46em/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;vertical-align:.18em;white-space:nowrap;display:inline-block}.placeholder-block{border:1px dashed var(--border);background:#171a208c;padding:18px}.tag-list,.software-list,.record-list,.workflow-list{padding:0;list-style:none}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag-list li{border:1px solid var(--border);color:var(--steel);padding:7px 9px;font-size:.82rem}.capability-groups{gap:18px;display:grid}.capability-group{gap:8px;display:grid}.capability-group h3{color:var(--gold);font:700 .66rem/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase}.capability-group ul{border-top:1px solid #292e36b3;gap:0;padding:0;list-style:none;display:grid}.capability-group li{color:var(--steel);border-bottom:1px solid #292e36b3;padding:7px 0;font-size:.82rem}.software-list{gap:0;display:grid}.software-list li{color:var(--steel);border-bottom:1px solid #292e36b3;padding:9px 0;font-size:.88rem}.education-records{gap:16px;display:grid}.education-records article{border:1px solid var(--border);background:#090a0d7a;padding:18px}.education-records h3{margin-bottom:16px;font-size:1.15rem}.education-degree{color:var(--text);gap:3px;margin:-6px 0 16px;font-size:.86rem;font-weight:600;display:grid}.education-degree span{color:var(--steel);font-weight:400}.education-records dl{gap:12px;display:grid}.education-records dl div{border-bottom:1px solid #292e36b8;gap:3px;padding-bottom:10px;display:grid}.education-records dt{color:var(--muted);font:600 .62rem/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase}.education-records dd{overflow-wrap:anywhere;color:var(--steel);font-size:.82rem}.resume-closing-actions{border:1px solid var(--border);border-top:2px solid var(--gold);background:linear-gradient(110deg, #121419f7, #090a0ddb), var(--surface);grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);align-items:center;gap:clamp(28px,5vw,72px);padding:clamp(32px,4vw,54px);display:grid}.resume-closing-actions h2{margin-top:12px;font-size:clamp(1.7rem,3vw,2.8rem)}.resume-closing-brand{grid-template-columns:clamp(78px,7vw,108px) minmax(0,1fr);align-items:center;gap:clamp(20px,2.6vw,34px);display:grid;position:relative}.resume-closing-brand img{opacity:.84;filter:saturate(.78)drop-shadow(0 0 18px #b69a621f);width:clamp(78px,7vw,108px);height:auto}.resume-closing-links{grid-template-columns:1fr 1.25fr;align-items:stretch;gap:10px;display:grid}.resume-closing-links .text-link{grid-column:1/-1;justify-self:end;margin-top:4px}.text-link,.back-link{color:var(--gold-bright);text-underline-offset:5px;gap:10px;margin-top:18px;font-weight:700;text-decoration-thickness:1px;display:inline-flex}.index-hero{background:radial-gradient(circle at 94% 80%, #641e2b24, transparent 24%), linear-gradient(120deg, #121419f7, #090a0dad), var(--surface);border:1px solid #b69a625c;border-top:0;grid-template-columns:minmax(0,.95fr) minmax(360px,.75fr);align-items:center;gap:0;padding:clamp(42px,5vw,76px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -1px #b69a621f}.index-title-block{min-width:0;padding-right:clamp(28px,5vw,70px)}.index-hero h1{max-width:9ch;font-size:clamp(46px,5.2vw,86px);line-height:.92}.index-intro{color:var(--steel);border-left:1px solid #b69a628c;align-content:center;gap:26px;padding-left:clamp(28px,5vw,70px);display:grid}.legend{background:#b69a622e;border:1px solid #b69a624d;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.legend span{color:var(--muted);font:600 .62rem/1.35 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:#121419eb;padding:9px 10px;position:relative}.legend .is-primary{color:var(--gold-bright);box-shadow:inset 3px 0 0 var(--gold)}.legend .is-significant{color:var(--text);box-shadow:inset 3px 0 0 var(--oxblood)}.legend .is-supporting,.legend .is-collaborative{color:var(--steel)}.project-filter-shell{background:#121419eb;border:1px solid #b69a626b;border-top-width:2px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 22px;margin-top:22px;padding:18px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #b69a620a}.project-filter-shell:after{background:var(--oxblood);content:"";width:54px;height:3px;position:absolute;bottom:0;right:0}.project-filters{flex-wrap:wrap;gap:8px;display:flex}.project-filter{min-height:38px;color:var(--steel);border:1px solid var(--border);font:700 .66rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#090a0dc2;padding:9px 12px;transition:color .15s,border-color .15s,background-color .15s,box-shadow .15s}.project-filter:hover{color:var(--text);border-color:var(--gold-bright);box-shadow:inset 0 -2px 0 var(--oxblood)}.project-filter:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.project-filter.is-active,.project-filter[aria-pressed=true]{color:var(--bg);border-color:var(--gold-bright);background:var(--gold-bright);box-shadow:inset 0 -3px 0 var(--oxblood)}.filter-summary{color:var(--steel);font:600 .68rem/1.4 var(--mono);letter-spacing:.04em;padding-right:12px}.project-empty-state{color:var(--steel);border:1px dashed var(--border);background:var(--surface);text-align:center;margin-top:22px;padding:32px}.project-card-list{gap:clamp(28px,3vw,40px);margin-top:28px;display:grid}.index-brand-closure{background:radial-gradient(#641e2b1a,#0000 34%);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,32px);margin-top:clamp(42px,6vw,76px);padding:26px 0 8px;display:grid;position:relative}.index-brand-rule{background:linear-gradient(90deg,#0000,#b69a628a);height:1px;position:relative}.index-brand-rule.is-right{background:linear-gradient(90deg,#b69a628a,#0000)}.index-brand-glyph{opacity:.86;filter:saturate(.9)brightness(1.03)drop-shadow(0 0 14px #b69a6229);width:clamp(54px,5vw,70px);height:auto;display:block}.project-report-card{background:#121419f0;border:1px solid #b69a628c;border-top-width:2px;transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;box-shadow:inset 0 0 0 1px #b69a6212,0 18px 48px #00000047}.project-report-card:before{z-index:2;content:"";pointer-events:none;background:#641e2bc2;width:4px;transition:background-color .16s,box-shadow .16s;position:absolute;top:0;bottom:0;left:0}.project-report-card:hover,.project-report-card:focus-within{border-color:var(--gold-bright);transform:translateY(-2px);box-shadow:inset 0 0 0 1px #c8ad731f,0 22px 56px #00000061}.project-report-card:hover:before,.project-report-card:focus-within:before{background:var(--oxblood);box-shadow:2px 0 16px #641e2b57}.card-main-link{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);min-height:440px;text-decoration:none;display:grid}.card-main-link:focus-visible{outline:3px solid var(--gold-bright);outline-offset:4px}.card-hero,.deep-hero-media{background:var(--surface-2);border-right:1px solid #b69a626b;min-width:0;overflow:hidden;box-shadow:inset -1px 0 #b69a6214}.card-hero img,.deep-hero-media img{object-fit:cover;width:100%;height:100%}.card-hero img{transition:filter .16s,transform .16s}.project-report-card:hover .card-hero img,.project-report-card:focus-within .card-hero img{filter:saturate(1.03)contrast(1.02);transform:scale(1.012)}.media-placeholder{width:100%;height:100%;min-height:280px;color:var(--muted);background:linear-gradient(#b69a621a 1px, transparent 1px), linear-gradient(90deg, #b69a621a 1px, transparent 1px), radial-gradient(circle at 72% 28%, #641e2b47, transparent 42%), var(--surface-2);background-size:48px 48px,48px 48px,auto,auto;place-items:center;padding:clamp(42px,5vw,70px);display:grid;position:relative;overflow:hidden}.media-placeholder:before{content:"";pointer-events:none;border:1px solid #b69a6280;position:absolute;inset:18px;box-shadow:inset 0 0 24px #b69a620d,0 0 0 1px #090a0dad}.media-placeholder-copy{z-index:1;text-align:center;gap:10px;max-width:28ch;display:grid;position:relative}.media-placeholder-copy span,.media-placeholder-copy strong{font:600 .68rem/1.4 var(--mono);letter-spacing:.08em}.media-placeholder-copy span{color:var(--gold-bright);text-transform:uppercase}.media-placeholder-copy strong{color:var(--steel);letter-spacing:.04em;font-weight:500}.card-content{background:linear-gradient(145deg,#121419f5,#090a0d94);flex-direction:column;padding:clamp(30px,3.8vw,54px);display:flex}.card-kicker{color:var(--gold);font:600 .68rem/1.4 var(--mono);letter-spacing:.08em;justify-content:flex-start;align-items:center;gap:18px;margin-bottom:30px;display:flex}.card-badges,.deep-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-badges{justify-content:flex-start}.status-badge{width:fit-content;color:var(--steel);font:600 .64rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:#090a0db8;border:1px solid #9099a570;align-items:center;gap:8px;padding:7px 9px;display:inline-flex}.classification-badge{width:fit-content;color:var(--gold-bright);font:600 .64rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:#b69a621a;border:1px solid #c8ad73b3;align-items:center;padding:7px 9px;display:inline-flex}.status-dot{background:var(--gold);width:6px;height:6px}.status-badge.is-unverified .status-dot{background:var(--oxblood)}.status-badge.is-unverified{border-color:#641e2b94}.card-content h2{width:fit-content;margin-bottom:22px;padding-bottom:12px;font-size:clamp(36px,3.7vw,58px);position:relative}.card-content h2:after{background:var(--gold);content:"";width:48px;height:2px;transition:width .16s;position:absolute;bottom:0;left:0}.project-report-card:hover .card-content h2:after,.project-report-card:focus-within .card-content h2:after{width:90px}.card-content>p{max-width:var(--readable);color:var(--steel);margin-bottom:26px}.project-metadata{background:0 0;border:1px solid #b69a624d;border-top:2px solid #b69a629e;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 28px;display:grid}.project-metadata div{background:#090a0db8;border-bottom:1px solid #292e36cc;border-right:1px solid #292e36cc;flex-direction:column;min-width:0;min-height:88px;padding:14px 16px;display:flex;position:relative}.project-metadata div:nth-child(3n){border-right:0}.project-metadata div:last-child{border-bottom:0}.project-metadata div.is-placeholder{background:#641e2b17;box-shadow:inset 3px 0 #641e2bb8}.project-metadata dt{color:var(--gold);font:600 .62rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.project-metadata dd{overflow-wrap:anywhere;color:var(--steel);font-size:.82rem;line-height:1.5}.project-metadata .is-placeholder dd{color:#b4a7aa}.project-metadata.is-compact{grid-template-columns:repeat(3,1fr)}.contribution-list,.contribution-grid{flex-wrap:wrap;gap:8px;display:flex}.contribution-block{background:#090a0d5c;border-top:1px solid #b69a6270;border-left:3px solid #641e2bc2;margin:0 0 26px;padding:16px}.contribution-heading{color:var(--gold);font:600 .62rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.contribution-badge{border:1px solid var(--border);background:#171a20b3;gap:3px;padding:8px 10px;font-size:.72rem;display:inline-grid}.contribution-badge strong{color:var(--gold);font:600 .58rem/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase}.contribution-badge small{max-width:58ch;color:var(--steel);font:400 .68rem/1.5 var(--body)}.level-requires-verification strong{color:#b06a75}.contribution-badge.level-primary-ownership{background:#b69a6217;border-color:#b69a62b8}.contribution-badge.level-significant-contribution{box-shadow:inset 2px 0 0 var(--oxblood);border-color:#641e2bb8}.contribution-badge.level-supporting-contribution,.contribution-badge.level-collaborative-contribution,.contribution-badge.level-significant-workflow-component{border-color:#9099a57a}.contribution-badge.level-significant-workflow-component{box-shadow:inset 2px 0 0 var(--gold)}.contribution-badge.level-in-active-development{border-style:dashed;border-color:#b69a628f}.contribution-badge.level-requires-verification{background:#641e2b12;border-style:dashed;border-color:#641e2b8f}.card-cta{color:var(--gold-bright);font:700 .72rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;background:#b69a620f;border:1px solid #b69a626b;justify-content:space-between;margin-top:auto;padding:16px 18px;transition:background-color .16s,border-color .16s;display:flex}.project-report-card:hover .card-cta,.project-report-card:focus-within .card-cta{border-color:var(--gold-bright);background:#b69a621a}.back-link{width:fit-content;min-height:42px;color:var(--gold-bright);font:700 .68rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(90deg,#641e2b33,#0000 34%),#121419eb;border:1px solid #b69a62b8;align-items:center;gap:10px;margin:24px 0;padding:10px 14px;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s,box-shadow .15s;display:inline-flex}.back-link:hover{color:var(--text);border-color:var(--gold-bright);box-shadow:inset 3px 0 0 var(--oxblood);background-color:#b69a6214}.back-link:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;box-shadow:inset 3px 0 0 var(--oxblood)}.deep-hero{background:linear-gradient(135deg, #121419fa, #090a0db3), var(--surface);border:1px solid #b69a627a;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:520px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #b69a620d}.deep-hero:after{background:linear-gradient(90deg, var(--oxblood), var(--gold));content:"";pointer-events:none;width:clamp(80px,12vw,180px);height:3px;position:absolute;bottom:0;right:0}.deep-hero-copy{flex-direction:column;justify-content:center;padding:clamp(36px,5vw,72px);display:flex}.deep-badges{margin-top:28px}.deep-hero h1{margin:18px 0 20px;font-size:clamp(50px,6vw,94px);line-height:.95}.deep-hero-copy>p:not(.eyebrow){max-width:60ch;color:var(--steel)}.report-body{grid-template-columns:minmax(185px,220px) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,52px);margin-top:24px;display:grid}.report-sidebar{min-width:0;max-width:100%;max-height:calc(100vh - 126px);position:sticky;top:104px;overflow:auto}.report-contents{background:#121419f0;border:1px solid #b69a6257;min-width:0;max-width:100%;overflow:hidden;box-shadow:inset 0 0 0 1px #b69a620a}.toc-label{color:var(--gold);font:700 .66rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #b69a6266;padding:11px 12px}.report-contents ol{padding:0;list-style:none;display:grid}.report-contents li+li{border-top:1px solid #292e36b8}.report-contents a{min-height:0;color:var(--muted);font:600 .59rem/1.35 var(--mono);text-transform:uppercase;padding:8px 12px;text-decoration:none;transition:color .15s,background-color .15s,box-shadow .15s;display:block;position:relative}.report-contents a:hover{color:var(--text);box-shadow:inset 2px 0 var(--oxblood);background:#b69a620d}.report-contents a.is-current,.report-contents a[aria-current=location]{color:var(--gold-bright);box-shadow:inset 3px 0 var(--gold), inset 6px 0 var(--oxblood);background:linear-gradient(90deg,#641e2b26,#0000 46%),#b69a6214}.report-contents a:focus-visible{z-index:1;outline:2px solid var(--gold-bright);outline-offset:-2px}.toc-noscript{color:var(--muted);border-top:1px solid var(--border);font:500 .65rem/1.5 var(--mono);padding:14px}.deep-sections{border-top:1px solid #b69a626b;min-width:0}.deep-dive-section{border-bottom:1px solid #292e36e6;grid-template-columns:minmax(190px,.3fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4.5vw,64px);padding:clamp(30px,4vw,54px) 0;scroll-margin-top:104px;display:grid}.deep-dive-section>header{max-width:340px}.deep-dive-section h2{font-size:clamp(24px,2.4vw,36px);line-height:1.02}.section-anchor{color:inherit;padding-top:12px;text-decoration:none;display:inline-block;position:relative}.section-anchor:before{background:linear-gradient(90deg, var(--gold), var(--oxblood));content:"";width:46px;height:2px;transition:width .15s;position:absolute;top:0;left:0}.section-anchor:hover{color:var(--gold-bright)}.section-anchor:hover:before,.section-anchor:focus-visible:before{width:76px}.section-anchor:focus-visible{outline:2px solid var(--gold-bright);outline-offset:5px}.deep-dive-content{min-width:0;color:var(--steel)}#overview .deep-dive-content>p{border:1px solid #292e36eb;border-top:2px solid var(--gold);background:#121419d1;padding:20px 22px}.record-list{gap:12px;display:grid}.record-list li{background:#121419c7;border:1px solid #292e36eb;border-top:2px solid #b69a6294;padding:14px 16px 14px 38px;position:relative}.record-list li:before{border:1px solid var(--gold);content:"";width:7px;height:7px;position:absolute;top:1.25rem;left:15px}.record-list li.is-placeholder,.workflow-list li.is-placeholder{color:#b4a7aa;box-shadow:inset 3px 0 0 var(--oxblood);background:linear-gradient(90deg,#641e2b29,#0000 44%),#121419b8;border-color:#641e2bd1 #641e2b9e #641e2b9e}.record-list li.is-placeholder:before{background:#641e2b7a;border-color:#b06a75}.authorship-boundary,.lesson-conclusion{color:var(--text);border-left:3px solid var(--gold);background:#121419d6;margin-top:14px;padding:16px 18px}.hiring-relevance{gap:12px;margin-top:18px;display:grid}.hiring-relevance h3{color:var(--text);margin-top:6px;font-size:1.08rem}.workflow-details,.result-details{margin-top:14px}.workflow-list{background:0 0;gap:8px;display:grid}.workflow-list li{background:#121419d1;border:1px solid #292e36eb;border-top:2px solid #b69a628c;grid-template-columns:52px 1fr;padding:14px 16px;display:grid}.workflow-list span{color:var(--gold);font:600 .68rem/1.7 var(--mono)}.problem-solution-list{gap:12px;display:grid}.problem-solution-card{background:#b69a622e;border:1px solid #b69a6280;grid-template-columns:1fr 1fr;gap:1px;padding:0;display:grid;overflow:hidden;box-shadow:0 12px 28px #00000029}.problem-solution-card>div{background:#121419eb;min-width:0;padding:20px}.problem-solution-card .problem-column{border-top:2px solid var(--oxblood);box-shadow:inset 3px 0 #641e2bcc}.problem-solution-card .solution-column{border-top:2px solid var(--gold);box-shadow:inset 3px 0 #b69a62bd}.problem-solution-card .outcome-column{border-top:1px solid #b69a6280;grid-column:1/-1;box-shadow:inset 3px 0 #9099a59e}.problem-solution-card.is-placeholder{border-color:#641e2ba8}.problem-solution-card .is-placeholder{color:#b4a7aa;background:linear-gradient(120deg,#641e2b29,#0000 58%),#121419e6}.problem-solution-card h3,.split-record h3{color:var(--text);font:600 1rem/1.2 var(--display);margin-bottom:10px}.split-record{grid-template-columns:1fr 1fr;gap:12px;display:grid}.split-record>div{border:1px solid #292e36eb;border-top:2px solid var(--gold);background:#121419c2;padding:18px}.split-record>div:first-child{border-left:3px solid #641e2bbd}.result-statement{color:var(--text);border:1px solid #b69a629e;border-top:3px solid var(--gold);border-left:3px solid var(--oxblood);background:linear-gradient(120deg, #b69a621f, transparent 60%), var(--surface);font:600 clamp(1.12rem, 1.8vw, 1.55rem)/1.45 var(--display);padding:clamp(22px,3vw,38px)}.result-statement.is-placeholder{color:#b4a7aa;background:linear-gradient(120deg, #641e2b29, transparent 60%), var(--surface);border-color:#641e2bad}#contribution .contribution-grid{border:1px solid #b69a62a8;border-left:4px solid var(--oxblood);background:linear-gradient(105deg,#641e2b24,#0000 44%),#121419d6;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;display:grid}#contribution .contribution-badge{width:100%}#contribution .contribution-badge:last-child:nth-child(odd){grid-column:1/-1}.feature-record-list{gap:14px;margin-top:18px;display:grid}.feature-record{border:1px solid #292e36eb;border-top:3px solid var(--gold);background:#121419d6;gap:16px;padding:clamp(20px,3vw,30px);display:grid}.feature-record h3{color:var(--text);font-size:clamp(1.35rem,2.4vw,1.9rem)}.feature-record h4{color:var(--gold);font:600 .66rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.feature-record ul{gap:7px;padding-left:20px;display:grid}.feature-record>a{color:var(--gold-bright);text-underline-offset:4px;justify-self:start;font-weight:700}#lessons .record-list li{border-color:#b69a6280;border-bottom:2px solid var(--gold);background:linear-gradient(110deg,#b69a621a,#0000 58%),#121419d1}.deep-dive-content .project-metadata{border-color:#b69a6280;border-top-width:3px;margin-bottom:0;box-shadow:inset 3px 0 #641e2b94}.deep-dive-content .project-metadata div{min-height:0;padding:16px}.deep-dive-content .project-metadata .is-placeholder{box-shadow:inset 3px 0 0 var(--oxblood)}.media-gallery{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.media-gallery figure{border:1px solid #b69a626b;border-top:2px solid var(--gold);background:var(--surface)}.gallery-image-link{background:var(--surface-2);display:block;overflow:hidden}.gallery-image-link img,.comparison-pair img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:filter .15s,transform .15s}.gallery-image-link:hover img,.comparison-pair a:hover img{filter:contrast(1.03);transform:scale(1.01)}.comparison-pair{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.comparison-pair a{background:var(--surface-2);display:block;position:relative;overflow:hidden}.comparison-pair a>span{z-index:1;color:var(--text);font:700 .62rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#090a0de6;padding:6px 8px;position:absolute;top:10px;left:10px}.video-link{min-height:220px;color:var(--steel);background:var(--surface-2);grid-template-columns:1fr auto;gap:18px;padding:24px;text-decoration:none;display:grid}.video-link strong{color:var(--text);font:600 clamp(1.35rem, 2.5vw, 2rem)/1.15 var(--display);align-self:end}.video-index{font:600 .66rem/1.4 var(--mono);letter-spacing:.08em}.media-placeholder.is-gallery{min-height:220px}.media-gallery figcaption{color:var(--muted);border-top:1px solid var(--border);font:600 .66rem/1.4 var(--mono);padding:12px}.clearance-note{color:var(--steel);border:1px solid #641e2b85;border-left:3px solid var(--oxblood);font:600 .72rem/1.6 var(--mono);letter-spacing:.04em;background:linear-gradient(90deg,#641e2b24,#0000 45%),#121419b8;margin-top:18px;padding:16px 18px}.media-lightbox{width:min(1180px,100vw - 32px);max-width:none;max-height:calc(100vh - 32px);color:var(--text);border:1px solid var(--gold);background:var(--bg);padding:0}.media-lightbox::backdrop{backdrop-filter:blur(5px);background:#000000db}.lightbox-frame{grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 34px);display:grid}.lightbox-frame img{object-fit:contain;background:#050608;width:100%;max-height:calc(100vh - 150px)}.lightbox-close{color:var(--text);border:1px solid var(--border);background:var(--surface);font:700 .68rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;justify-self:end;margin:10px;padding:9px 12px}.lightbox-close:hover{border-color:var(--gold)}.lightbox-frame>p{color:var(--steel);border-top:1px solid var(--border);font:600 .68rem/1.4 var(--mono);padding:12px 16px}.public-links-block{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.public-links-block h3{color:var(--text);margin-bottom:14px;font-size:1.25rem}.related-links{flex-wrap:wrap;gap:14px;margin-top:18px;padding:0;list-style:none;display:flex}.related-links a{color:var(--gold-bright);text-underline-offset:5px}.project-pagination{border-top:1px solid #b69a626b;justify-content:space-between;align-items:stretch;gap:12px;margin-top:30px;padding-top:20px;display:flex}.pagination-link{width:min(340px,48%);min-height:0;color:var(--steel);background:linear-gradient(90deg,#641e2b1a,#0000 38%),#121419e6;border:1px solid #b69a629e;gap:5px;padding:13px 15px;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s,box-shadow .15s;display:grid}.pagination-link span{color:var(--muted);font:600 .64rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}.pagination-link strong{color:var(--text);font:600 1rem/1.2 var(--display)}a.pagination-link:hover{color:var(--gold-bright);border-color:var(--gold-bright);box-shadow:inset 3px 0 0 var(--oxblood);background-color:#b69a6214}.pagination-link:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;box-shadow:inset 3px 0 0 var(--oxblood)}.pagination-link.is-next{text-align:right;margin-left:auto}.disclosure-list{gap:10px;display:grid}.disclosure-list div{border:1px solid #b69a6275;border-top:2px solid var(--gold);background:#121419d6;padding:18px 20px}.disclosure-list dt{color:var(--gold);font:600 .7rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.disclosure-list div.is-placeholder{color:#b4a7aa;border-color:#641e2b9e;border-top-color:var(--oxblood);box-shadow:inset 3px 0 0 var(--oxblood);background:linear-gradient(90deg,#641e2b29,#0000 46%),#121419cc}.placeholder-block{color:#b4a7aa;border-color:#641e2b9e;border-left:3px solid var(--oxblood);background:linear-gradient(90deg,#641e2b29,#0000 48%),#171a20a6}.not-found-page{border:1px solid var(--border);border-top:2px solid var(--gold);background:var(--surface);grid-template-columns:minmax(280px,.6fr) 1fr;align-items:center;gap:clamp(44px,8vw,140px);min-height:68vh;padding:clamp(40px,7vw,100px);display:grid}.entrance-page{border:1px solid var(--border);border-top:2px solid var(--gold);background:var(--surface);place-items:center;min-height:68vh;padding:clamp(40px,8vw,120px);display:grid;position:relative;overflow:hidden}.entrance-page>div{z-index:1;width:min(720px,100%);position:relative}.entrance-page h1{letter-spacing:-.04em;text-transform:uppercase;margin:22px 0;font-size:clamp(58px,9vw,132px)}.entrance-page>div>p:not(.eyebrow){max-width:48ch;color:var(--steel)}.entrance-page .primary-link{width:min(320px,100%);margin-top:32px}.error-code{color:#b69a6229;font:600 clamp(120px, 20vw, 300px)/.75 var(--display)}.not-found-page h1{margin:20px 0;font-size:clamp(44px,6vw,86px)}.not-found-page>div>p{max-width:56ch;color:var(--steel)}.not-found-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:32px;display:flex}.not-found-actions .text-link{margin-top:0}}@layer utilities{@media (width<=1100px){:root{--oi-grid-size:82px;--oi-grid-opacity:.048;--oi-trail-opacity:.6;--oi-spark-opacity:.34}.backdrop-trails.is-horizontal{background-image:var(--oi-trail-gold-forward), var(--oi-trail-steel-forward), var(--oi-trail-gold-forward), var(--oi-trail-gold-reverse), var(--oi-trail-steel-reverse);background-size:138px 1px,84px 2px,164px 1px,112px 2px,146px 1px;background-position:var(--oi-h01-x) calc(var(--oi-grid-size) * 1), var(--oi-h02-x) calc(var(--oi-grid-size) * 3), var(--oi-h03-x) calc(var(--oi-grid-size) * 5), var(--oi-h05-x) calc(var(--oi-grid-size) * 2), var(--oi-h06-x) calc(var(--oi-grid-size) * 4);animation:47s linear -11s infinite oi-h01,63s linear -39s infinite oi-h02,79s linear -17s infinite oi-h03,59s linear -43s infinite oi-h05,73s linear -7s infinite oi-h06}.backdrop-trails.is-vertical{background-image:var(--oi-trail-gold-down), var(--oi-trail-steel-down), var(--oi-trail-gold-up), var(--oi-trail-steel-up);background-size:1px 132px,2px 78px,2px 104px,1px 142px;background-position:calc(var(--oi-grid-size) * 2) var(--oi-v01-y), calc(var(--oi-grid-size) * 4) var(--oi-v02-y), calc(var(--oi-grid-size) * 3) var(--oi-v04-y), calc(var(--oi-grid-size) * 5) var(--oi-v05-y);animation:53s linear -31s infinite oi-v01,67s linear -9s infinite oi-v02,61s linear -22s infinite oi-v04,89s linear -71s infinite oi-v05}.backdrop-sparks.is-secondary{display:none}.credit-entry.has-splash-art{--credit-embroidery-size:130px;grid-template-columns:minmax(0,1fr) 176px;gap:18px}.credit-entry.has-splash-art .credit-main{grid-area:1/1}.credit-entry.has-splash-art .credit-side{grid-area:1/2;gap:14px}.credit-entry.has-splash-art .credit-report-link{grid-area:2/1/auto/-1}}@media (width<=980px){:root{--shell:min(100% - 32px, 920px)}.resume-banner,.index-hero,.deep-hero,.card-main-link{grid-template-columns:minmax(0,1fr)}.resume-banner-summary{border-top:1px solid var(--border);border-left:0}.resume-hero-mark{opacity:.18;width:245px;top:51%;left:clamp(126px,27%,198px);right:auto;transform:translate(-50%,-50%)rotate(1deg)}.index-title-block{padding:0 0 28px}.index-intro{border-top:1px solid #b69a628c;border-left:0;padding:28px 0 0}.hero-actions{max-width:520px}.resume-grid,.resume-closing-actions{grid-template-columns:1fr}.resume-sidebar{border-left:0}.card-hero,.deep-hero-media{border-bottom:1px solid #b69a626b;border-right:0;min-height:360px}.card-main-link{min-height:0}.report-contents{grid-template-columns:repeat(3,1fr)}.deep-dive-section{grid-template-columns:1fr}.deep-dive-section>header{max-width:620px}.report-body{grid-template-columns:1fr;min-width:0;max-width:100%}.report-sidebar{max-height:none;position:static;overflow:visible}.report-contents ol{overscroll-behavior-inline:contain;scrollbar-width:thin;width:100%;max-width:100%;display:flex;overflow-x:auto}.report-contents li{flex:none}.report-contents li+li{border-top:0;border-left:1px solid var(--border)}.report-contents a{min-width:142px;max-width:196px;min-height:44px}.not-found-page{grid-template-columns:1fr}}@media (width<=680px){:root{--oi-grid-size:72px;--oi-grid-opacity:.043;--oi-trail-opacity:.48;--oi-spark-opacity:.26}body{font-size:16px}.backdrop-trails.is-horizontal{background-image:var(--oi-trail-gold-forward), var(--oi-trail-steel-forward), var(--oi-trail-gold-reverse);background-size:112px 1px,72px 1px,92px 1px;background-position:var(--oi-h01-x) calc(var(--oi-grid-size) * 1), var(--oi-h02-x) calc(var(--oi-grid-size) * 3), var(--oi-h05-x) calc(var(--oi-grid-size) * 2);filter:drop-shadow(0 0 2px #b69a6224);animation:47s linear -11s infinite oi-h01,63s linear -39s infinite oi-h02,59s linear -43s infinite oi-h05}.backdrop-trails.is-vertical{background-image:var(--oi-trail-gold-down), var(--oi-trail-gold-up), var(--oi-trail-steel-up);background-size:1px 108px,1px 86px,1px 116px;background-position:calc(var(--oi-grid-size) * 2) var(--oi-v01-y), calc(var(--oi-grid-size) * 3) var(--oi-v04-y), calc(var(--oi-grid-size) * 5) var(--oi-v05-y);filter:drop-shadow(0 0 2px #b69a621f);animation:53s linear -31s infinite oi-v01,61s linear -22s infinite oi-v04,89s linear -71s infinite oi-v05}.backdrop-sparks.is-primary{background-image:var(--oi-spark-gold), var(--oi-spark-steel), var(--oi-spark-warm), var(--oi-spark-gold);background-size:3px 3px,2px 2px,4px 4px,2px 2px;animation:61s ease-in-out -23s infinite oi-spark-field-mobile,19s ease-in-out -7s infinite oi-spark-fade-a}.site-header,.section-shell,.site-footer,.resume-grid,.timeline-entry,.credit-entry,.problem-solution-card,.split-record{grid-template-columns:1fr;display:grid}.site-header{gap:14px;padding:16px}.wordmark-logo{width:38px}.back-to-top{right:12px;bottom:max(12px, var(--back-to-top-footer-offset,0px));width:46px;height:46px}.portfolio-link,.header-socials{justify-self:start;margin-left:0}.section-shell{align-items:start;gap:16px;padding-top:20px}.resume-tabs{grid-template-columns:.8fr 1.2fr;width:100%;display:grid}.resume-tab{text-align:center;place-items:center;min-height:52px;padding:10px;display:grid}.index-hero,.deep-hero-copy,.not-found-page{padding:32px 22px}.resume-banner-identity,.resume-banner-summary{padding:30px 22px}.resume-hero-mark{opacity:.15;width:190px;top:50%;left:47%;right:auto;transform:translate(-50%,-50%)rotate(1deg)}.index-hero>*,.deep-hero>*{min-width:0}.resume-banner h1{letter-spacing:-.045em;font-size:clamp(39px,12vw,52px)}.hero-actions{grid-template-columns:1fr}.resume-banner .primary-link{grid-column:auto}.index-hero h1{letter-spacing:-.05em;font-size:clamp(36px,10vw,44px)}.deep-hero h1{font-size:clamp(44px,13vw,54px)}.resume-section{padding:30px 22px}.experience-section{margin:12px;padding:24px 22px}.experience-section .section-heading>p{font-size:.94rem}.timeline-entry{gap:10px}.resume-closing-actions{padding:30px 22px}.credit-entry{padding:22px}.credit-entry.has-splash-art{--credit-embroidery-size:96px;grid-template-columns:1fr}.credit-entry.has-splash-art .credit-main,.credit-entry.has-splash-art .credit-side,.credit-entry.has-splash-art .credit-report-link{grid-area:auto/1}.credit-entry.has-splash-art .credit-side{justify-items:start;gap:14px}.credit-badges{justify-content:flex-start}.project-splash-art{width:min(100%,240px)}.credit-entry.has-splash-art .credit-embroidery-zone{display:none}.credit-report-link:after{width:112px}.resume-closing-brand{grid-template-columns:64px minmax(0,1fr);gap:18px}.resume-closing-brand img{width:64px}.resume-closing-links{grid-template-columns:1fr}.resume-closing-links .text-link{grid-column:auto;justify-self:start}.legend,.project-metadata,.project-metadata.is-compact,.media-gallery{grid-template-columns:1fr}.card-hero,.deep-hero-media{min-height:300px}.media-placeholder.is-gallery{min-height:180px}.card-content{padding:26px 22px}.media-placeholder:before{inset:14px}.project-metadata div,.project-metadata div:nth-child(3n),.project-metadata div:nth-last-child(-n+3){border-bottom:1px solid #292e36cc;border-right:0}.project-metadata div:last-child{border-bottom:0}.contribution-block{padding:14px}.project-filter-shell,.project-pagination{grid-template-columns:1fr;display:grid}.project-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-filter{min-width:0}.card-kicker{margin-bottom:34px;display:grid}.card-badges{justify-content:start}.credit-badges{justify-content:flex-start;max-width:none}#contribution .contribution-grid{grid-template-columns:1fr}.report-contents{min-width:0}.deep-dive-section{gap:20px;padding:30px 0}.problem-solution-card{gap:1px}.comparison-pair{grid-template-columns:1fr}.pagination-link.is-next{text-align:left}.project-pagination{gap:10px}.pagination-link{width:100%}.site-footer{gap:12px}.index-brand-closure{gap:14px;margin-top:40px}.index-brand-glyph{width:48px}}@media (width<=380px){:root{--shell:calc(100% - 24px)}.wordmark small{font-size:.62rem}.back-to-top{width:44px;height:44px}.resume-tab{font-size:.64rem}.index-hero h1{font-size:30px}.report-contents{max-width:calc(100vw - 24px)}.project-splash-art{max-width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.backdrop-trails,.backdrop-sparks{display:none!important}.project-report-card,.project-report-card:hover,.project-report-card:focus-within,.project-report-card:hover .card-hero img,.project-report-card:focus-within .card-hero img{transform:none}}@media print{:root{--bg:#fff;--surface:#fff;--surface-2:#f5f5f5;--text:#111;--steel:#333;--muted:#555;--gold:#6e572d;--gold-bright:#6e572d;--border:#bbb;--shell:100%}@page{size:auto;margin:14mm}html,body{min-width:0;color:var(--text);background:#fff;font-size:10.5pt}.unified-backdrop,.site-header,.section-shell,.site-footer,.print-controls,.resume-closing-actions,.resume-hero-mark,.credit-embroidery,.index-brand-closure,.back-to-top,.back-link,.media-lightbox{display:none!important}main{width:100%}a{color:inherit;text-decoration:none}.resume-document,.project-index-page,.deep-dive-page{border-top-color:var(--gold)}.resume-banner,.deep-hero,.resume-grid,.experience-section,.project-report-card,.deep-dive-section,.credit-entry,.record-list li,.workflow-list li,.problem-solution-card,.disclosure-list div,.result-statement{color:#111;border-color:var(--border);box-shadow:none;background:#fff}.experience-section{margin:0;padding:8mm 0}.resume-banner{border-color:var(--gold);grid-template-columns:.9fr 1.1fr;min-height:0}.resume-banner-identity,.resume-banner-summary{padding:9mm}.resume-banner h1,.deep-hero h1{font-size:34pt}.resume-grid{grid-template-columns:1.55fr .8fr}.resume-section{break-inside:avoid;padding:8mm 0}.resume-sidebar{border-left:1px solid var(--border);background:#fff;padding-left:8mm}.report-body{display:block}.deep-hero{min-height:0;display:block}.deep-hero-copy{padding:10mm 0}.deep-hero-media{display:none}.deep-dive-section{break-inside:avoid;padding:8mm 0;display:block}.deep-dive-section>header{margin-bottom:5mm}.project-metadata,.workflow-list,.credit-list{background:var(--border)}.media-gallery{grid-template-columns:1fr 1fr}.gallery-item,.problem-solution-card,.project-metadata div{break-inside:avoid}.project-pagination{display:none}}}@property --oi-h01-x{syntax:"<length>";inherits:false;initial-value:-180px}@property --oi-h02-x{syntax:"<length>";inherits:false;initial-value:-310px}@property --oi-h03-x{syntax:"<length>";inherits:false;initial-value:-90px}@property --oi-h04-x{syntax:"<length>";inherits:false;initial-value:-460px}@property --oi-h05-x{syntax:"<length>";inherits:false;initial-value:1800px}@property --oi-h06-x{syntax:"<length>";inherits:false;initial-value:2100px}@property --oi-h07-x{syntax:"<length>";inherits:false;initial-value:1650px}@property --oi-v01-y{syntax:"<length>";inherits:false;initial-value:-180px}@property --oi-v02-y{syntax:"<length>";inherits:false;initial-value:-330px}@property --oi-v03-y{syntax:"<length>";inherits:false;initial-value:-90px}@property --oi-v04-y{syntax:"<length>";inherits:false;initial-value:1200px}@property --oi-v05-y{syntax:"<length>";inherits:false;initial-value:1450px}@property --oi-v06-y{syntax:"<length>";inherits:false;initial-value:1100px}
