@import url(https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--paper:#eceef2;--surface:#e2e5ec;--ink:#1e2230;--muted:#656b7a;--line:#ced3dd;--accent:#5854c6;--accent-ink:#f2f4f8;--press:cubic-bezier(0.22,1,0.36,1);--radius-sm:4px;--radius-md:8px;--page-max:1080px;--page-pad:24px}:root[data-theme=dark]{--paper:#17191d;--surface:#1f2228;--ink:#e4e6ea;--muted:#969aa4;--line:#2e323a;--accent:#9c99f0;--accent-ink:#16181c}*,:after,:before{box-sizing:border-box}body,html{background:#eceef2;background:var(--paper)}body{margin:0}.app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eceef2;background:var(--paper);color:#1e2230;color:var(--ink);font-family:Schibsted Grotesk,system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.6;min-height:100vh}h1,h2,h3{font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0}p{margin:0}a{color:inherit}img{display:block;max-width:100%}:focus-visible{border-radius:2px;outline:2px solid #5854c6;outline:2px solid var(--accent);outline-offset:2px}.header{background:#eceef2;background:var(--paper);border-bottom:1px solid #ced3dd;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-inner{align-items:center;display:flex;gap:16px;height:64px;justify-content:space-between;margin:0 auto;max-width:1080px;max-width:var(--page-max);padding:0 24px;padding:0 var(--page-pad)}.wordmark{background:none;border:0;color:#1e2230;color:var(--ink);cursor:pointer;font:inherit;font-size:17px;font-weight:600;letter-spacing:-.01em;padding:0;white-space:nowrap}.nav{align-items:center;display:flex;gap:24px}.nav-link{color:#656b7a;color:var(--muted);font-size:15px;text-decoration:none;transition:color .15s ease}.nav-link:hover{color:#1e2230;color:var(--ink)}.theme-toggle{align-items:center;background:none;border:1px solid #ced3dd;border:1px solid var(--line);border-radius:999px;color:#656b7a;color:var(--muted);cursor:pointer;display:inline-flex;font-size:14px;height:36px;justify-content:center;transition:color .15s ease,border-color .15s ease;width:36px}.theme-toggle:hover{border-color:#1e2230;border-color:var(--ink);color:#1e2230;color:var(--ink)}.main{margin:0 auto;max-width:1080px;max-width:var(--page-max);padding:0 24px;padding:0 var(--page-pad)}.hero{grid-gap:56px;align-items:center;display:grid;gap:56px;grid-template-columns:1fr auto;padding:96px 0 80px}.hero-eyebrow{align-items:center;color:#656b7a;color:var(--muted);display:flex;font-size:16px;gap:10px}.hero-bitmoji{background:#e2e5ec;background:var(--surface);border-radius:999px;height:36px;width:36px}.hero-title{font-size:clamp(38px,5.4vw,64px);font-weight:600;letter-spacing:-.035em;line-height:1.04;margin-top:20px;max-width:15ch}.hero-subtext{color:#656b7a;color:var(--muted);margin-top:20px;max-width:46ch}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-photo img{aspect-ratio:4/5;border-radius:8px;border-radius:var(--radius-md);filter:saturate(.85);object-fit:cover;width:280px}.button{align-items:center;border:1px solid #0000;border-radius:4px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;justify-content:center;padding:11px 20px;text-decoration:none;transition:opacity .15s ease,border-color .15s ease,color .15s ease}.button-solid{background:#5854c6;background:var(--accent);color:#f2f4f8;color:var(--accent-ink)}.button-solid:hover{opacity:.88}.button-outline{border-color:#ced3dd;border-color:var(--line);color:#1e2230;color:var(--ink)}.button-outline:hover{border-color:#1e2230;border-color:var(--ink)}.view-switch{align-items:center;border-top:1px solid #ced3dd;border-top:1px solid var(--line);display:flex;gap:16px;padding:24px 0}.segmented{border:1px solid #ced3dd;border:1px solid var(--line);border-radius:4px;border-radius:var(--radius-sm);display:grid;grid-template-columns:1fr 1fr;padding:3px;position:relative}.segment-indicator{background:#5854c6;background:var(--accent);border-radius:2px;bottom:3px;left:3px;position:absolute;top:3px;width:calc(50% - 3px)}.segmented[data-view=tldr] .segment-indicator{transform:translateX(100%)}.segment{background:none;border:0;border-radius:2px;color:#656b7a;color:var(--muted);cursor:pointer;font:inherit;font-size:14px;font-weight:500;padding:7px 16px;position:relative;transition:color .2s ease;white-space:nowrap;z-index:1}.segment:hover{color:#1e2230;color:var(--ink)}.segment[aria-pressed=true]{color:#f2f4f8;color:var(--accent-ink)}.view-hint{color:#656b7a;color:var(--muted);font-size:14px}.section{grid-gap:32px;border-bottom:1px solid #ced3dd;border-bottom:1px solid var(--line);display:grid;gap:32px;grid-template-columns:180px 1fr;padding:72px 0}.section-label{align-self:start;color:#656b7a;color:var(--muted);font-size:14px;font-weight:500;letter-spacing:.02em;position:-webkit-sticky;position:sticky;top:96px}.about-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(3,1fr)}.about-bitmoji{background:#e2e5ec;background:var(--surface);border-radius:999px;height:56px;width:56px}.about-title{font-size:19px;margin-top:18px}.about-body{color:#656b7a;color:var(--muted);font-size:16px;margin-top:10px}.work-list{list-style:none;margin:0;padding:0}.work-job{border-bottom:1px solid #ced3dd;border-bottom:1px solid var(--line);padding-bottom:32px}.work-job+.work-job{padding-top:32px}.work-job:last-child{border-bottom:0;padding-bottom:0}.work-company-name{align-items:baseline;display:flex;flex-wrap:wrap;font-size:20px;gap:8px;justify-content:space-between}.work-company{color:#5854c6;color:var(--accent);text-decoration:none}.work-company:hover{text-decoration:underline}.work-location{color:#656b7a;color:var(--muted);font-size:14px;font-weight:400}.work-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:165px 1fr;padding-top:20px}.work-dates{font-feature-settings:"tnum";color:#656b7a;color:var(--muted);font-size:15px;font-variant-numeric:tabular-nums}.work-role{font-size:17px;font-weight:600}.work-points{color:#656b7a;color:var(--muted);font-size:16px;margin:10px 0 0;padding-left:18px}.work-points li+li{margin-top:8px}.work-points li::marker,.work-points::marker{color:#ced3dd;color:var(--line)}.project-list{grid-gap:56px;display:grid;gap:56px}.project{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:320px 1fr}.project-frame{background:#e2e5ec;background:var(--surface);border:1px solid #ced3dd;border:1px solid var(--line);border-radius:8px;border-radius:var(--radius-md);display:block;padding:10px}.project-frame img{aspect-ratio:16/10;border-radius:4px;border-radius:var(--radius-sm);object-fit:contain;width:100%}.project-kind{color:#656b7a;color:var(--muted);font-size:14px}.project-name{font-size:24px;margin-top:6px}.project-name a{text-decoration:none}.project-name a:hover{text-decoration:underline}.project-award{color:#5854c6;color:var(--accent);font-size:15px;font-weight:500;margin-top:6px}.project-description{color:#656b7a;color:var(--muted);font-size:16px;margin-top:12px}.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:16px 0 0;padding:0}.tag{border:1px solid #ced3dd;border:1px solid var(--line);border-radius:999px;color:#656b7a;color:var(--muted);font-size:13px;padding:4px 12px}.skills-list{margin:0}.skill-row{grid-gap:24px;border-bottom:1px solid #ced3dd;border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:200px 1fr;padding:18px 0}.skill-row:first-child{padding-top:0}.skill-row:last-child{border-bottom:0;padding-bottom:0}.skill-group{font-size:16px;font-weight:600}.skill-items{color:#656b7a;color:var(--muted);font-size:16px;margin:0}.tldr-grid{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 320px}.tldr-bitmoji{background:#e2e5ec;background:var(--surface);border-radius:999px;height:56px;width:56px}.tldr-paragraph{color:#656b7a;color:var(--muted);margin-top:16px}.tldr-main .button{margin-top:28px}.facts-panel{background:#e2e5ec;background:var(--surface);border:1px solid #ced3dd;border:1px solid var(--line);border-radius:8px;border-radius:var(--radius-md);padding:24px}.facts-title{font-size:17px}.facts-list{color:#656b7a;color:var(--muted);font-size:15px;margin:14px 0 0;padding-left:20px}.facts-list li+li{margin-top:8px}.contact{padding:96px 0}.contact-title{font-size:clamp(30px,4vw,44px);letter-spacing:-.03em}.contact-line{color:#656b7a;color:var(--muted);margin-top:16px}.contact-line a{color:#5854c6;color:var(--accent);text-decoration:none}.contact-line a:hover{text-decoration:underline}.footer{align-items:center;border-top:1px solid #ced3dd;border-top:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1080px;max-width:var(--page-max);padding:28px 24px;padding:28px var(--page-pad)}.back-to-top{background:none;border:0;color:#656b7a;color:var(--muted);cursor:pointer;font:inherit;font-size:14px;padding:0;transition:color .15s ease}.back-to-top:hover{color:#1e2230;color:var(--ink)}.email-action{display:inline-flex;position:relative}.copy-note{color:#5854c6;color:var(--accent);font-size:14px;font-weight:500}.email-action .copy-note{left:0;margin-top:8px;position:absolute;top:100%;white-space:nowrap}.contact-line .copy-note{margin-left:10px}@media (prefers-reduced-motion:no-preference){.reveal{animation:rise .7s ease both}.back-to-top,.button,.segment,.theme-toggle,.wordmark{transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .15s ease,color .15s ease,border-color .15s ease;transition:transform .35s var(--press),opacity .15s ease,color .15s ease,border-color .15s ease}.back-to-top:active,.button:active,.segment:active,.theme-toggle:active,.wordmark:active{transform:scale(.96);transition-duration:.08s}.segment-indicator{transition:transform .34s cubic-bezier(.22,1,.36,1);transition:transform .34s var(--press)}.theme-icon{animation:icon-in .4s cubic-bezier(.22,1,.36,1) both;animation:icon-in .4s var(--press) both;display:inline-flex}.view-panel{animation:panel-in .45s cubic-bezier(.22,1,.36,1) both;animation:panel-in .45s var(--press) both}.copy-note{animation:note-in .28s cubic-bezier(.22,1,.36,1) both;animation:note-in .28s var(--press) both}.contact-line a,.nav-link,.project-name a,.work-company{transition:color .15s ease}@keyframes icon-in{0%{opacity:0;transform:rotate(-35deg) scale(.7)}to{opacity:1;transform:none}}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes note-in{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}.reveal-1{animation-delay:.06s}.reveal-2{animation-delay:.12s}.reveal-3{animation-delay:.18s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}@media (max-width:860px){.hero{gap:32px;grid-template-columns:1fr;padding:56px 0}.hero-photo{order:-1}.hero-photo img{width:180px}.section{gap:20px;grid-template-columns:1fr;padding:56px 0}.section-label{position:static}.about-grid,.project,.tldr-grid{grid-template-columns:1fr}.about-grid{gap:32px}.project{gap:20px}.project-frame{max-width:420px}.contact{padding:64px 0}}@media (max-width:600px){.skill-row,.work-row{gap:6px;grid-template-columns:1fr}.nav{gap:16px}.nav-link-devpost{display:none}.view-switch{flex-wrap:wrap;gap:10px}}@media (max-width:420px){.wordmark{font-size:15px}.nav{gap:12px}.hero-title{font-size:34px}}@media (max-width:380px){:root{--page-pad:16px}.header-inner{gap:8px}.wordmark{font-size:14px}.nav{gap:10px}.nav-link,.theme-toggle{font-size:13px}.theme-toggle{height:32px;width:32px}.segment{padding:7px 10px}.facts-panel{padding:18px}}
/*# sourceMappingURL=main.1984f88b.css.map*/