@import"https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,400;0,7..72,500;1,7..72,400&family=Public+Sans:wght@400;450;500;550;600&display=swap";:root{font-family:Public Sans,sans-serif;font-weight:400;color:#302e28;background:#f7f5ef;--bg:#f7f5ef;--text:#302e28;--muted:#706c63;--line:#dcd7cd;--panel:#eeebe2;--paper:#fffcf5;--hover:#e7e2d6;--soft:#e5dfd0;--dock:rgba(255,253,247,.92);--shadow:0 12px 36px #42392313;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--text);outline-offset:5px}button{border:0}::selection{background:#d7cbb5;color:#27251f}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:Literata,Georgia,serif;letter-spacing:-.04em;line-height:1.23}h1{font-size:clamp(2.3rem,4.2vw,3.4rem)}h2{font-size:clamp(1.6rem,2.5vw,2.2rem)}h3{line-height:1.45}p{line-height:1.8;font-size:.94rem;color:var(--muted)}svg{flex-shrink:0}a,button{touch-action:manipulation}main,footer,.site-header{width:min(1080px,calc(100% - 96px));margin-inline:auto}main{outline:none;min-height:65vh}.site-header{display:flex;align-items:center;justify-content:space-between;padding:29px 0;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:15px;text-decoration:none;font-size:.86rem;font-weight:550}.wordmark>span:last-child>span{display:block;font-weight:400;color:var(--muted);font-size:.71rem;margin-top:5px}.monogram{font-family:Literata,serif;font-size:2rem;font-weight:400;letter-spacing:-.09em;border-right:1px solid var(--line);padding-right:18px;line-height:1.4}.header-right{display:flex;align-items:center;gap:12px}.location-label{font-size:.73rem;color:var(--muted);margin-right:14px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:transparent;text-decoration:none;transition:background .2s,transform .2s}.icon-button:hover{background:var(--hover);transform:translateY(-2px)}.eyebrow{font-size:.65rem;letter-spacing:.12em;font-weight:550;text-transform:uppercase;line-height:1.6;color:var(--muted)}.tiny-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#9a9177;margin-right:8px;vertical-align:2px}.home-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:85px;padding:77px 0 64px}.intro-copy h1{margin:19px 0 23px}.hello-dot{color:#a99a7b}.intro-copy .intro-lead{font-size:1.15rem;line-height:1.7;color:var(--text);margin-bottom:17px}.intro-copy>p:not(.eyebrow){margin-bottom:14px;max-width:510px}.intro-links{display:flex;gap:26px;align-items:center;margin-top:28px}.solid-link{display:inline-flex;align-items:center;gap:18px;background:var(--text);color:var(--bg);border-radius:6px;font-size:.77rem;text-decoration:none;padding:13px 17px;transition:transform .2s}.solid-link:hover{transform:translateY(-3px)}.external,.inline-link{display:inline-flex;align-items:center;gap:8px;font-size:.77rem;font-weight:450;text-decoration:none;padding:5px 0;border-bottom:1px solid var(--line);line-height:1.6}.external svg,.inline-link svg{transition:transform .2s}.external:hover svg,.inline-link:hover svg{transform:translate(2px,-2px)}.paper-preview{display:block;text-decoration:none;perspective:900px;padding:10px 4px 0}.paper-sheet{background:var(--paper);border:1px solid var(--line);box-shadow:3px 4px 0 var(--panel),4px 5px 0 var(--line),var(--shadow);padding:25px 28px 20px;transform:rotate(3deg);transition:transform .5s cubic-bezier(.22,1,.36,1);position:relative}.paper-preview:hover .paper-sheet{transform:rotate(0) translateY(-6px)}.paper-topline{display:flex;justify-content:space-between;align-items:center;font-size:.56rem;letter-spacing:.1em;color:var(--muted);padding-bottom:18px;border-bottom:1px solid var(--line)}.paper-topic{display:block;font-size:.58rem;letter-spacing:.13em;color:var(--muted);margin-top:30px}.paper-sheet h3{font-family:Literata,serif;font-size:1.33rem;letter-spacing:-.025em;line-height:1.5;margin:12px 0 16px}.paper-sheet>p{font-size:.61rem}.paper-abstract{margin-top:22px;border-top:1px solid var(--line);padding-top:15px}.paper-abstract>span{font-family:Literata,serif;font-size:.76rem}.paper-abstract p{font-size:.67rem;margin-top:6px;line-height:1.8}.paper-bottom{display:flex;justify-content:space-between;font-size:.55rem;letter-spacing:.06em;color:var(--muted);margin-top:28px}.preview-caption{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:24px;font-size:.67rem;color:var(--muted)}.currently-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;border-block:1px solid var(--line)}.currently-strip>span:not(.eyebrow){display:flex;gap:8px;align-items:center;font-size:.7rem;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}.section-head .eyebrow{margin-bottom:10px}.home-work,.home-experience,.awards-section,.community-section,.toolkit{margin-top:66px}.work-paths{display:grid;grid-template-columns:1fr 1fr;gap:24px}.path-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--panel);padding:32px;border:1px solid transparent;border-radius:4px;text-decoration:none;transition:background .3s,border .3s,transform .3s}.path-card:hover{background:var(--hover);border-color:var(--line);transform:translateY(-5px)}.path-symbol{margin-bottom:28px}.path-card h3{font-family:Literata,serif;font-size:1.6rem;letter-spacing:-.03em;margin:11px 0 14px;max-width:350px}.path-card p{font-size:.84rem;max-width:380px;margin-bottom:24px}.path-bottom{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;border-top:1px solid var(--line);padding-top:19px;margin-top:auto}.path-card:hover .path-bottom svg{transform:translate(3px,-3px)}.path-bottom svg{transition:transform .3s}.employer-strip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.employer-strip>a{padding:25px 28px 25px 0;text-decoration:none;position:relative}.employer-strip>a+a{border-left:1px solid var(--line);padding-left:28px}.row-number{font-size:.65rem;color:var(--muted);font-variant-numeric:tabular-nums}.employer-strip h3{font-size:.98rem;margin:15px 0 6px}.employer-strip p{font-size:.76rem}.employer-strip svg{position:absolute;right:25px;top:26px;transition:transform .2s}.employer-strip a:hover svg{transform:translate(3px,-3px)}.achievements-list article{display:grid;grid-template-columns:140px 1fr 25px;gap:25px;align-items:start;padding:23px 0;border-top:1px solid var(--line)}.award-result{font-family:Literata,serif;font-size:1.3rem;letter-spacing:-.04em}.achievements-list h3{font-size:.86rem;font-weight:500;margin-bottom:7px}.achievements-list p{font-size:.79rem}.achievements-list .row-number{padding-top:5px;text-align:right}.personal-note{margin:65px 0 0;border-top:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:1fr 1.8fr;gap:20px 45px}.handwritten{font-family:Literata,serif;font-style:italic;font-size:1.1rem}.personal-note p{font-size:.88rem}.personal-note .inline-link{grid-column:2;justify-self:start}.page-heading{padding:66px 0 52px;max-width:780px}.page-heading h1{margin:15px 0 21px}.page-description{font-size:1.03rem;line-height:1.8;max-width:660px}.research-entry{display:grid;grid-template-columns:195px 1fr;gap:48px;padding:40px 0 45px;border-top:1px solid var(--line)}.research-side{display:flex;flex-direction:column;align-items:flex-start;gap:11px;color:var(--muted);font-size:.7rem;line-height:1.8}.large-index{font-family:Literata,serif;font-size:3.6rem;letter-spacing:-.075em;color:#b5ad9d;line-height:1.1;margin-bottom:20px}.status{border:1px solid var(--line);padding:3px 9px;border-radius:3px;margin-top:3px;font-size:.64rem}.research-main h2{font-size:1.85rem;line-height:1.4;margin:14px 0 16px;max-width:740px}.authors{font-size:.76rem;margin-bottom:24px}.research-summary{font-size:.94rem;margin-bottom:22px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.tags span{font-size:.64rem;background:var(--panel);border-radius:3px;padding:5px 9px;line-height:1.4;color:var(--muted)}.paper-links{display:flex;gap:24px;flex-wrap:wrap;margin:21px 0}.expand{border-top:1px solid var(--line);margin-top:25px}.expand>button{display:flex;align-items:center;justify-content:space-between;background:none;width:100%;text-align:left;font-size:.74rem;padding:16px 0}.expand-content{overflow:hidden}.expand-content>div{padding:5px 0 7px}.expand-content p{font-size:.86rem;margin:0 0 15px}.research-details{display:grid;gap:19px}.research-details h3{font-size:.8rem;font-weight:550;margin-bottom:7px}.endnote{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:195px 1fr;gap:48px;margin-top:10px}.endnote p{font-size:.91rem}.projects-list{display:flex;flex-direction:column;gap:45px}.project-entry{display:grid;grid-template-columns:.95fr 1.2fr;gap:46px;padding-top:38px;border-top:1px solid var(--line);align-items:start}.project-copy h2{font-size:1.85rem;margin:12px 0 15px}.project-copy>p:not(.eyebrow){font-size:.92rem}.project-visual{position:relative;background:var(--panel);min-height:320px;border-radius:4px;padding:24px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line)}.visual-label{position:absolute;top:19px;left:20px;font-size:.52rem;letter-spacing:.12em;color:var(--muted)}.visual-foot{position:absolute;bottom:18px;left:20px;font-size:.61rem;color:var(--muted)}.trade-window{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:17px;box-shadow:var(--shadow);transform:rotate(-2deg);transition:transform .5s}.project-entry:hover .trade-window{transform:rotate(0)}.trade-window>div:first-child{display:flex;justify-content:space-between;font-size:.75rem}.trade-window>p{padding:16px 0;font-size:.73rem;color:var(--text);display:flex;justify-content:space-between}.trade-window .ledger-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:9px 0;font-size:.58rem;color:var(--muted)}.equation{font-family:Literata,serif;font-style:italic;font-size:2.5rem;text-align:center;letter-spacing:-.06em;margin-bottom:23px}.currency-cycle{display:flex;justify-content:center;align-items:center;gap:14px}.currency-cycle>span{font-size:.67rem;background:var(--paper);border:1px solid var(--line);padding:10px 12px;border-radius:50%}.cycle-return{text-align:center;font-size:.65rem;color:var(--muted);margin-top:17px;letter-spacing:.07em}.resume-stack{display:flex;justify-content:center;align-items:center;gap:24px}.resume-paper{background:var(--paper);border:1px solid var(--line);width:106px;height:135px;padding:17px 13px;transform:rotate(-6deg);box-shadow:var(--shadow);transition:transform .5s}.project-entry:hover .resume-paper{transform:rotate(0)}.resume-paper>span{font-family:Literata,serif;font-size:.85rem}.resume-paper i{display:block;width:90%;height:3px;background:var(--line);margin-top:15px}.resume-paper i:last-child{width:60%}.record-preview{font-size:.66rem;line-height:1.9;color:var(--muted)}.github-end{display:flex;align-items:center;gap:20px;border-block:1px solid var(--line);padding:26px 0;margin-top:52px;text-decoration:none}.github-end>span{font-size:.9rem;flex:1}.github-end>span>span{display:block;color:var(--muted);font-size:.73rem;margin-top:7px}.role-entry{display:grid;grid-template-columns:220px 1fr;gap:42px;border-top:1px solid var(--line);padding:35px 0 42px}.role-entry>aside{display:flex;flex-direction:column;gap:10px;font-size:.71rem;color:var(--muted)}.role-year{color:var(--text);font-size:.78rem}.role-entry>aside .row-number{margin-top:20px}.role-entry h2{font-size:1.8rem;margin:12px 0 15px}.role-intro{font-size:.98rem;color:var(--text)}.role-entry ul{padding-left:18px;color:var(--muted);font-size:.87rem;line-height:1.9;margin:17px 0 20px}.role-entry li{padding-left:5px;margin:8px 0}.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.community-grid article{height:100%;padding:28px;background:var(--panel);border-radius:4px}.community-grid h3{font-size:1rem;margin:15px 0 12px}.community-grid p{font-size:.86rem}.about-story{display:grid;grid-template-columns:1.1fr 1fr;gap:66px;padding:12px 0 44px}.about-story h2{margin-bottom:25px}.about-story p{font-size:.91rem;margin-top:15px}.education-panel{background:var(--panel);padding:28px;border-radius:4px}.education-panel article{margin-top:25px}.education-panel article+article{border-top:1px solid var(--line);padding-top:20px}.education-panel article>span{font-size:.65rem;color:var(--muted)}.education-panel h3{font-size:.88rem;margin-top:9px;font-weight:500}.education-panel article p{font-size:.76rem;margin-top:7px}.music-section{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;border-top:1px solid var(--line);padding:45px 0}.music-section h2{margin:15px 0 20px}.music-section p:not(.eyebrow){font-size:.9rem}.piano-wrap{padding:24px 0 0}.piano{display:flex;background:#3f3a32;padding:10px 10px 13px;border-radius:8px;box-shadow:0 15px 25px #30281c14;transform:rotate(2deg)}.piano button{position:relative;flex:1;min-width:0;height:145px;background:#fffaf0;border:1px solid #d6cbbb;border-radius:0 0 5px 5px;box-shadow:inset 0 -5px #dfd7c8;padding:0;transition:background .15s,transform .15s}.piano button:hover{background:#ece3d3}.piano button.playing{background:#dac6a5;transform:translateY(4px);box-shadow:inset 0 -1px #c6b08b}.piano button>span{position:absolute;bottom:15px;font-size:.57rem;color:#8a7a63;left:0;width:100%}.piano button>i{position:absolute;pointer-events:none;top:-1px;right:-28%;width:53%;height:87px;background:linear-gradient(#24211c,#454036);border-radius:0 0 3px 3px;z-index:2;border-bottom:5px solid #171511;box-shadow:2px 3px 4px #0003}.piano-wrap>p{text-align:center!important;font-family:Literata,serif;font-style:italic;font-size:.77rem!important;margin-top:22px}.reading-note{display:flex;align-items:start;gap:30px;background:var(--panel);padding:31px;border-radius:4px}.reading-note>svg{margin-top:5px}.reading-note h2{font-size:1.5rem;margin:9px 0}.reading-note p:not(.eyebrow){font-size:.85rem}.toolkit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding-top:22px}.toolkit-grid h3{font-size:.8rem;font-weight:550;margin-bottom:12px}.toolkit-grid p{font-size:.79rem}footer{display:flex;align-items:center;gap:27px;border-top:1px solid var(--line);padding:27px 0 135px;margin-top:70px}footer>div{margin-right:auto}footer>div>a{font-family:Literata,serif;font-size:.95rem;text-decoration:none}footer>div>span{display:block;font-size:.65rem;color:var(--muted);margin-top:8px}.nav-dock{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:10;display:flex;padding:7px;gap:3px;background:var(--dock);border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 35px #30281c24;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-dock a{position:relative;display:flex;align-items:center;gap:8px;text-decoration:none;padding:13px 16px;font-size:.73rem;color:var(--muted);border-radius:11px;transition:color .2s,background .2s}.nav-dock a:hover{color:var(--text);background:var(--panel)}.nav-dock a[aria-current=page]{color:var(--bg)}.nav-dock a>svg,.nav-dock a>span:not(.nav-active){position:relative;z-index:1}.nav-active{position:absolute;inset:0;background:var(--text);border-radius:11px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--text);color:var(--bg);padding:12px}.skip:focus{top:10px}[data-theme=dark]{--bg:#24231f;--text:#eee9de;--muted:#b5afa2;--line:#49463d;--panel:#302e28;--paper:#34322b;--hover:#3c392f;--soft:#4b4437;--dock:rgba(43,41,35,.94);--shadow:0 12px 36px #0002;color:var(--text);background:var(--bg)}@media(min-width:1450px){.home-intro{padding-top:90px;padding-bottom:80px}.paper-sheet{padding:30px 33px}.paper-sheet h3{font-size:1.5rem}}@media(max-width:1000px){main,footer,.site-header{width:calc(100% - 64px)}.home-intro{gap:48px}.intro-copy .intro-lead{font-size:1.05rem}.paper-sheet{padding:23px}.paper-sheet h3{font-size:1.2rem}.currently-strip{flex-wrap:wrap;justify-content:flex-start;gap:16px 25px}.currently-strip>.eyebrow{width:100%}.project-entry{gap:30px}.project-visual{padding:18px;min-height:295px}.trade-window{padding:12px}.currency-cycle{gap:8px}.currency-cycle>span{padding:8px}.research-entry,.endnote{grid-template-columns:155px 1fr;gap:30px}.role-entry{grid-template-columns:175px 1fr;gap:30px}.about-story,.music-section{gap:35px}.piano button{height:130px}.piano button>i{height:78px}}@media(max-width:720px){main,footer,.site-header{width:calc(100% - 40px)}.site-header{padding:19px 0}.wordmark{font-size:.77rem;gap:10px}.wordmark>span:last-child>span{font-size:.61rem}.monogram{font-size:1.7rem;padding-right:12px}.location-label{display:none}.header-right{gap:2px}.icon-button{width:32px;height:32px}.home-intro{grid-template-columns:1fr;gap:35px;padding:42px 0 34px}.intro-copy h1{font-size:2.75rem;margin-top:17px}.intro-copy .intro-lead{font-size:1.1rem}.intro-copy>p:not(.eyebrow){max-width:none}.intro-paper{width:min(360px,90%);margin:4px auto 0}.paper-sheet{padding:23px 27px}.paper-sheet h3{font-size:1.2rem}.paper-topic{margin-top:19px}.paper-abstract{margin-top:17px}.paper-bottom{margin-top:18px}.currently-strip{gap:15px 22px;padding:19px 0}.currently-strip>span:not(.eyebrow){font-size:.67rem}.home-work,.home-experience,.awards-section,.community-section,.toolkit{margin-top:43px}.section-head{margin-bottom:22px;align-items:start}.section-head h2{font-size:1.65rem}.section-head .inline-link{font-size:.68rem;white-space:nowrap;align-self:end}.work-paths{grid-template-columns:1fr;gap:15px}.path-card{padding:25px}.path-symbol{margin-bottom:20px}.path-card h3{max-width:none;font-size:1.45rem}.path-card p{max-width:none}.employer-strip{grid-template-columns:1fr}.employer-strip>a,.employer-strip>a+a{padding:20px 30px 20px 0;border-left:0}.employer-strip>a+a{border-top:1px solid var(--line)}.employer-strip h3{margin:8px 0 5px}.employer-strip svg{top:24px;right:0}.achievements-list article{grid-template-columns:80px 1fr;gap:16px;padding:20px 0}.award-result{font-size:1.1rem}.achievements-list .row-number{display:none}.achievements-list h3{font-size:.83rem}.achievements-list p{font-size:.75rem}.personal-note{grid-template-columns:1fr;gap:15px;margin-top:40px;padding-top:25px}.personal-note .inline-link{grid-column:auto}.page-heading{padding:43px 0 33px}.page-heading h1{font-size:2.4rem}.page-description{font-size:.95rem}.research-entry{grid-template-columns:1fr;gap:23px;padding:25px 0 35px}.research-side{flex-direction:row;align-items:center;flex-wrap:wrap;gap:9px 15px}.large-index{font-size:1.8rem;margin:0 8px 0 0}.research-side>.status{margin:0}.research-main h2{font-size:1.6rem}.research-summary{font-size:.9rem}.endnote{grid-template-columns:1fr;gap:14px}.project-entry{grid-template-columns:1fr;gap:25px;padding-top:25px}.project-visual{min-height:280px}.trade-window{max-width:320px;width:100%;align-self:center;padding:17px}.projects-list{gap:25px}.project-copy h2{font-size:1.7rem}.role-entry{grid-template-columns:1fr;gap:22px;padding:24px 0 32px}.role-entry>aside{flex-direction:row;flex-wrap:wrap;gap:8px 20px;align-items:center}.role-entry>aside .row-number{margin:0 0 0 auto}.role-entry h2{font-size:1.55rem}.community-grid{grid-template-columns:1fr;gap:14px}.about-story{grid-template-columns:1fr;gap:26px;padding-top:0}.education-panel{padding:24px}.music-section{grid-template-columns:1fr;gap:10px;padding:34px 0}.piano-wrap{width:min(350px,100%);margin:auto}.reading-note{padding:24px;gap:20px}.toolkit-grid{grid-template-columns:1fr;gap:21px}.toolkit-grid h3{margin-bottom:7px}footer{margin-top:45px;padding-bottom:130px;gap:15px;flex-wrap:wrap}footer>.external{font-size:.66rem}.nav-dock{bottom:max(13px,env(safe-area-inset-bottom));padding:5px;gap:0;border-radius:14px;width:min(430px,calc(100% - 22px));justify-content:space-between}.nav-dock a{flex:1;justify-content:center;flex-direction:column;gap:6px;padding:10px 6px;font-size:.6rem;border-radius:9px}.nav-active{border-radius:9px}.nav-dock a>svg{width:18px;height:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.paper-sheet,.trade-window,.resume-paper,.piano{transform:none!important}}
