@font-face{font-family:Instrument;src:url('assets/instrument-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/instrument-sans-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/instrument-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{color-scheme:light;--paper:#eff0e6;--surface:#fafbf5;--ink:#24372c;--text:#26382e;--secondary:#526354;--muted:#626d5c;--line:#c5ccba;--accent:#d3de9b;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.5 Instrument,Arial,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.1}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:#566918}a,button,summary{touch-action:manipulation;transition:color 160ms var(--ease),background-color 160ms var(--ease),border-color 160ms var(--ease)}a:focus-visible,summary:focus-visible,button:focus-visible,iframe:focus-visible{outline:3px solid #5b7020;outline-offset:4px}img{max-width:100%;display:block}.mono,.file-number{font:400 12px/1.5 'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-variant-numeric:tabular-nums;color:var(--muted)}.skip{position:absolute;top:-80px;left:16px;background:var(--ink);color:white;padding:12px 20px;z-index:10}.skip:focus{top:12px}.topbar{display:flex;align-items:center;gap:48px;padding:12px 32px;min-height:64px;background:var(--surface);border-bottom:1px solid var(--ink)}.brand{display:flex;gap:12px;align-items:center;font-size:16px;text-decoration:none;font-weight:500}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--accent);border:1px solid var(--ink);border-radius:4px;font:24px/1 Georgia,serif;letter-spacing:-2px;padding-right:2px}.topbar nav{display:flex;gap:28px;font-size:14px}.topbar nav a{display:inline-flex;align-items:center;min-height:40px;text-decoration:none}.top-location{margin-left:auto}.top-location span{margin-left:16px}.desktop{max-width:1280px;margin:auto;padding:48px 48px 0}.intro{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:40px}.intro-path{margin-bottom:20px}.intro h1{font-size:clamp(56px,6.5vw,88px);letter-spacing:-.05em;line-height:1;font-weight:500}.title-period{color:#728439}.intro-copy{font-size:18px;line-height:1.4;padding-bottom:4px;max-width:300px}.workspace{display:grid;grid-template-columns:248px 1fr;gap:64px;align-items:start}.desktop-sidebar{padding-top:12px}.shortcuts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 16px}.shortcut{display:flex;align-items:center;flex-direction:column;gap:8px;padding:8px 4px;text-decoration:none;font-size:13px;min-height:100px;border-radius:4px}.desk-icon{width:56px;height:56px;display:block;color:var(--ink)}.shortcut span{padding:2px 6px}.shortcut:hover span,.shortcut:focus-visible span{background:var(--ink);color:var(--surface)}.shortcut:hover{background:#e2e7d4}.desk-note{background:#e5eab8;border:1px solid #bdc88e;padding:24px;margin:32px 4px 0;position:relative;transform:rotate(-2deg)}.note-pin{position:absolute;width:8px;height:8px;border-radius:50%;border:1px solid var(--ink);background:var(--surface);top:8px;left:calc(50% - 4px)}.desk-note>p:not(.mono){font-size:16px;line-height:1.5;margin-top:12px}.desk-note a{display:inline-block;font-size:13px;margin-top:16px;min-height:32px}.window{border:1px solid var(--ink);border-radius:8px;background:var(--surface);overflow:hidden;box-shadow:4px 4px 0 #c7cdbb}.window-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:8px 16px;background:#e0e5d6;border-bottom:1px solid var(--ink);font-size:13px}.window-bar>span:first-child{display:flex;align-items:center;gap:8px;font-weight:500}.window-bar .desk-icon{width:24px;height:24px}.window-bar a{min-height:28px;display:inline-flex;align-items:center;font-size:12px;text-decoration:none}.screen{position:relative;aspect-ratio:16/9;background:#111b15;overflow:hidden}.screen iframe{width:100%;height:100%;display:block;border:0}.poster{position:relative;display:block;height:100%}.poster[hidden]{display:none}.poster img{width:100%;height:100%;object-fit:cover}.play-label{position:absolute;bottom:20px;left:20px;padding:12px 16px;display:flex;gap:12px;align-items:center;min-height:44px;background:var(--surface);color:var(--ink);border:1px solid var(--ink);border-radius:4px;font-size:14px}.poster:hover .play-label{background:var(--accent)}.featured figcaption{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px}.featured h2{font-size:28px;letter-spacing:-.025em;margin-top:8px}.credit{font-size:13px;color:var(--secondary)}.window-status{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;background:#f0f2e8;border-top:1px solid var(--line);font-size:12px}.window-status a{text-decoration:none}.work-divider{margin-block:48px 64px;display:flex;align-items:center;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px}.work-divider>p:nth-child(2){font-size:16px}.work-divider>p:nth-child(2) span{color:#818c78;margin-inline:16px}.work-divider>a{margin-left:auto;text-decoration:none}.work-window{margin-bottom:64px;scroll-margin-top:32px}.folder-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;padding:32px}.folder-heading h2{font-size:36px;letter-spacing:-.035em;margin-top:12px}.folder-heading>p{font-size:14px;color:var(--secondary)}.column-labels,.project-details>summary{display:grid;grid-template-columns:40px 1fr 240px 24px;gap:20px}.column-labels{padding:12px 32px;background:#f0f2e8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project{border-bottom:1px solid var(--line)}.project:last-child{border-bottom:0}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.project-details>summary{align-items:center;min-height:88px;padding:24px 32px}.project-details>summary:hover{background:#e9eed9}.project-name{font-size:20px;line-height:1.3;max-width:600px}.project-client{font-size:12px;color:var(--secondary);line-height:1.5}.plus{font-size:24px;line-height:1;text-align:right;transition:transform 160ms var(--ease)}.project-details[open]>summary .plus{transform:rotate(45deg)}.project-details[open]>summary{background:#e9eed9}.project-content{padding:0 32px 28px 92px}.project-content .screen{max-width:840px;border:1px solid var(--ink)}.project-caption{display:flex;justify-content:space-between;gap:32px;align-items:start;padding-top:20px}.project-caption p{font-size:14px;color:var(--secondary);max-width:560px}.project-caption p:empty{display:none}.project-caption .credit{margin-top:8px;font-size:13px}.project-caption a{flex-shrink:0;font-size:13px;min-height:32px}.subfolder{padding:16px 32px;background:#f0f2e8;border-bottom:1px solid var(--line)}.more-work>summary{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;font-size:13px;min-height:64px}.more-work>summary:hover{background:#e9eed9}.more-work>summary span{font-size:24px}.more-work[open]>summary{border-bottom:1px solid var(--line)}.personal-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;margin-bottom:64px;align-items:start}.about-body{padding:32px}.about-body h2{font-size:36px;letter-spacing:-.035em}.about-body p{margin-top:24px;color:var(--secondary)}.about-body .large{font-size:24px;line-height:1.35;color:var(--ink)}.tools{border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.tools h3{font-size:16px}.tools p{font-size:14px;margin-top:12px}.education{font-size:14px}.resume-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px}.resume-links a{font-size:13px;display:inline-flex;gap:8px;align-items:center;min-height:44px}.experience ol{list-style:none;margin:0;padding:8px 24px}.experience li{padding:20px 0}.experience li+li{border-top:1px solid var(--line)}.experience h3{font-size:18px;line-height:1.3;margin-top:8px}.experience li p{font-size:13px;color:var(--secondary);margin-top:8px}.music-note{display:flex;align-items:center;gap:24px;margin-top:32px;padding:24px;border:1px solid var(--ink);background:#dce5c5;border-radius:8px}.music-note>.desk-icon{width:72px;height:72px;flex-shrink:0}.music-note h2{font-size:28px;letter-spacing:-.025em;margin-top:8px}.music-note p:not(.mono){font-size:14px;margin-top:8px}.music-note a{font-size:13px;display:inline-flex;align-items:center;min-height:44px;margin-top:8px}.contact-body{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:40px 32px}.contact h2{font-size:48px;letter-spacing:-.04em}.contact-body>div>p{font-size:13px;color:var(--secondary);margin-top:20px}.contact-links{display:flex;flex-direction:column;align-items:start;gap:16px}.contact-links a{font-size:14px;min-height:32px}.contact-links .email{font-size:22px;letter-spacing:-.01em}.contact-links p.mono{margin-top:8px;font-size:12px}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;padding-block:24px;font-size:12px;color:var(--muted)}footer a{min-height:40px;display:flex;align-items:center;text-decoration:none}
@media(max-width:1100px){.desktop{padding-inline:32px}.workspace{grid-template-columns:216px 1fr;gap:40px}.intro h1{font-size:72px}.intro-copy{font-size:16px}.desk-note{padding:24px 16px}.work-divider{gap:24px}.work-divider>p:nth-child(2) span{margin-inline:8px}.work-divider>a{display:none}.column-labels,.project-details>summary{grid-template-columns:32px 1fr 180px 20px;gap:16px}.project-content{padding-left:80px}.project-name{font-size:18px}.personal-grid{gap:24px}.about-body{padding:24px}.contact-links .email{font-size:18px}.contact h2{font-size:40px}.music-note{padding:20px;gap:16px}.music-note>.desk-icon{width:56px;height:56px}}
@media(max-width:760px){.topbar{padding:8px 20px;gap:24px;min-height:64px;justify-content:space-between}.topbar nav{gap:20px;font-size:13px}.brand{font-size:14px;gap:8px}.brand-mark{width:28px;height:28px;font-size:22px}.top-location{display:none}.desktop{padding:32px 20px 0}.intro{display:block;margin-bottom:32px}.intro-path{font-size:11px;margin-bottom:16px}.intro h1{font-size:clamp(48px,11.5vw,76px)}.intro-copy{font-size:18px;margin-top:24px;max-width:360px}.workspace{grid-template-columns:1fr;gap:28px}.desktop-sidebar{padding:0}.shortcuts{grid-template-columns:repeat(3,1fr);gap:16px 8px}.shortcut{font-size:13px;min-height:100px;padding:4px}.desk-icon{width:48px;height:48px}.desk-note{display:none}.featured figcaption{padding:20px 16px;gap:16px}.featured h2{font-size:26px}.featured figcaption .mono{font-size:11px}.featured .credit{font-size:12px}.play-label{bottom:12px;left:12px;font-size:13px;padding:8px 12px;min-height:40px}.window-bar{padding:8px 12px;gap:12px}.window-bar>span:first-child{font-size:12px}.window-bar .mono{font-size:11px}.window-status{padding:12px;font-size:11px}.window-status .mono{font-size:11px}.work-divider{display:block;margin-block:32px 40px;padding-block:20px}.work-divider>p:nth-child(2){font-size:14px;margin-top:12px}.work-divider>p:nth-child(2) span{margin-inline:8px}.work-window{margin-bottom:40px}.folder-heading{display:block;padding:24px 20px}.folder-heading h2{font-size:30px;line-height:1.08}.folder-heading>p{margin-top:16px;font-size:14px}.column-labels{display:none}.project-details>summary{grid-template-columns:24px 1fr 20px;gap:8px 12px;padding:20px 16px;min-height:112px}.project-name{font-size:18px;grid-column:2;grid-row:1}.file-number{grid-column:1;grid-row:1;align-self:start;margin-top:4px;font-size:11px}.project-client{grid-column:2;grid-row:2;font-size:11px}.plus{grid-column:3;grid-row:1}.project-content{padding:0 16px 24px}.project-caption{display:block;padding-top:16px}.project-caption a{display:inline-flex;align-items:center;margin-top:12px;min-height:44px}.project-caption p{font-size:13px}.subfolder{padding:16px;font-size:11px}.more-work>summary{padding:16px;font-size:13px}.personal-grid{grid-template-columns:1fr;gap:32px;margin-bottom:40px}.about-body{padding:24px 20px}.about-body h2{font-size:32px}.about-body .large{font-size:22px}.about-body p{font-size:15px}.about-body .education,.tools p{font-size:13px}.experience ol{padding-inline:20px}.music-note{margin-top:32px;padding:24px 20px;gap:20px}.music-note>.desk-icon{width:64px;height:64px}.music-note h2{font-size:26px}.contact-body{display:block;padding:28px 20px}.contact h2{font-size:40px}.contact-body>div>p{font-size:13px;line-height:1.5}.contact-links{margin-top:32px;gap:16px}.contact-links .email{font-size:clamp(16px,4.5vw,22px);overflow-wrap:anywhere;max-width:100%}.contact-links a{min-height:44px}.contact-links p.mono{font-size:11px}footer{display:block;margin-top:24px;padding-block:16px}footer p{margin-top:8px}footer a{display:inline-flex;margin-top:8px;min-height:44px}}
@media(max-width:380px){.topbar{gap:16px;padding-inline:16px}.topbar nav{gap:12px}.desktop{padding-inline:16px}.brand{font-size:13px}.window{box-shadow:3px 3px 0 #c7cdbb}.intro h1{font-size:48px}.music-note{gap:16px;padding:20px 16px}.music-note>.desk-icon{width:48px;height:48px}.music-note h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.file-number .desk-icon{width:24px;height:24px}.experience li .role-detail{font-size:13px;line-height:1.5;max-width:360px}
.screen video{display:block;width:100%;height:100%;object-fit:contain}

.intro-copy>span{display:block;text-wrap:balance}
