:root{color-scheme:light;--ink: #18231f;--muted: #616d66;--paper: #f8f3ea;--background-secondary: #eef3ec;--surface: #fffdf7;--surface-elevated: #ffffff;--line: #d8d0bf;--divider: #e4ddcf;--accent: #2f6f5e;--accent-strong: #1f4e43;--link: #337844;--link-hover: #8a6722;--gold: #c48736;--shadow: 0 18px 45px rgba(36, 31, 22, .1);--ink-rgb: 24, 35, 31;--surface-rgb: 255, 253, 248;--tint-rgb: 238, 244, 239;--shadow-rgb: 33, 27, 19;--accent-rgb: 47, 111, 94;--gold-rgb: 196, 135, 54;--link-rgb: 51, 120, 68;--earth-mask-rgb: 251, 246, 236;--placeholder-rgb: 92, 103, 99;--control-on-scrim-rgb: 255, 253, 248;--button-primary: #1f4e43;--button-primary-text: #ffffff;--accent-hover: var(--gold);--focus-ring: var(--gold);--badge-background: #ffffff;--badge-text: #141414;--tag-text: #4f5f2d;--thumb-placeholder-background: #e7dfd2;--scrim-text: #fdfaf3;--scrim-control-text: #18231f;--overlay: rgba(18, 24, 22, .88);--selection-background: rgba(47, 111, 94, .3);--code-background: var(--surface);--image-caption: var(--muted);--navigation-background: transparent;--footer-background: transparent;--page-gradient: radial-gradient(circle at 10% 5%, rgba(196, 135, 54, .14), transparent 28rem), linear-gradient(135deg, #fbf6ec 0%, #eef3ec 48%, #f7f2e8 100%)}:root[data-theme=dark]{color-scheme:dark;--ink: #e9ece9;--muted: #93a39b;--paper: #121917;--background-secondary: #1c2622;--surface: #1b2420;--surface-elevated: #222c27;--line: #30403a;--divider: #283630;--accent: #3fa98c;--accent-strong: #4fcdb0;--link: #5fd38a;--link-hover: #e0a94f;--shadow: 0 18px 45px rgba(0, 0, 0, .45);--ink-rgb: 233, 236, 233;--surface-rgb: 27, 36, 32;--tint-rgb: 34, 46, 40;--shadow-rgb: 0, 0, 0;--accent-rgb: 63, 169, 140;--link-rgb: 95, 211, 138;--earth-mask-rgb: 18, 23, 21;--placeholder-rgb: 140, 152, 146;--tag-text: #b9c9ab;--thumb-placeholder-background: #23302a;--overlay: rgba(10, 14, 12, .88);--selection-background: rgba(63, 169, 140, .32);--page-gradient: radial-gradient(circle at 10% 5%, rgba(196, 135, 54, .1), transparent 30rem), linear-gradient(135deg, #0f1613 0%, #10201c 48%, #121b17 100%)}*{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){body,.site-header,.nav a,.card,.help-card,.tech-card,.blog-card,.resource-card,.content,.content-image,.contact-cta,.contact-form,.contact-form input,.contact-form select,.contact-form textarea,.youtube-window,.social-window,.footer,.theme-toggle,a{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}}::selection{background:var(--selection-background);color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}body{margin:0;min-height:100vh;background:var(--page-gradient);color:var(--ink);font-family:Bricolage Grotesque,Inter Tight,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden;position:relative}.earth-background{inset:0;opacity:.46;pointer-events:none;position:fixed;z-index:0}.earth-background:after{background:linear-gradient(90deg,rgba(var(--earth-mask-rgb),.96),rgba(var(--earth-mask-rgb),.8) 52%,rgba(var(--earth-mask-rgb),.48));content:"";inset:0;position:absolute}.earth-background canvas{display:block;height:100%;width:100%}a{color:var(--link);text-decoration-color:rgba(var(--link-rgb),.42);text-underline-offset:.18em}a:hover{color:var(--link-hover)}.shell{width:min(1120px,calc(100% - 32px));margin:0 auto;position:relative;z-index:1}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0}.brand{color:var(--ink);font-weight:800;letter-spacing:0;text-decoration:none}.nav{display:flex;flex-wrap:wrap;gap:14px}.nav a{color:var(--muted);font-size:.95rem;font-weight:700;text-decoration:none}.nav a:hover{color:var(--accent-strong)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.theme-toggle{align-items:center;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.theme-toggle:hover{border-color:var(--accent);color:var(--accent-strong)}.theme-toggle__icon{height:18px;width:18px}.theme-toggle__icon--moon{display:none}:root[data-theme=dark] .theme-toggle__icon--sun{display:none}:root[data-theme=dark] .theme-toggle__icon--moon{display:block}main{padding:28px 0 64px}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:40px;align-items:center;min-height:calc(100vh - 190px)}.eyebrow{color:var(--accent-strong);font-size:.88rem;font-weight:800;letter-spacing:.08em;margin:0 0 16px;text-transform:uppercase}.eyebrow a{color:inherit;text-decoration-color:rgba(var(--accent-rgb),.45)}h1,h2,h3{line-height:1.05;letter-spacing:0}h1{font-size:clamp(2.35rem,6.2vw,4.9rem);margin:0 0 22px;max-width:9ch}.hero-name{font-size:clamp(1.85rem,4.7vw,3.55rem);max-width:100%;white-space:nowrap}h2{font-size:clamp(1.8rem,4vw,3.2rem);margin:0 0 20px}h3{font-size:1.18rem;margin:0 0 10px}.intro{color:var(--ink);font-size:clamp(1.18rem,2.1vw,1.55rem);max-width:760px}.details{display:grid;gap:20px;margin:34px 0 0;max-width:760px}.detail{border-left:4px solid var(--accent);color:var(--muted);padding-left:16px}.detail-current{color:var(--ink);font-size:clamp(1.08rem,1.55vw,1.28rem);font-weight:650;line-height:1.4}.detail-role{border-left-color:var(--accent-strong)}.detail-academic{border-left-color:var(--link)}.detail-interests{border-left-color:var(--gold);color:var(--ink);font-size:clamp(1rem,1.35vw,1.12rem)}.detail-label{color:var(--link-hover);display:block;font-family:IBM Plex Mono,monospace;font-size:.76rem;font-weight:800;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.role-contact{color:var(--muted);display:grid;font-size:.92rem;font-style:normal;font-weight:500;gap:1px;margin-top:8px}.role-contact a{margin-top:3px}.interest-tags{display:flex;flex-wrap:wrap;gap:9px}.interest-tags span{background:rgba(var(--surface-rgb),.65);border:1px solid var(--line);border-radius:999px;color:var(--tag-text);font-size:.92rem;font-weight:650;line-height:1.2;padding:7px 11px}.linkedin-cta{align-items:center;background:var(--button-primary);border-radius:999px;color:var(--button-primary-text);display:inline-flex;font-size:.84rem;font-weight:800;justify-content:center;justify-self:start;padding:7px 11px;text-decoration:none}.linkedin-cta:hover{color:var(--button-primary-text);background:var(--gold)}.youtube-cta{align-items:center;background:var(--button-primary);border:0;border-radius:999px;color:var(--button-primary-text);display:inline-flex;font-size:.84rem;font-weight:800;justify-content:center;justify-self:start;padding:7px 11px;text-decoration:none}.youtube-cta:hover{background:var(--gold);color:var(--button-primary-text)}.youtube-window{align-items:stretch;background:linear-gradient(135deg,rgba(var(--surface-rgb),.9),rgba(var(--tint-rgb),.78)),radial-gradient(circle at 90% 10%,rgba(var(--gold-rgb),.18),transparent 20rem);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 26px rgba(var(--shadow-rgb),.07);display:grid;gap:8px;overflow:hidden;padding:16px 18px}.youtube-heading-row{align-items:center;display:flex;gap:8px}.youtube-heading-row img{aspect-ratio:1;border-radius:999px;display:block;object-fit:cover;width:34px}.youtube-copy{display:grid;gap:8px}.youtube-copy h2{font-size:clamp(1.25rem,2.2vw,1.65rem);margin:0}.youtube-copy p{color:var(--muted);font-size:.94rem;margin:0}.portrait-stack{display:grid;gap:18px}.portrait{border-radius:18px;margin:0;position:relative}.portrait img{aspect-ratio:4 / 5;border:1px solid rgba(var(--shadow-rgb),.12);border-radius:16px;box-shadow:0 18px 42px rgba(var(--shadow-rgb),.14);display:block;object-fit:cover;width:100%}.social-window{align-items:stretch;background:linear-gradient(135deg,rgba(var(--surface-rgb),.9),rgba(var(--tint-rgb),.78)),radial-gradient(circle at 90% 10%,rgba(var(--gold-rgb),.18),transparent 20rem);border:1px solid var(--line);box-shadow:0 10px 26px rgba(var(--shadow-rgb),.07);display:grid;gap:8px;margin:0;max-width:none;padding:16px 18px}.social-copy{align-content:center;display:grid;gap:8px}.social-copy h2{font-size:clamp(1.25rem,2.2vw,1.65rem);margin:0}.social-copy p{color:var(--muted);font-size:.94rem;margin:0}.section{border-top:1px solid var(--line);padding:44px 0 0}.section-intro{color:var(--muted);font-size:clamp(1rem,1.5vw,1.14rem);font-weight:650;margin:-8px 0 22px;max-width:780px}.grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:rgba(var(--surface-rgb),.72);border:1px solid var(--line);border-radius:8px;padding:22px}.support-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.support-links a{align-items:center;border:1px solid rgba(var(--accent-rgb),.25);border-radius:999px;display:inline-flex;font-size:.86rem;font-weight:800;padding:6px 10px;text-decoration:none}.meta,.tags,.date{color:var(--muted);font-size:.92rem}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tag{border:1px solid rgba(var(--accent-rgb),.25);border-radius:999px;color:var(--accent-strong);padding:3px 10px}.help-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.help-card{background:rgba(var(--surface-rgb),.78);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;box-shadow:0 14px 35px rgba(var(--shadow-rgb),.08);display:grid;gap:12px;padding:22px}.help-card h3,.help-card p{margin:0}.tech-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.tech-card{background:rgba(var(--surface-rgb),.66);border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;padding:18px}.tech-card h3{font-size:1.05rem;margin:0}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tags span{background:rgba(var(--tint-rgb),.7);border:1px solid rgba(var(--accent-rgb),.18);border-radius:999px;color:var(--muted);font-size:.86rem;font-weight:700;line-height:1.2;padding:6px 9px}.contact-cta{align-items:start;background:rgba(var(--surface-rgb),.78);border:1px solid var(--line);border-left:4px solid var(--gold);box-shadow:var(--shadow);display:grid;gap:24px;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);padding:clamp(22px,4vw,34px)}.contact-cta h2,.contact-cta p{margin:0}.contact-cta p:not(.eyebrow){color:var(--muted);max-width:660px}.contact-linkedin{display:inline-flex;font-weight:800;margin-top:16px}.contact-form{background:rgba(var(--surface-rgb),.82);border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.contact-form label{display:grid;gap:5px}.contact-form span{color:var(--accent-strong);font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{background:var(--surface);border:1px solid rgba(var(--shadow-rgb),.16);border-radius:8px;color:var(--ink);font:inherit;padding:10px 11px;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(var(--placeholder-rgb),.72)}.contact-form textarea{resize:vertical}.message-field{grid-column:1 / -1}.message-actions{display:flex;flex-wrap:wrap;gap:10px;grid-column:1 / -1}.contact-actions{display:flex;flex-wrap:wrap;gap:10px}.contact-actions button,.message-actions button{background:var(--button-primary);border:0;border-radius:999px;color:var(--button-primary-text);cursor:pointer;display:inline-flex;font:inherit;font-weight:800;justify-content:center;padding:10px 15px;text-decoration:none}.email-app-link{align-items:center;background:var(--button-primary);border-radius:999px;color:var(--button-primary-text);display:inline-flex;font-weight:800;justify-content:center;padding:10px 15px;text-decoration:none}.contact-actions button:hover,.message-actions button:hover,.email-app-link:hover{background:var(--gold);color:var(--button-primary-text)}.contact-secondary{align-items:center;border:1px solid rgba(var(--accent-rgb),.25);border-radius:999px;display:inline-flex;font-weight:800;justify-content:center;padding:10px 15px;text-decoration:none}.form-note{color:var(--muted);font-size:.84rem}.browser-fallback{background:rgba(var(--tint-rgb),.7);border:1px solid rgba(var(--accent-rgb),.18);border-radius:8px;grid-column:1 / -1;display:grid;gap:10px;margin-top:4px;padding:12px}.browser-fallback[hidden]{display:none}.fallback-heading{display:grid;gap:4px}.fallback-heading p{color:var(--muted);font-size:.9rem}.browser-fallback textarea{min-height:150px}.content{background:rgba(var(--surface-rgb),.74);border:1px solid var(--line);box-shadow:var(--shadow);margin:32px auto 0;max-width:820px;padding:clamp(24px,5vw,54px)}.content h1{font-size:clamp(2.4rem,6vw,4.8rem);max-width:none}.content-research h1{font-size:clamp(1.7rem,3.2vw,2.4rem)}.content-work h1{font-size:clamp(1.8rem,3.4vw,2.55rem)}.content h2{border-top:1px solid var(--line);font-size:clamp(1.55rem,3vw,2.3rem);margin-top:34px;padding-top:30px}.content li+li{margin-top:8px}.content-section-research-areas ul{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin-left:0;padding-left:0}.content-section-research-areas li{background:rgba(var(--surface-rgb),.76);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;box-shadow:0 10px 26px rgba(var(--shadow-rgb),.06);padding:16px}.content-section-research-areas li+li{margin-top:0}.content-section-what-i-build ul{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin-left:0;padding-left:0}.content-section-what-i-build li{background:rgba(var(--surface-rgb),.76);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;box-shadow:0 10px 26px rgba(var(--shadow-rgb),.06);padding:16px}.content-section-what-i-build li+li{margin-top:0}.content-section-selected-speaking-and-workshops strong{color:var(--accent-strong)}.content-section-in-the-room{align-items:stretch;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.content-section-in-the-room h2{grid-column:1 / -1}.content-image{background:rgba(var(--surface-rgb),.78);border:1px solid rgba(var(--accent-rgb),.2);border-radius:8px;box-shadow:0 12px 28px rgba(var(--shadow-rgb),.08);display:flex;flex-direction:column;margin:0;overflow:hidden}.content-image img{aspect-ratio:4 / 3;background:rgba(var(--tint-rgb),.78);display:block;flex:0 0 auto;height:auto;object-fit:contain;width:100%}.content-image figcaption{color:var(--muted);font-size:.9rem;line-height:1.45;margin:0;padding:12px 14px 14px}.content-section-in-the-room .content-image figcaption{flex:1}.content-section-selected-projects-and-research-partnerships h3{color:var(--accent-strong);font-size:clamp(1.16rem,2vw,1.42rem);margin:28px 0 6px}.content-section-selected-projects-and-research-partnerships h3+p{color:var(--link-hover);font-family:IBM Plex Mono,monospace;font-size:.82rem;font-weight:800;letter-spacing:.04em;margin-top:0;text-transform:uppercase}.content-section-selected-active-research h3{font-size:clamp(1.16rem,2vw,1.42rem);margin:24px 0 8px}.content-section-selected-active-research p{margin:0 0 10px}.content-section-selected-active-research em{color:var(--muted);font-size:.94rem}.thesis-line{color:var(--muted);display:block;font-size:.94rem;margin-top:8px}.writing-page{display:grid;gap:44px}.writing-hero{max-width:880px;padding:34px 0 8px}.writing-hero h1{font-size:clamp(1.45rem,2.7vw,2rem);max-width:30ch}.source-link{display:inline-flex;font-weight:800;margin-top:18px}.writing-section{border-top:1px solid var(--line);display:grid;gap:22px;padding-top:34px}.section-heading-row{display:grid;gap:8px}.section-heading-row .eyebrow,.section-heading-row h2{margin:0}.blog-grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}.blog-card{background:rgba(var(--surface-rgb),.78);border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 35px rgba(var(--shadow-rgb),.08);display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden}.blog-thumb{aspect-ratio:16 / 10;background:var(--thumb-placeholder-background);display:block;overflow:hidden;position:relative}.blog-thumb img{display:block;height:100%;object-fit:cover;width:100%}.blog-card-body{display:grid;gap:12px;padding:20px}.blog-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.credit-badge{background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.22);border-radius:999px;color:var(--accent-strong);font-size:.78rem;font-weight:800;line-height:1.2;padding:4px 9px}.blog-card h2{font-size:clamp(1.15rem,2vw,1.45rem);margin:0}.blog-card p{margin:0}.resource-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.resource-card{background:rgba(var(--surface-rgb),.7);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden}.resource-thumb{aspect-ratio:16 / 10;background:var(--thumb-placeholder-background);display:block;overflow:hidden;position:relative}.resource-thumb img{display:block;height:100%;object-fit:cover;width:100%}.resource-index{align-items:center;background:var(--badge-background);border:1px solid rgba(var(--gold-rgb),.24);border-radius:999px;color:var(--badge-text);display:inline-flex;font-size:.8rem;font-weight:900;height:34px;justify-content:center;left:12px;position:absolute;top:12px;width:34px}.resource-card-body{padding:18px}.resource-topic{color:var(--muted);font-size:.86rem;font-weight:800;margin:0 0 8px}.resource-card h3{font-size:1.08rem;line-height:1.2;margin:0}.footer{border-top:1px solid var(--line);color:var(--muted);padding:26px 0 40px}.footer-links{display:flex;flex-wrap:wrap;gap:16px}@media(max-width:800px){.site-header,.hero{align-items:flex-start;grid-template-columns:1fr}.site-header{flex-direction:column}h1{max-width:10ch}.grid,.blog-grid,.resource-grid,.help-grid,.tech-grid,.social-window,.contact-cta{grid-template-columns:1fr}.contact-actions{justify-content:flex-start}.content-section-research-areas ul,.content-section-what-i-build ul{grid-template-columns:1fr}.content-section-in-the-room{grid-template-columns:repeat(2,minmax(0,1fr))}.earth-background{opacity:.28}.earth-background:after{background:linear-gradient(180deg,rgba(var(--earth-mask-rgb),.97),rgba(var(--earth-mask-rgb),.84) 58%,rgba(var(--earth-mask-rgb),.6))}}@media(max-width:560px){.content-section-in-the-room{grid-template-columns:1fr}}
