:root{color-scheme:light;--ink: #18231f;--muted: #616d66;--paper: #f8f3ea;--surface: #fffdf7;--line: #d8d0bf;--accent: #2f6f5e;--accent-strong: #1f4e43;--link: #337844;--link-hover: #8a6722;--gold: #c48736;--shadow: 0 18px 45px rgba(36, 31, 22, .1)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 5%,rgba(196,135,54,.14),transparent 28rem),linear-gradient(135deg,#fbf6ec,#eef3ec 48%,#f7f2e8);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,#fbf6ecf5,#fbf6eccc 52%,#fbf6ec7a);content:"";inset:0;position:absolute}.earth-background canvas{display:block;height:100%;width:100%}a{color:var(--link);text-decoration-color:#6678336b;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)}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:#2f6f5e73}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:#fffdf8a6;border:1px solid var(--line);border-radius:999px;color:#4f5f2d;font-size:.92rem;font-weight:650;line-height:1.2;padding:7px 11px}.linkedin-cta{align-items:center;background:var(--accent-strong);border-radius:999px;color:#fff;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:#fff;background:var(--gold)}.youtube-cta{align-items:center;background:var(--accent-strong);border:0;border-radius:999px;color:#fff;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:#fff}.youtube-window{align-items:stretch;background:linear-gradient(135deg,#fffdf8e6,#eef4efc7),radial-gradient(circle at 90% 10%,rgba(196,135,54,.18),transparent 20rem);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 26px #211b1312;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:before{background:radial-gradient(circle at 20% 18%,rgba(196,135,54,.18),transparent 13rem),#eef4efb3;border:1px solid rgba(47,111,94,.16);border-radius:22px;content:"";inset:12px -12px -12px 12px;position:absolute;z-index:-1}.portrait img{aspect-ratio:4 / 5;border:1px solid rgba(33,27,19,.12);border-radius:16px;box-shadow:0 18px 42px #211b1324;display:block;object-fit:cover;width:100%}.social-window{align-items:stretch;background:linear-gradient(135deg,#fffdf8e6,#eef4efc7),radial-gradient(circle at 90% 10%,rgba(196,135,54,.18),transparent 20rem);border:1px solid var(--line);box-shadow:0 10px 26px #211b1312;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:#fffdf8b8;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(47,111,94,.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(47,111,94,.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:#fffdf8c7;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;box-shadow:0 14px 35px #211b1314;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:#fffdf8a8;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:#eef4efb3;border:1px solid rgba(47,111,94,.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:#fffdf8c7;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:#fffdf8d1;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(33,27,19,.16);border-radius:8px;color:var(--ink);font:inherit;padding:10px 11px;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#5c6763b8}.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(--accent-strong);border:0;border-radius:999px;color:#fff;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(--accent-strong);border-radius:999px;color:#fff;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:#fff}.contact-secondary{align-items:center;border:1px solid rgba(47,111,94,.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:#eef4efb3;border:1px solid rgba(47,111,94,.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:#fffdf8bd;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:#fffdf8c2;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;box-shadow:0 10px 26px #211b130f;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:#fffdf8c2;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;box-shadow:0 10px 26px #211b130f;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:#fffdf8c7;border:1px solid rgba(47,111,94,.2);border-radius:8px;box-shadow:0 12px 28px #211b1314;display:flex;flex-direction:column;margin:0;overflow:hidden}.content-image img{aspect-ratio:4 / 3;background:#eef4efc7;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:#fffdf8c7;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 35px #211b1314;display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden}.blog-thumb{aspect-ratio:16 / 10;background:#e7dfd2;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:#2f6f5e1a;border:1px solid rgba(47,111,94,.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:#fffdf8b3;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:#e7dfd2;display:block;overflow:hidden;position:relative}.resource-thumb img{display:block;height:100%;object-fit:cover;width:100%}.resource-index{align-items:center;background:#fff;border:1px solid rgba(196,135,54,.24);border-radius:999px;color:#000;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,#f8f4edf7,#f8f4edd6 58%,#f8f4ed99)}}@media(max-width:560px){.content-section-in-the-room{grid-template-columns:1fr}}
