@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght,SOFT@9..144,500..700,0..100&display=swap";*{box-sizing:border-box}html{scroll-behavior:smooth;background:#11110f}body{margin:0;color:#e9e6dc;background:#11110f;font-family:DM Sans,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}.page-shell.svelte-1n46o8q{overflow:hidden;background:radial-gradient(circle at 89% 1%,rgba(248,112,66,.08),transparent 22rem),#11110f}header.svelte-1n46o8q{height:76px;position:fixed;top:0;left:0;right:0;z-index:10;padding:0 5.25vw;display:flex;align-items:center;justify-content:space-between;transition:background .25s,border-color .25s;border-bottom:1px solid transparent}header.compact.svelte-1n46o8q{background:#11110feb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-color:#e9e6dc1f}.brand.svelte-1n46o8q{display:flex;align-items:center;gap:10px;font-size:.92rem;font-weight:600;letter-spacing:-.02em}.brand-mark.svelte-1n46o8q{display:grid;place-items:center;width:27px;height:27px;background:#f08b5e;color:#151310;font:500 .62rem DM Mono,monospace;letter-spacing:-.09em}nav.svelte-1n46o8q{display:flex;gap:29px;align-items:center;color:#cbc6b9;font-size:.8rem}nav.svelte-1n46o8q>a:where(.svelte-1n46o8q):not(.nav-cta){transition:color .2s}nav.svelte-1n46o8q>a:where(.svelte-1n46o8q):not(.nav-cta):hover{color:#fff}.nav-cta.svelte-1n46o8q{margin-left:8px;padding:9px 13px;background:#e8e4d9;color:#181713;font-weight:600}.nav-cta.svelte-1n46o8q span:where(.svelte-1n46o8q){color:#dd5f36;margin-left:7px}.menu-button.svelte-1n46o8q{display:none;border:0;background:none;color:inherit;padding:7px}.menu-button.svelte-1n46o8q span:where(.svelte-1n46o8q){display:block;width:21px;height:1px;background:currentColor;margin:5px;transition:transform .2s}.section-boundary.svelte-1n46o8q{padding-left:5.25vw;padding-right:5.25vw;border-bottom:1px solid rgba(233,230,220,.14)}.hero.svelte-1n46o8q{min-height:100svh;padding-top:161px;display:flex;flex-direction:column;justify-content:space-between}.eyebrow.svelte-1n46o8q,.kicker.svelte-1n46o8q{font:500 .66rem DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:#aca79b}.eyebrow.svelte-1n46o8q{display:flex;align-items:center;gap:9px}.pulse.svelte-1n46o8q{width:7px;height:7px;border-radius:50%;background:#f08b5e;box-shadow:0 0 0 4px #f08b5e1f;animation:svelte-1n46o8q-pulse 2.4s infinite}.hero-grid.svelte-1n46o8q{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:7vw;align-items:end;margin:8vh 0 9vh}.kicker.svelte-1n46o8q{margin:0 0 18px;color:#e2865e}h1.svelte-1n46o8q,h2.svelte-1n46o8q,h3.svelte-1n46o8q,p.svelte-1n46o8q{margin-top:0}h1.svelte-1n46o8q{color:#f4f1e9;margin-bottom:0;font-size:clamp(3.6rem,8.2vw,8.5rem);line-height:.9;letter-spacing:-.072em;font-weight:600}h1.svelte-1n46o8q em:where(.svelte-1n46o8q),h2.svelte-1n46o8q em:where(.svelte-1n46o8q){font-family:Fraunces,Georgia,serif;font-weight:500;color:#f18c61;letter-spacing:-.07em}.hero-aside.svelte-1n46o8q{max-width:420px;padding-bottom:8px}.hero-aside.svelte-1n46o8q p:where(.svelte-1n46o8q){color:#c5c0b5;font-size:clamp(1.02rem,1.6vw,1.25rem);line-height:1.55;letter-spacing:-.025em}.hero-actions.svelte-1n46o8q{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.arrow-link.svelte-1n46o8q{display:inline-flex;margin-top:21px;gap:12px;padding-bottom:5px;border-bottom:1px solid #e8e4d9;font:500 .72rem DM Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.arrow-link.svelte-1n46o8q span:where(.svelte-1n46o8q){color:#f18c61}.resume-link.svelte-1n46o8q{margin-top:21px;color:#b9b3a7;font:500 .68rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.04em;transition:color .2s}.resume-link.svelte-1n46o8q:hover{color:#f18c61}.signal-line.svelte-1n46o8q{height:51px;border-top:1px solid rgba(233,230,220,.2);position:relative}.signal-line.svelte-1n46o8q span:where(.svelte-1n46o8q){position:absolute;height:1px;width:26%;top:-1px;left:0;background:#f18c61}.signal-line.svelte-1n46o8q i:where(.svelte-1n46o8q),.signal-line.svelte-1n46o8q b:where(.svelte-1n46o8q){position:absolute;top:-5px;width:9px;height:9px;border-radius:50%;background:#f18c61}.signal-line.svelte-1n46o8q i:where(.svelte-1n46o8q){left:26%}.signal-line.svelte-1n46o8q b:where(.svelte-1n46o8q){right:0;background:#e8e4d9}.experience.svelte-1n46o8q,.project-section.svelte-1n46o8q,.about.svelte-1n46o8q,.capabilities.svelte-1n46o8q,.credentials.svelte-1n46o8q{padding-top:clamp(75px,10vw,150px);padding-bottom:clamp(75px,10vw,150px)}.section-heading.svelte-1n46o8q{display:flex;justify-content:space-between;gap:30px;margin-bottom:clamp(45px,7vw,100px)}.section-heading.svelte-1n46o8q .eyebrow:where(.svelte-1n46o8q){align-self:flex-start;padding-top:14px}.section-heading.svelte-1n46o8q h2:where(.svelte-1n46o8q){margin:0;color:#f0ede5;font-size:clamp(2.4rem,5.1vw,5.6rem);line-height:.93;letter-spacing:-.062em;font-weight:600}.role.svelte-1n46o8q{display:grid;grid-template-columns:22% 1fr;padding:25px 0 43px;border-top:1px solid rgba(233,230,220,.25)}.role-meta.svelte-1n46o8q{display:flex;flex-direction:column;gap:5px;color:#aaa497;font:.67rem DM Mono,monospace;letter-spacing:.06em}.role-body.svelte-1n46o8q{max-width:800px}.role-company.svelte-1n46o8q{margin-bottom:7px;color:#f08b5e;font:500 .68rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.role.svelte-1n46o8q h3:where(.svelte-1n46o8q){margin-bottom:21px;font-size:clamp(1.75rem,3.2vw,3.65rem);line-height:.95;letter-spacing:-.055em;font-weight:600;color:#f0ede5}.role-body.svelte-1n46o8q>p:where(.svelte-1n46o8q):not(.role-company){max-width:760px;color:#b7b2a7;font-size:1rem}.role-notes.svelte-1n46o8q{display:flex;gap:25px;margin-top:25px;color:#ece7db;font:.67rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.role-secondary.svelte-1n46o8q{padding-bottom:0}.role-secondary.svelte-1n46o8q h3:where(.svelte-1n46o8q){font-size:clamp(1.4rem,2.5vw,2.6rem)}.role-secondary.svelte-1n46o8q .role-body:where(.svelte-1n46o8q)>p:where(.svelte-1n46o8q):not(.role-company){max-width:620px}.project-heading.svelte-1n46o8q>p:where(.svelte-1n46o8q){max-width:270px;color:#b7b2a7;font-size:.92rem;align-self:end}.projects.svelte-1n46o8q{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(233,230,220,.17);border-left:1px solid rgba(233,230,220,.17)}.project-card.svelte-1n46o8q{min-height:580px;display:flex;flex-direction:column;padding:22px;border-right:1px solid rgba(233,230,220,.17);border-bottom:1px solid rgba(233,230,220,.17);position:relative;overflow:hidden;transition:background .25s}.project-card.svelte-1n46o8q:hover{background:#171714}.project-top.svelte-1n46o8q{display:flex;justify-content:space-between;color:#9f9b90;font:.61rem DM Mono,monospace;letter-spacing:.07em;text-transform:uppercase}.project-diagram.svelte-1n46o8q{height:200px;margin:28px 0 17px;position:relative;border:1px solid rgba(233,230,220,.18);background:linear-gradient(90deg,transparent 49.8%,rgba(233,230,220,.12) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(233,230,220,.12) 50%,transparent 50.2%);background-size:30px 30px}.diagram-label.svelte-1n46o8q{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#f5f1e8;font:500 1.5rem DM Mono,monospace;letter-spacing:-.1em}.node.svelte-1n46o8q{position:absolute;width:9px;height:9px;background:#f08b5e}.node-a.svelte-1n46o8q{left:19%;top:25%}.node-b.svelte-1n46o8q{right:16%;bottom:21%}.node-c.svelte-1n46o8q{left:30%;bottom:18%}.project-diagram.svelte-1n46o8q i:where(.svelte-1n46o8q),.project-diagram.svelte-1n46o8q b:where(.svelte-1n46o8q){height:1px;background:#f08b5ebf;position:absolute;transform-origin:left center}.project-diagram.svelte-1n46o8q i:where(.svelte-1n46o8q){left:20%;top:28%;width:41%;transform:rotate(26deg)}.project-diagram.svelte-1n46o8q b:where(.svelte-1n46o8q){left:31%;bottom:21%;width:41%;transform:rotate(-10deg)}.coral.svelte-1n46o8q .node:where(.svelte-1n46o8q),.coral.svelte-1n46o8q .project-diagram:where(.svelte-1n46o8q) i:where(.svelte-1n46o8q),.coral.svelte-1n46o8q .project-diagram:where(.svelte-1n46o8q) b:where(.svelte-1n46o8q){background:#ee6c75}.lime.svelte-1n46o8q .node:where(.svelte-1n46o8q),.lime.svelte-1n46o8q .project-diagram:where(.svelte-1n46o8q) i:where(.svelte-1n46o8q),.lime.svelte-1n46o8q .project-diagram:where(.svelte-1n46o8q) b:where(.svelte-1n46o8q){background:#aabf65}.blue.svelte-1n46o8q .node:where(.svelte-1n46o8q),.blue.svelte-1n46o8q .project-diagram:where(.svelte-1n46o8q) i:where(.svelte-1n46o8q),.blue.svelte-1n46o8q .project-diagram:where(.svelte-1n46o8q) b:where(.svelte-1n46o8q){background:#8ba8dd}.project-copy.svelte-1n46o8q h3:where(.svelte-1n46o8q){margin-bottom:10px;font-size:clamp(1.5rem,2.4vw,2.35rem);letter-spacing:-.05em;line-height:1;font-weight:600;color:#f0ede5}.project-copy.svelte-1n46o8q p:where(.svelte-1n46o8q){margin-bottom:20px;max-width:490px;color:#b7b2a7;font-size:.91rem;line-height:1.55}.project-bottom.svelte-1n46o8q{margin-top:auto;display:flex;justify-content:space-between;gap:15px;align-items:end}.tags.svelte-1n46o8q{display:flex;flex-wrap:wrap;gap:5px}.tags.svelte-1n46o8q span:where(.svelte-1n46o8q){padding:4px 6px;border:1px solid rgba(233,230,220,.2);color:#bbb5a9;font:.58rem DM Mono,monospace}.project-links.svelte-1n46o8q{display:flex;flex-direction:column;align-items:end;gap:5px;color:#f0ede5;font:.64rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.project-links.svelte-1n46o8q a:where(.svelte-1n46o8q):hover{color:#f08b5e}.outcomes.svelte-1n46o8q{display:flex;gap:14px;position:absolute;left:22px;bottom:169px;color:#f08b5e;font:.58rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.outcomes.svelte-1n46o8q span:where(.svelte-1n46o8q)+span:where(.svelte-1n46o8q):before{content:"//";color:#777267;margin-right:14px}.about.svelte-1n46o8q{background:#e9e5db;color:#171611}.about.svelte-1n46o8q .eyebrow:where(.svelte-1n46o8q){color:#6d685e}.about-statement.svelte-1n46o8q h2:where(.svelte-1n46o8q){margin:25px 0 0;font-size:clamp(2.7rem,5.8vw,6.2rem);line-height:.92;letter-spacing:-.065em;font-weight:600}.about.svelte-1n46o8q h2:where(.svelte-1n46o8q) em:where(.svelte-1n46o8q){color:#be4d34}.about-grid.svelte-1n46o8q{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:clamp(65px,10vw,145px)}.lead.svelte-1n46o8q{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.32;letter-spacing:-.04em;max-width:560px}.principles.svelte-1n46o8q>div:where(.svelte-1n46o8q){display:grid;grid-template-columns:60px 1fr;gap:20px;border-top:1px solid #b4b0a7;padding:13px 0 23px}.principles.svelte-1n46o8q span:where(.svelte-1n46o8q){font:.66rem DM Mono,monospace;color:#807a70}.principles.svelte-1n46o8q p:where(.svelte-1n46o8q){margin:0;font-size:1rem;line-height:1.4}.skill-list.svelte-1n46o8q{border-top:1px solid rgba(233,230,220,.25)}.skill-row.svelte-1n46o8q{display:grid;grid-template-columns:9% 30% 1fr;gap:15px;align-items:baseline;padding:24px 0;border-bottom:1px solid rgba(233,230,220,.16)}.skill-row.svelte-1n46o8q>span:where(.svelte-1n46o8q){color:#e28a65;font:.65rem DM Mono,monospace}.skill-row.svelte-1n46o8q h3:where(.svelte-1n46o8q){margin:0;color:#f0ede5;font-size:clamp(1.1rem,1.8vw,1.5rem);letter-spacing:-.03em}.skill-row.svelte-1n46o8q p:where(.svelte-1n46o8q){margin:0;color:#aca79b;font-size:.9rem}.credential-grid.svelte-1n46o8q{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(233,230,220,.23)}.credential-grid.svelte-1n46o8q article:where(.svelte-1n46o8q){min-height:250px;padding:22px;border-right:1px solid rgba(233,230,220,.18)}.credential-grid.svelte-1n46o8q article:where(.svelte-1n46o8q):first-child{padding-left:0}.credential-grid.svelte-1n46o8q article:where(.svelte-1n46o8q):last-child{border:0}.credential-number.svelte-1n46o8q{margin:0 0 43px;color:#f18c61;font:500 clamp(1.45rem,2vw,2rem) "DM Mono",monospace;letter-spacing:-.1em}.credential-grid.svelte-1n46o8q h3:where(.svelte-1n46o8q){margin-bottom:8px;color:#f0ede5;font-size:1.1rem;letter-spacing:-.03em}.credential-grid.svelte-1n46o8q article:where(.svelte-1n46o8q)>p:where(.svelte-1n46o8q):not(.credential-number){color:#a9a497;font-size:.86rem}.credential-grid.svelte-1n46o8q a:where(.svelte-1n46o8q){display:inline-block;margin-top:15px;color:#ece7db;font:.65rem DM Mono,monospace;text-transform:uppercase;border-bottom:1px solid #ece7db}.open-source.svelte-1n46o8q{margin-top:20px!important;color:#e28a65!important;font:.61rem DM Mono,monospace!important;text-transform:uppercase;letter-spacing:.035em}.contact.svelte-1n46o8q{min-height:660px;padding:clamp(75px,10vw,130px) 5.25vw 35px;display:flex;flex-direction:column;background:#f08b5e;color:#17130f}.contact.svelte-1n46o8q .eyebrow:where(.svelte-1n46o8q){color:#5e2b21}.contact.svelte-1n46o8q h2:where(.svelte-1n46o8q){margin:30px 0 20px;font-size:clamp(2.9rem,6.5vw,7.4rem);font-weight:600;letter-spacing:-.07em;line-height:.88}.email-link.svelte-1n46o8q{font:500 clamp(1rem,2vw,1.65rem) "DM Mono",monospace;letter-spacing:-.065em;border-bottom:1px solid #17130f;align-self:flex-start;padding-bottom:5px}.email-link.svelte-1n46o8q span:where(.svelte-1n46o8q){margin-left:10px}.contact-footer.svelte-1n46o8q{margin-top:auto;padding-top:50px;display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(23,19,15,.3);font-size:.78rem}.contact-footer.svelte-1n46o8q p:where(.svelte-1n46o8q){max-width:310px;margin:0}.contact-footer.svelte-1n46o8q div:where(.svelte-1n46o8q){display:flex;gap:18px;font:.66rem DM Mono,monospace;text-transform:uppercase}.contact-footer.svelte-1n46o8q a:where(.svelte-1n46o8q):hover{text-decoration:underline}@keyframes svelte-1n46o8q-pulse{50%{box-shadow:0 0 0 7px #f08b5e00}}@media(prefers-reduced-motion:no-preference){.project-card.svelte-1n46o8q{animation:svelte-1n46o8q-fade-in .5s both}.project-card.svelte-1n46o8q:nth-child(2){animation-delay:.08s}.project-card.svelte-1n46o8q:nth-child(3){animation-delay:.16s}.project-card.svelte-1n46o8q:nth-child(4){animation-delay:.24s}@keyframes svelte-1n46o8q-fade-in{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:720px){header.svelte-1n46o8q{height:65px;padding:0 6vw}.menu-button.svelte-1n46o8q{display:block;z-index:2}nav.svelte-1n46o8q{display:none;position:absolute;left:0;right:0;top:0;padding:86px 6vw 24px;background:#151512;border-bottom:1px solid rgba(233,230,220,.18);flex-direction:column;align-items:flex-start;gap:22px;font-size:1rem}nav.open.svelte-1n46o8q{display:flex}.nav-cta.svelte-1n46o8q{margin:0;font-size:.73rem}.section-boundary.svelte-1n46o8q{padding-left:6vw;padding-right:6vw}.hero.svelte-1n46o8q{padding-top:115px}.hero-grid.svelte-1n46o8q{grid-template-columns:1fr;margin:52px 0 70px;gap:39px}.hero-aside.svelte-1n46o8q{max-width:520px}.section-heading.svelte-1n46o8q{display:block}.section-heading.svelte-1n46o8q .eyebrow:where(.svelte-1n46o8q){padding:0;margin-bottom:26px}.role.svelte-1n46o8q{grid-template-columns:1fr;gap:19px;padding-bottom:35px}.role-meta.svelte-1n46o8q{flex-direction:row;justify-content:space-between}.role-notes.svelte-1n46o8q{flex-wrap:wrap;gap:10px 21px}.projects.svelte-1n46o8q{grid-template-columns:1fr}.project-card.svelte-1n46o8q{min-height:535px}.project-heading.svelte-1n46o8q>p:where(.svelte-1n46o8q){margin-top:25px}.about-grid.svelte-1n46o8q{grid-template-columns:1fr;gap:45px}.credential-grid.svelte-1n46o8q{grid-template-columns:1fr}.credential-grid.svelte-1n46o8q article:where(.svelte-1n46o8q),.credential-grid.svelte-1n46o8q article:where(.svelte-1n46o8q):first-child{min-height:auto;padding:23px 0;border-right:0;border-bottom:1px solid rgba(233,230,220,.18)}.credential-grid.svelte-1n46o8q article:where(.svelte-1n46o8q):last-child{border-bottom:0}.credential-number.svelte-1n46o8q{margin-bottom:25px}.skill-row.svelte-1n46o8q{grid-template-columns:40px 1fr;gap:8px 10px}.skill-row.svelte-1n46o8q p:where(.svelte-1n46o8q){grid-column:2}.contact.svelte-1n46o8q{min-height:580px;padding-left:6vw;padding-right:6vw}.contact-footer.svelte-1n46o8q{display:block}.contact-footer.svelte-1n46o8q div:where(.svelte-1n46o8q){margin-top:22px;flex-wrap:wrap}.outcomes.svelte-1n46o8q{bottom:155px}.signal-line.svelte-1n46o8q{height:40px}}@media(max-width:400px){h1.svelte-1n46o8q{font-size:3.25rem}.project-card.svelte-1n46o8q{padding:17px}.outcomes.svelte-1n46o8q{left:17px}.contact-footer.svelte-1n46o8q div:where(.svelte-1n46o8q){gap:11px}.brand.svelte-1n46o8q{font-size:.82rem}}
