:root{color-scheme:light;--paper:#fafafa;--ink:#1c1e23;--muted:#666a73;--rule:#dfe1e6;--blue:#294de8;--surface:#f0f2f6;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px;border-radius:4px}.page{max-width:1192px;margin:0 auto;padding:0 48px}.skip-link{position:fixed;top:-100px;left:24px;background:var(--ink);color:#fff;padding:14px 20px;z-index:50}.skip-link:focus{top:16px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:38px 0;border-bottom:1px solid var(--rule)}.wordmark{font-size:1.18rem;font-weight:650;letter-spacing:-.045em}.wordmark span{color:var(--blue)}nav{display:flex;gap:32px;font-size:.875rem}nav a,footer a{display:inline-flex;align-items:center;min-height:44px}nav a:hover,footer a:hover{color:var(--blue)}.hero{padding:92px 0 86px}.eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.11em;text-transform:uppercase;font-weight:600;color:var(--muted);margin:0 0 28px}h1{font-size:clamp(3.6rem,7.5vw,6.5rem);line-height:1.08;letter-spacing:-.066em;font-weight:550;margin:0}h1 span{color:#8b8e96}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:60px;margin-top:40px}.hero-bottom>p{max-width:540px;font-size:1.125rem;line-height:1.65;margin:0;color:#595e68}.hero-meta{flex-shrink:0;display:grid;gap:8px;font-size:.8125rem;color:var(--muted)}.hero-meta span:last-child{color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid var(--rule);padding:26px 0}.section-heading h2{font-size:.9375rem;font-weight:600;letter-spacing:-.015em;margin:0}.section-note{font-size:.8125rem;color:var(--muted)}.featured-project{background:var(--surface);border-radius:var(--radius);display:grid;grid-template-columns:1.08fr 1fr;overflow:hidden}.project-copy{padding:42px}.project-topline{display:flex;gap:22px;align-items:center;margin-bottom:40px;font-size:.75rem;color:var(--muted)}.project-number{border:1px solid #c4c8d1;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.featured-project h3{font-size:2.75rem;letter-spacing:-.055em;font-weight:580;line-height:1.15;margin:0 0 14px}.project-subtitle{font-size:1.125rem;letter-spacing:-.02em;line-height:1.5;margin:0 0 20px}.project-description{font-size:1rem;color:#656b75;line-height:1.75;max-width:405px}.role{font-size:.875rem;margin:25px 0 26px}.project-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 20px;border-radius:8px;font-size:.875rem;font-weight:500;line-height:1.4;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:#007aff;color:#fff}.button-primary:hover{background:#0063d1;color:white}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#414653}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a1a5af}.text-link:hover{color:var(--blue);text-decoration-color:var(--blue)}.project-facts{margin:42px 42px 42px 20px;padding:40px;border-left:1px solid #d5d9e2;display:flex;flex-direction:column;justify-content:center}.project-facts .eyebrow{color:var(--blue)}dl{margin:0}dl div{margin:20px 0}dt{font-size:.75rem;color:var(--muted);margin-bottom:8px}dd{margin:0;font-size:1rem;line-height:1.4}.about-section{display:grid;grid-template-columns:1fr 2fr;gap:64px;padding:104px 0;border-bottom:1px solid var(--rule)}.section-index{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.about-copy{max-width:630px}.about-copy h2{font-size:clamp(2rem,4vw,3rem);font-weight:500;letter-spacing:-.05em;line-height:1.2;margin:0 0 30px}.about-copy p{font-size:1.0625rem;line-height:1.8;color:#626771;margin:0 0 22px}.contact-section{padding:74px 0 82px}.contact-section .eyebrow{margin-bottom:18px}.contact-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-row h2{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:500;letter-spacing:-.055em;line-height:1.2;margin:0}.contact-section>p:last-child{font-size:.9375rem;color:var(--muted);line-height:1.65;margin:20px 0 0}footer{padding:22px 0 32px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.75rem;color:var(--muted)}footer>div{display:flex;gap:26px}
@media(min-width:1500px){.hero{padding-top:112px;padding-bottom:100px}}@media(max-width:800px){.page{padding:0 28px}.hero{padding:65px 0}.hero-bottom{gap:30px;align-items:center}.hero-meta{font-size:.75rem}.featured-project{grid-template-columns:1fr}.project-copy{padding:32px}.project-topline{margin-bottom:30px}.project-facts{margin:0 32px 32px;padding:28px 0 0;border-left:0;border-top:1px solid #d5d9e2}.project-facts dl{display:flex;justify-content:space-between;gap:20px}.project-facts .eyebrow{margin-bottom:10px}.about-section{grid-template-columns:1fr;gap:28px;padding:70px 0}.contact-row{align-items:start;flex-direction:column;gap:25px}}
@media(max-width:520px){.page{padding:0 22px}.site-header{padding:20px 0;gap:10px}.wordmark{font-size:1.05rem}nav{gap:17px;font-size:.875rem}.hero{padding:56px 0}.hero .eyebrow{font-size:.75rem;letter-spacing:.07em}h1{font-size:clamp(2.75rem,10.7vw,4rem);letter-spacing:-.06em}.hero-bottom{flex-direction:column;align-items:flex-start;gap:28px;margin-top:28px}.hero-bottom>p{font-size:1rem}.hero-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:.75rem}.section-heading{padding:22px 0}.section-note{display:none}.project-copy{padding:28px 25px}.featured-project h3{font-size:2.5rem}.project-description{font-size:1rem}.project-facts{margin:0 25px 25px}.project-facts dl{flex-direction:column;gap:0}.project-facts dl div{margin:10px 0}.about-section{padding:60px 0}.about-copy p{font-size:1rem}.contact-section{padding:58px 0}.contact-row h2{font-size:2.25rem}footer{align-items:start;flex-direction:column;gap:8px}footer>div{gap:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.project-visual{min-height:505px;position:relative;display:flex;align-items:flex-start;justify-content:center;overflow:hidden;background:#e6eaf3;padding:48px 34px 0}.project-visual img{width:442px;max-width:none;flex-shrink:0;transform:translateX(-12.03%);height:auto;display:block;filter:drop-shadow(0 10px 14px #1c2c4420)}.visual-caption{position:absolute;bottom:20px;right:24px;font-size:.75rem;color:#646b77;background:#eef1f7ed;padding:8px 12px;border-radius:6px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.small-project{border:1px solid var(--rule);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column}.small-project .project-topline{margin-bottom:26px}.small-project h3{font-size:1.75rem;letter-spacing:-.045em;font-weight:550;margin:0 0 14px}.small-project p{color:var(--muted);font-size:1rem;line-height:1.7;margin:0 0 28px;max-width:390px}.project-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:auto}.project-tag{font-size:.75rem;color:var(--muted)}.portrait{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 50%;border-radius:14px;display:block;max-width:260px;margin-top:26px}.skills{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.skills span{border:1px solid var(--rule);font-size:.8125rem;color:#5c616b;padding:8px 12px;border-radius:5px}.writing-section{display:grid;grid-template-columns:1fr 2fr;gap:64px;padding:66px 0 72px;border-bottom:1px solid var(--rule)}.writing-section h2{font-size:1.5rem;letter-spacing:-.035em;font-weight:550;margin:18px 0 12px}.writing-section>div>p{font-size:.875rem;line-height:1.6;color:var(--muted);max-width:210px}.writing-list>a{display:grid;grid-template-columns:48px 1fr 100px;gap:18px;align-items:start;padding:24px 0;font-size:1rem;font-weight:500;line-height:1.55;border-bottom:1px solid var(--rule)}.writing-list>a:first-child{padding-top:0}.writing-list>a:last-child{border-bottom:0;padding-bottom:0}.writing-list>a:hover{color:var(--blue)}.writing-year,.writing-type{font-size:.75rem;font-weight:400;color:var(--muted);padding-top:4px}.writing-type{text-align:right}
@media(max-width:800px){.project-visual{min-height:0;height:410px;padding:35px 24px 0}.project-visual img{width:428px}.project-grid{gap:18px}.small-project{padding:26px}.section-label{display:flex;flex-direction:column;align-items:start;gap:26px}.portrait{width:160px;margin-top:0}.writing-section{grid-template-columns:1fr;gap:25px;padding:48px 0}.writing-section>div>p{max-width:none}.writing-list>a{grid-template-columns:48px 1fr 100px}.desktop-break{display:none}}@media(max-width:520px){.project-visual{height:350px}.project-visual img{width:373px}.project-grid{grid-template-columns:1fr;gap:16px;margin-top:16px}.small-project{padding:26px 25px}.small-project .project-topline{gap:16px}.section-label{gap:24px}.portrait{width:145px}.writing-list>a{grid-template-columns:38px 1fr;gap:12px}.writing-type{display:none}.skills span{font-size:.875rem}.contact-row .button{width:100%}}@media(min-width:801px){.featured-project{grid-template-columns:1.1fr 1fr}.project-copy{padding-bottom:46px}.project-visual img{position:absolute;top:46px}}
/* Product and employment history */
.experience-section{display:grid;grid-template-columns:1fr 2fr;gap:64px;padding:92px 0 88px;margin-top:84px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.experience-intro h2{font-size:2.5rem;font-weight:500;letter-spacing:-.05em;line-height:1.15;margin:22px 0}.experience-intro>p{font-size:1rem;line-height:1.75;color:var(--muted);max-width:260px;margin:0 0 16px}.independent-practice{margin-top:64px;padding-top:26px;border-top:1px solid var(--rule);max-width:265px}.independent-practice h3{font-size:1.25rem;font-weight:550;letter-spacing:-.025em;margin:18px 0 10px}.independent-practice p{font-size:.9375rem;line-height:1.7;color:var(--muted);margin:15px 0 0}.independent-practice .practice-date{font-size:.875rem;margin:0}.independent-practice .practice-role{font-size:.875rem;color:var(--ink);margin:10px 0 0}.career-timeline{list-style:none;padding:0;margin:0}.career-entry{position:relative;border-left:1px solid #d9dce4;margin:0 0 0 5px;padding:0 0 52px 32px}.career-entry:last-child{padding-bottom:0;border-left-color:transparent}.career-entry:before{content:"";position:absolute;top:4px;left:-5px;width:9px;height:9px;border-radius:50%;background:#bcc2cf;box-shadow:0 0 0 5px var(--paper)}.career-current:before{background:#007aff}.career-date{font-size:.875rem;color:var(--muted);line-height:1.5;margin:0 0 13px}.career-entry h3{font-size:1.75rem;line-height:1.2;font-weight:550;letter-spacing:-.04em;margin:0 0 15px}.career-impact{font-size:1rem;line-height:1.55;font-weight:550;letter-spacing:-.01em;margin:0 0 10px}.career-description{font-size:1rem;line-height:1.75;color:var(--muted);margin:0 0 20px}.career-roles{list-style:none;margin:0;padding:0;display:grid;gap:8px}.career-roles li{display:flex;justify-content:space-between;align-items:baseline;gap:15px;font-size:.875rem;line-height:1.6}.career-roles li span:last-child{color:var(--muted);text-align:right;font-size:.875rem;flex-shrink:0}.career-roles li+li{color:var(--muted)}
@media(max-width:900px){.experience-section{gap:40px}.career-roles li{flex-direction:column;gap:1px}.career-roles li span:last-child{text-align:left}.career-roles{gap:12px}}@media(max-width:800px){.experience-section{grid-template-columns:1fr;padding:60px 0;margin-top:60px;gap:44px}.experience-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;align-items:start}.experience-intro>.section-index,.experience-intro>h2,.experience-intro>p,.experience-intro>.text-link{grid-column:1}.experience-intro h2{font-size:2.1rem}.independent-practice{grid-column:2;grid-row:1/5;margin-top:0;padding-top:0;border:0;max-width:none}.career-entry{padding-left:28px}.career-roles li{flex-direction:row;gap:20px}.career-roles li span:last-child{text-align:right}}@media(max-width:600px){.experience-intro{display:block}.experience-intro>p{max-width:100%}.independent-practice{margin-top:32px;border-top:1px solid var(--rule);padding-top:25px}.experience-intro h2 br{display:none}.career-roles li{flex-direction:column;gap:1px}.career-roles li span:last-child{text-align:left;font-size:.875rem}.career-entry{padding-bottom:40px}.career-entry h3{font-size:1.65rem}.experience-section{margin-top:56px;padding:48px 0}.site-header{flex-wrap:wrap}.site-header nav{flex-wrap:wrap;gap:20px}.about-copy h2{max-width:100%}}@media(max-width:420px){.site-header{gap:3px}.site-header nav{width:100%;justify-content:space-between;gap:8px}.site-header{padding-bottom:13px}.about-copy h2{font-size:1.9rem}}

.career-description strong{color:var(--ink);font-weight:650}

/* Selected media coverage */
.press-section{padding:72px 0;border-bottom:1px solid var(--rule)}
.press-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:34px}
.press-heading h2{font-size:2.5rem;line-height:1.2;font-weight:500;letter-spacing:-.05em;margin:18px 0 0}
.press-heading p{font-size:.9375rem;line-height:1.65;color:var(--muted);max-width:295px;margin:0 0 4px}
.press-highlights{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;list-style:none;padding:0;margin:0}
.press-highlights li{min-width:0}
.press-article{display:flex;flex-direction:column;height:100%;padding:28px;border:1px solid var(--rule);border-radius:var(--radius)}
.press-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:.875rem;line-height:1.5}
.press-publisher{font-weight:600}.press-meta time{color:var(--muted)}
.press-article h3{font-size:1.125rem;line-height:1.5;letter-spacing:-.025em;font-weight:500;margin:18px 0 24px;overflow-wrap:break-word}
.press-read{margin-top:auto;font-size:.875rem;line-height:1.6;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a1a5af}
.press-article:hover h3,.press-article:focus-visible h3{color:var(--blue)}
.press-article:hover .press-read{color:var(--blue);text-decoration-color:var(--blue)}
.press-feature{grid-row:span 2}
.press-feature .press-article{background:var(--surface);border-color:transparent;padding:36px}
.press-feature .press-publisher{font-size:1.125rem;letter-spacing:-.025em}
.press-feature h3{font-size:clamp(1.75rem,2.8vw,2.25rem);line-height:1.3;letter-spacing:-.045em;margin:40px 0}
.press-archive{margin-top:24px;border:1px solid var(--rule);border-radius:var(--radius)}
.press-archive summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:20px 28px;list-style:none;cursor:pointer;font-size:.9375rem;font-weight:500;border-radius:var(--radius)}
.press-archive summary::-webkit-details-marker{display:none}
.press-archive summary:hover{color:var(--blue)}
.press-archive-label{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.press-archive-count{color:var(--muted);font-size:.875rem;font-weight:400}
.press-toggle{position:relative;display:block;width:16px;height:16px;flex:none}
.press-toggle:before,.press-toggle:after{content:"";position:absolute;background:currentColor;border-radius:1px}
.press-toggle:before{width:14px;height:1.5px;left:1px;top:7px}
.press-toggle:after{width:1.5px;height:14px;left:7px;top:1px}
.press-archive[open] .press-toggle:after{display:none}
.press-show-less,.press-archive[open] .press-show-more{display:none}
.press-archive[open] .press-show-less{display:inline}
.press-archive-list{list-style:none;padding:0 28px 8px;margin:0}
.press-archive-list li{border-top:1px solid var(--rule)}
.press-archive-list .press-article{display:grid;grid-template-columns:155px minmax(0,1fr);gap:24px;border:0;border-radius:0;padding:24px 0}
.press-archive-list .press-meta{flex-direction:column;justify-content:flex-start;gap:5px}
.press-archive-list h3{font-size:1rem;letter-spacing:-.015em;margin:0}
.press-archive-list .press-read{display:none}
@media(max-width:900px){.press-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.press-feature{grid-column:1/-1;grid-row:auto}.press-feature h3{max-width:650px;font-size:2rem;margin:28px 0 32px}}
@media(max-width:800px){.press-section{padding:56px 0}.press-heading{align-items:flex-start;flex-direction:column;gap:16px}.press-heading h2{font-size:2.1rem}.press-heading p{max-width:none}.press-article{padding:26px}.press-feature .press-article{padding:30px}.press-archive-list .press-article{grid-template-columns:130px minmax(0,1fr);gap:20px}}
@media(max-width:600px){.press-highlights{grid-template-columns:1fr;gap:16px}.press-heading{margin-bottom:28px}.press-article,.press-feature .press-article{padding:26px 25px}.press-feature h3{font-size:1.75rem;margin:28px 0}.press-archive{margin-top:20px}.press-archive summary{padding:20px 25px}.press-archive-list{padding:0 25px 4px}.press-archive-list .press-article{grid-template-columns:1fr;gap:12px}.press-archive-list .press-meta{flex-direction:row;justify-content:space-between;gap:12px}}
