@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg:#161826;--color-surface:#232532;--color-text:#e9e9ed;--color-accent:#9184d9;--color-divider:#e9e9ed29;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--font-heading:"IBM Plex Mono", ui-monospace, monospace;--font-body:"Inter", system-ui, sans-serif;--space-1:2.8px;--space-2:5.6px;--space-3:8.4px;--space-4:11.2px;--space-6:16.8px;--space-8:22.4px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--wrap:1080px;--pad:clamp(20px, 5vw, 48px);--section-pad:clamp(48px, 7vw, 84px);--nav-height:53px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 5.6px;font-weight:500;line-height:1.12}h6{letter-spacing:.08em;text-transform:uppercase}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-300)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}header[id],section[id],div[id]{scroll-margin-top:calc(var(--nav-height) + 16px)}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--pad);margin:0 auto}.section{padding-block:var(--section-pad)}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-300);margin:0 0 28px;font-size:13px}.section-title--tight{margin-bottom:20px}.section-title:before{content:"//";letter-spacing:-.04em;vertical-align:-.05em;color:var(--color-accent-700);margin-right:.42em;font-size:1.9em;line-height:0;display:inline-block}.hr{background:linear-gradient(to right, transparent, var(--color-divider) 48px, var(--color-divider) calc(100% - 48px), transparent);border:0;height:1px}.hero__rule{width:min(420px,60%);margin:0 0 32px}.nav{z-index:20;background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-divider);position:sticky;top:0}.nav__inner{max-width:var(--wrap);padding:14px var(--pad);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex}.nav__brand{font-family:var(--font-heading);color:var(--color-text);letter-spacing:-.01em;white-space:nowrap;font-size:15px;font-weight:500;text-decoration:none}.nav__brand:hover{color:var(--color-text)}.nav__links{align-items:center;gap:clamp(14px,2.4vw,28px);display:flex}.nav__link{letter-spacing:.02em;color:color-mix(in srgb, var(--color-text) 55%, transparent);padding-block:4px;font-size:13px;text-decoration:none;transition:color .2s;position:relative}.nav__link:hover,.nav__link--active{color:var(--color-text)}.nav__link-bar{background:var(--color-accent);opacity:0;height:1px;transition:opacity .2s;position:absolute;bottom:-1px;left:0;right:0}.nav__link--active .nav__link-bar{opacity:1}.hero{min-height:calc(100vh - var(--nav-height));flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero__content{max-width:var(--wrap);width:100%;padding:clamp(48px, 8vw, 96px) var(--pad);text-align:center;pointer-events:none;flex-direction:column;align-items:center;margin:0 auto;display:flex;position:relative}.hero__name{letter-spacing:-.03em;margin:0 0 18px;font-size:clamp(44px,7.4vw,84px);line-height:1.02}.hero__role{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-300);margin:0 0 32px;font-size:clamp(15px,1.6vw,18px)}.hero__thesis{letter-spacing:-.005em;color:color-mix(in srgb, var(--color-text) 84%, transparent);text-wrap:pretty;max-width:46ch;margin:0 0 40px;font-size:clamp(17px,1.9vw,21px);line-height:1.5}.hero__buttons{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero__scroll{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 55%, transparent);align-items:center;gap:8px;font-size:13px;text-decoration:none;transition:color .2s;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero__scroll:hover{color:var(--color-accent)}.hero__scroll-arrow{font-size:15px}.btn{font-family:var(--font-heading);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:5.6px 10.08px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent)}.btn-primary:active{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent);color:var(--color-text)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.about-impact{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:clamp(32px,5vw,64px);display:grid}.about__text p{text-wrap:pretty;margin:0 0 18px;font-size:17px;line-height:1.65}.about__text p:first-child{color:var(--color-text)}.about__text p:not(:first-child){color:color-mix(in srgb, var(--color-text) 82%, transparent)}.about__text p:last-child{margin-bottom:0}.impact__list{gap:0;display:grid}.impact__row{border-top:1px solid var(--color-divider);grid-template-columns:22px 1fr;gap:14px;padding-block:15px;display:grid}.impact__num{color:var(--color-accent);font-variant-numeric:tabular-nums;padding-top:4px;font-size:12px}.impact__text{color:color-mix(in srgb, var(--color-text) 84%, transparent);text-wrap:pretty;margin:0}.ai__quote{font-family:var(--font-heading);letter-spacing:-.015em;max-width:34ch;margin:0 0 32px;font-size:clamp(19px,2.2vw,25px);font-weight:500;line-height:1.4}.ai__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.ai__card{background:color-mix(in srgb, var(--color-surface) 70%, transparent);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:20px}.ai__card-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-300);margin-bottom:8px;font-size:11px}.ai__card-body{color:color-mix(in srgb, var(--color-text) 84%, transparent);text-wrap:pretty;margin:0;font-size:15px}.projects__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.project-card{border:1px dashed var(--color-divider);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:22px;display:flex}.project-card--filled{cursor:pointer;border-style:solid;transition:border-color .16s}.project-card--filled:hover{border-color:var(--color-accent-700)}.project-card__status{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);font-size:11px}.project-card__title{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin:0}.project-card--filled .project-card__title{color:var(--color-text)}.project-card__blurb{color:color-mix(in srgb, var(--color-text) 50%, transparent);text-wrap:pretty;margin:0;font-size:14px}.project-card--filled .project-card__blurb{color:color-mix(in srgb, var(--color-text) 84%, transparent)}.skills__list{gap:0;display:grid}.skills__row{border-top:1px solid var(--color-divider);grid-template-columns:200px minmax(0,1fr);gap:clamp(16px,3vw,32px);padding-block:22px;display:grid}.skills__label{font-family:var(--font-body);color:color-mix(in srgb, var(--color-text) 62%, transparent);margin:0;padding-top:3px;font-size:14px;font-weight:400}.skills__tags{flex-wrap:wrap;gap:8px;display:flex}.skills__closer{border-top:1px solid var(--color-divider)}@media (width<=640px){.skills__row{grid-template-columns:1fr;gap:10px}}.tag{font-family:var(--font-heading);letter-spacing:.01em;border-radius:var(--radius-sm);cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:4px 10px;font-size:12px;font-weight:400}.tag-outline{border:1px solid var(--color-divider);color:color-mix(in srgb, var(--color-text) 84%, transparent);background:0 0}.tag-neutral{color:color-mix(in srgb, var(--color-text) 84%, transparent);background:var(--color-neutral-900);border:1px solid #0000}.exp__list{gap:0;display:grid}.exp__item{border-top:1px solid var(--color-divider)}.exp__header{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;grid-template-columns:128px minmax(0,1fr) 24px;align-items:start;gap:clamp(16px,3vw,32px);padding-block:22px;transition:background .16s;display:grid}.exp__header:hover{background:color-mix(in srgb, var(--color-accent) 5%, transparent)}.exp__when{color:var(--color-accent-300);white-space:nowrap;padding-top:5px;font-size:13px}.exp__role{font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 4px;font-size:20px;font-weight:500}.exp__org{color:color-mix(in srgb, var(--color-text) 55%, transparent);margin:0 0 8px;font-size:14px}.exp__summary{max-width:62ch;color:color-mix(in srgb, var(--color-text) 82%, transparent);text-wrap:pretty;margin:0}.exp__caret{color:var(--color-accent);text-align:right;padding-top:2px;font-size:18px;transition:transform .2s}.exp__caret--open{transform:rotate(45deg)}.exp__panel{grid-template-columns:128px minmax(0,1fr);gap:clamp(16px,3vw,32px);padding:4px 0 30px;display:grid}.exp__panel-body{gap:18px;max-width:68ch;display:grid}.exp__block-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-300);font-size:11px;font-family:var(--font-heading);margin:0 0 6px;font-weight:500}.exp__block-text{color:color-mix(in srgb, var(--color-text) 84%, transparent);text-wrap:pretty;margin:0}.exp__skills{flex-wrap:wrap;gap:8px;display:flex}.exp__closer{border-top:1px solid var(--color-divider)}@media (width<=640px){.exp__header{grid-template-columns:1fr 24px;gap:12px}.exp__when{grid-column:1/-1;padding-top:0}.exp__panel{grid-template-columns:1fr}.exp__panel-spacer{display:none}}.edu-brands{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(32px,6vw,72px);display:grid}.edu__list{gap:0;display:grid}.edu__row{border-top:1px solid var(--color-divider);grid-template-columns:96px minmax(0,1fr);gap:16px;padding-block:15px;display:grid}.edu__when{color:var(--color-accent-300);white-space:nowrap;font-size:13px}.edu__title{font-family:var(--font-heading);margin-bottom:2px;font-size:15px;font-weight:500}.edu__org{color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:13px}.edu__closer{border-top:1px solid var(--color-divider)}.brands__tags{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.brands__caveat{color:color-mix(in srgb, var(--color-text) 55%, transparent);max-width:44ch;margin:0;font-size:14px}.contact{padding-block:clamp(56px,8vw,96px)}.contact__heading{letter-spacing:-.02em;max-width:24ch;margin:0 0 16px;font-size:clamp(28px,3.6vw,42px)}.contact__body{max-width:52ch;color:color-mix(in srgb, var(--color-text) 78%, transparent);margin:0 0 28px}.contact__buttons{flex-wrap:wrap;gap:12px;display:flex}.footer{padding:22px var(--pad) 40px;color:color-mix(in srgb, var(--color-text) 45%, transparent);max-width:var(--wrap);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin:0 auto;font-size:12px;display:flex}@media (width<=720px){.nav__links{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}.nav__links::-webkit-scrollbar{display:none}}@media (prefers-reduced-motion:reduce){.exp__caret,.nav__link-bar,.btn,.hero__scroll,.exp__header{transition:none}}
