*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border:0}html,body{min-height:100%}:root{--paper: #e8e6e1;--ink: #141210;--ink-soft: #4a4641;--ink-faint: #8a857d;--rule: rgba(20, 18, 16, .14);--rule-strong: rgba(20, 18, 16, .28)}body{background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}.shell{position:relative;min-height:100vh}.curtain{position:fixed;inset:0;background:#fff;mix-blend-mode:difference;pointer-events:none;transform:scaleX(0);transform-origin:0 50%;transition:transform .42s cubic-bezier(.65,0,.1,1);z-index:150}.toggle:checked~.curtain{transform:scaleX(1)}.sr{position:absolute;width:1px;height:1px;clip:rect(1px,1px,1px,1px);overflow:hidden}.toggle{-webkit-appearance:none;appearance:none;position:absolute;top:22px;right:24px;width:40px;height:22px;border-radius:999px;cursor:pointer;background:transparent;border:1px solid var(--rule-strong);z-index:100;transition:border-color .2s ease;-webkit-tap-highlight-color:transparent}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--ink);transition:transform .28s cubic-bezier(.4,0,.2,1)}.toggle:checked:after{transform:translate(18px)}.toggle:focus-visible{outline:2px solid var(--ink);outline-offset:3px}main{max-width:680px;margin:0 auto;padding:clamp(56px,10vh,96px) 32px clamp(72px,10vh,120px)}header{margin-bottom:40px}.header-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:24px}.wordmark{font-family:EB Garamond,Georgia,serif;font-weight:400;font-size:clamp(32px,5vw,44px);line-height:1;letter-spacing:-.015em}.signature{width:104px;height:auto;opacity:.92;transform:translateY(18px) rotate(-2deg);transform-origin:bottom right}header hr{border-top:1px solid var(--rule);width:100%}section{margin-bottom:40px}section:last-of-type{margin-bottom:0}h2{font-family:Inter,sans-serif;font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:lowercase;color:var(--ink-faint);margin-bottom:20px}.about p{font-size:14px;line-height:1.7;margin-bottom:10px;color:var(--ink);max-width:56ch}.projects{border-top:1px solid var(--rule)}.project{padding:22px 0;border-bottom:1px solid var(--rule)}.project .title{font-family:EB Garamond,Georgia,serif;font-size:22px;font-weight:500;letter-spacing:-.005em;line-height:1.2;margin-bottom:4px}.project .title a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}.project .title a:hover{border-bottom-color:var(--ink)}.project .tagline{font-size:14px;color:var(--ink-soft);line-height:1.55;margin-bottom:10px;max-width:52ch}.project .project-notes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.project .project-notes li{font-size:14px;line-height:1.55;color:var(--ink-soft);max-width:56ch;padding-left:14px;position:relative}.project .project-notes li:before{content:"";position:absolute;left:0;top:.72em;width:6px;height:1px;background:var(--ink-faint)}.links-section{margin-bottom:0}.links-icons{display:flex;gap:22px;align-items:center;justify-content:center}.links-icons a{color:var(--ink);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;transition:color .15s ease,background .15s ease}.links-icons a:hover{color:var(--ink);background:var(--rule)}.links-icons svg{display:block}.colophon{margin-top:32px;padding-top:20px;border-top:1px solid var(--rule);display:flex;justify-content:center;gap:20px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:lowercase;color:var(--ink-faint)}.colophon .heart{display:inline-block;vertical-align:-1px;margin-left:2px;color:var(--ink-faint)}.colophon a{color:inherit;border-bottom:1px solid var(--rule);padding-bottom:1px;transition:border-color .15s ease,color .15s ease}.colophon a:hover{color:var(--ink);border-bottom-color:var(--ink)}@media(max-width:560px){main{padding:72px 22px 80px}header{margin-bottom:56px}.header-row{gap:16px}.signature{width:72px}.links-icons{gap:18px}.colophon{flex-direction:column;gap:8px}}
