/* A restrained editorial layer shared by public pages and the studio. */
:root{--bg:#f7f5f1;--paper:#fefdfb;--ink:#2c302c;--muted:#73786f;--line:#e0e2d9;--blue:#79604b;--soft:#eeeee6}
html[data-theme=dark]{--bg:#1d211f;--paper:#242a26;--ink:#e9eae3;--muted:#acb4a8;--line:#3a433b;--blue:#d0b395;--soft:#2d342e}
main,.site-header,.site-footer{width:min(100% - 80px,1040px)}
.site-header{min-height:104px;gap:28px;border-bottom:1px solid var(--line)}
.wordmark{display:flex;gap:11px;align-items:center;font-size:14px;font-weight:600;letter-spacing:-.25px}
.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--bg);width:34px;height:34px;border-radius:9px;font-family:Georgia,serif;font-size:21px;letter-spacing:-2px;padding-right:2px;font-weight:400}
.site-header nav{gap:27px}.site-header nav a{font-size:13px}.site-header nav a[aria-current]{text-decoration:none;color:var(--ink)}
.site-header nav a[aria-current]:after{content:'';display:block;height:3px;width:3px;border-radius:50%;background:var(--blue);margin:5px auto -8px}
.header-actions{margin-left:10px}.icon-button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%}.icon-button svg{width:15px;height:15px}
.hero{padding:65px 0 60px;display:grid;grid-template-columns:minmax(0,1fr) 255px;align-items:center;gap:75px}
.hero-main{min-width:0}.hero h1{font-size:70px;letter-spacing:-2.4px;margin:7px 0 22px;line-height:1.1}
.name-period{color:var(--blue)}.role-line{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--blue);margin:0 0 17px;line-height:1.8}
.hero-intro{font-size:18px;color:var(--muted);line-height:1.85;max-width:550px;margin-bottom:28px}
.hero-actions{gap:27px;align-items:center}.hero-actions .button{padding:12px 17px;gap:18px;font-size:12px;border-radius:6px}
.hero-actions .button svg{width:15px;height:15px}.hero-actions .text-link{font-size:12px;color:var(--ink)}
.hero-aside{padding:26px;background:var(--soft);border:1px solid var(--line);border-radius:11px;font-size:12px;line-height:1.85}
.aside-label{font-size:10px;letter-spacing:.3px;font-weight:600}.hero-aside>p{color:var(--muted);margin:12px 0 20px}
.aside-now{border-top:1px solid var(--line);padding-top:16px;margin-bottom:19px}.aside-now>span{font-size:10px;font-weight:600}.aside-now p{font-size:11px;color:var(--muted);line-height:1.8;margin:6px 0 0}.hero-aside .text-link{font-size:11px}
.section{padding:29px 0 38px}.section-top{align-items:flex-end;margin-bottom:24px}.section-top h2{font-size:26px;font-weight:500;letter-spacing:-.8px;line-height:1.3}.section-top p{font-size:12px;color:var(--muted);margin:8px 0 0}.section-top>.text-link{font-size:11px;color:var(--ink);padding-bottom:3px}
.work-section{border-top:1px solid var(--line)}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.project-card,.project-card:first-child,.filter-item .project-card,.filter-item:first-child .project-card{padding:0;border:1px solid var(--line);border-radius:11px;background:var(--paper);overflow:hidden;height:100%;color:var(--ink)}
.project-card:hover{border-color:var(--blue)}
.project-cover{height:151px;position:relative;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}
.cover-sage{background:#e8ede5;color:#72866f}.cover-blue{background:#e8edf1;color:#758a9b}.cover-sand{background:#eee8df;color:#9a876c}
html[data-theme=dark] .cover-sage{background:#2b382e;color:#8faaa0}html[data-theme=dark] .cover-blue{background:#2d363e;color:#91a8b8}html[data-theme=dark] .cover-sand{background:#3a342a;color:#b1a085}
.project-cover>svg{width:220px;height:100px;max-width:72%;margin-top:10px}
.cover-label{position:absolute;left:22px;top:15px;font-size:9px;letter-spacing:.5px;font-weight:500}
.project-content{padding:23px 24px 25px}.project-heading h3{font-size:20px;font-weight:500;letter-spacing:-.5px}.project-heading .project-arrow{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:13px;flex-shrink:0}
.project-content>p{font-size:13px;line-height:1.8;margin:9px 0 19px;max-width:410px;min-height:47px}
.tags{gap:6px;font-size:9px}.tags span{padding:3px 7px;background:var(--soft);border:1px solid var(--line);border-radius:4px}.tags span+span:before{content:none}
.notebook-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:8px 0 50px}.notebook-grid>.section{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:27px 28px 29px;margin:0}
.section-kicker{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.notebook-grid .section-top{margin-bottom:17px}.notebook-grid h2{font-size:24px}
.notebook-empty p{font-size:13px;color:var(--muted);line-height:1.85;margin:0 0 15px;max-width:310px;min-height:47px}.notebook-empty>span{display:block;font-size:10px;color:var(--muted);margin-bottom:20px}.notebook-empty .text-link{font-size:11px}
.notebook-grid .post-row{gap:10px;flex-wrap:wrap;padding:16px 0}.notebook-grid .post-date{width:100%;min-width:0}.notebook-grid .post-row h3{font-size:15px}.notebook-grid .post-row>span:last-child{display:none}
.site-footer{padding-top:27px;margin-top:0}.footer-links{font-size:12px;margin-bottom:25px;gap:27px}.footer-bottom{font-size:10px}
.page-intro{padding:57px 0 35px;max-width:750px}.page-intro h1{font-size:46px;letter-spacing:-1.5px}.page-intro>p{font-size:15px}.listing-section{padding-bottom:60px}.filter-bar{padding:19px 0 24px;border-top:0}.search-field{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:0 12px}.search-field input{padding:9px 0;margin:0;background:transparent}
.article{max-width:720px;padding:54px 0}.article-header h1{font-size:46px;letter-spacing:-1.5px}.article-deck{font-size:17px}.prose{font-size:16px}.prose h2{font-size:25px}.about-layout{max-width:720px;padding-bottom:55px}.timeline,.listing-section{padding-bottom:55px}.timeline-item{padding:30px 0}.patent-row{padding:27px 0}
.empty-state{padding:27px;border:1px solid var(--line);background:var(--paper);border-radius:9px}.empty-state h3{color:var(--ink);font-size:14px;margin-bottom:7px}.empty-state p{font-size:12px}
@media(max-width:1000px){.hero{gap:38px;grid-template-columns:minmax(0,1fr) 230px}.hero h1{font-size:59px}.hero-intro{font-size:16px}.site-header nav{gap:19px}.site-header{gap:20px}.notebook-grid>.section{padding:24px}.hero-aside{padding:23px}}
@media(max-width:760px){main,.site-header,.site-footer{width:calc(100% - 40px)}.site-header{padding:21px 0 18px;min-height:0;flex-wrap:wrap;gap:18px}.site-header nav{order:3;width:100%;justify-content:space-between;margin:0;gap:12px}.site-header nav a{font-size:12px}.wordmark{font-size:13px;gap:9px}.brand-mark{width:31px;height:31px;font-size:19px}.header-actions{margin-left:auto}.hero{padding:38px 0 35px;grid-template-columns:1fr;gap:27px}.hero h1{font-size:52px;letter-spacing:-1.7px;margin-bottom:18px}.role-line{font-size:9px;letter-spacing:1.2px}.hero-intro{font-size:16px;line-height:1.8;max-width:540px}.hero-aside{padding:21px 23px}.hero-aside>p{margin-bottom:16px}.aside-now{margin-bottom:15px}.hero-aside .aside-now{padding-top:12px}.hero-aside>p,.aside-now p{font-size:12px}.section{padding:26px 0 29px}.section-top{margin-bottom:20px;gap:12px}.section-top h2{font-size:24px}.section-top p{font-size:11px;max-width:220px}.section-top>.text-link{font-size:10px;gap:5px}.project-grid{grid-template-columns:1fr;gap:20px}.project-cover{height:133px}.project-content{padding:21px 22px}.project-heading h3{font-size:19px}.project-content>p{font-size:13px;min-height:0}.notebook-grid{grid-template-columns:1fr;padding:4px 0 35px;gap:20px}.notebook-grid>.section{padding:24px}.notebook-empty p{min-height:0;max-width:100%}.site-footer{padding-top:24px}.page-intro{padding-top:39px}.page-intro h1,.article-header h1{font-size:36px}.page-intro>p{font-size:14px}.article{padding-top:35px}.prose{font-size:15px}.prose h2{font-size:22px}.search-field input{width:170px}.filter-bar{gap:10px}.listing-section{padding-bottom:40px}.empty-state{padding:23px}}

/* The landing page introduces the person; collections live in their own sections. */
.site-header nav a{padding:7px 10px;border-radius:6px;white-space:nowrap}.site-header nav{gap:7px}
.site-header nav a[aria-current]{background:var(--soft);color:var(--ink)}.site-header nav a[aria-current]:after{content:none}
.profile-intro{max-width:850px;margin:63px auto 72px;border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden}
.profile-heading{padding:46px 50px 38px}.profile-heading .role-line{margin:0 0 17px;font-size:10px;letter-spacing:1.3px}
.profile-heading h1{font:400 58px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-1.8px;margin:0 0 24px}
.profile-bio{max-width:660px;font-size:19px;line-height:1.9;color:var(--muted)}.profile-bio>p{margin:0}.profile-bio>p+p{margin-top:17px}
.profile-connections{padding:24px 50px 29px;background:var(--soft);border-top:1px solid var(--line)}
.connection-label{display:block;font-size:10px;color:var(--muted);margin-bottom:13px;letter-spacing:.3px}
.profile-socials{margin:0;gap:11px}.profile-socials a{display:inline-flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:9px 14px;font-size:12px;color:var(--ink)}
.profile-socials a:hover{border-color:var(--blue);color:var(--blue)}.profile-socials svg{width:12px;height:12px}
.site-footer{margin-top:10px}.listing-section:has(.empty-state) .project-grid,.listing-section:has(.empty-state) .post-list{display:block}
@media(max-width:1000px){.site-header{gap:15px}.site-header nav{gap:2px}.site-header nav a{padding-inline:8px}.profile-intro{margin-top:47px}.profile-heading{padding:37px 39px 32px}.profile-connections{padding:22px 39px 26px}}
@media(max-width:760px){.site-header nav{justify-content:flex-start;gap:4px;flex-wrap:wrap}.site-header nav a{font-size:12px;padding:7px 10px}.profile-intro{margin:34px auto 43px;border-radius:12px}.profile-heading{padding:29px 26px 28px}.profile-heading h1{font-size:44px;letter-spacing:-1.2px;margin-bottom:19px}.profile-heading .role-line{font-size:9px;letter-spacing:.9px}.profile-bio{font-size:16px;line-height:1.85}.profile-connections{padding:21px 26px 25px}.profile-socials{gap:9px}.profile-socials a{font-size:12px;padding:8px 12px}.connection-label{font-size:10px}}

/* A focused profile with a separate career page. */
body.minimal-site{--bg:#faf9f6;--ink:#252b27;--muted:#767e76;--line:#e1e5dc;--accent:#5b715e;background:var(--bg);color:var(--ink);min-height:100svh;display:flex;flex-direction:column}
html[data-theme=dark] body.minimal-site{--bg:#171c19;--ink:#edf0e9;--muted:#98a39a;--line:#303b32;--accent:#b2c8b1}
.minimal-site main,.profile-header,.minimal-footer{width:min(860px,calc(100% - 64px));margin-inline:auto}
.profile-header{display:flex;align-items:center;justify-content:space-between;padding:30px 0;border-bottom:1px solid var(--line)}
.profile-monogram{font:italic 30px/1 Georgia,'Times New Roman',serif;letter-spacing:-2px;text-decoration:none}.profile-monogram span{color:var(--accent)}
.profile-header nav{display:flex;align-items:center;gap:28px}.profile-header nav a{font-size:12px;color:var(--muted);position:relative;padding:7px 0}.profile-header nav a[aria-current]{color:var(--ink)}.profile-header nav a[aria-current]:after{content:'';position:absolute;left:0;right:0;bottom:-31px;height:2px;background:var(--accent)}
.minimal-site main{flex:1}.profile-home{padding:104px 0 83px;max-width:720px}
.profile-home h1{font:400 clamp(48px,6.2vw,80px)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-2.8px;margin:0 0 24px}
.current-position{font-size:18px;line-height:1.65;letter-spacing:-.25px;margin:0;color:var(--ink)}.current-position>span{color:var(--muted)}
.minimal-socials{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px}.minimal-socials a{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:6px 0;text-decoration:none}.minimal-socials svg{width:12px;height:12px}.minimal-socials a:hover{color:var(--ink)}
.minimal-footer{padding:24px 0 28px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.minimal-footer>a{font-size:10px;color:var(--muted)}
.career-page{padding:58px 0 62px}.career-heading{margin-bottom:36px}.career-heading h1{font:400 46px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-1.4px;margin:0}
.career-list{list-style:none;padding:0;margin:0}.career-entry{display:grid;grid-template-columns:205px minmax(0,1fr);gap:40px;padding:28px 0;border-top:1px solid var(--line)}
.career-entry>h2{font-size:15px;line-height:1.6;font-weight:500;letter-spacing:-.2px;margin:0;overflow-wrap:break-word}.experience-roles{display:grid;gap:23px}.experience-role h3{font-size:14px;line-height:1.7;font-weight:400;margin:0}.experience-role .experience-dates{font-size:11px;line-height:1.7;color:var(--muted);margin:5px 0 0}
.minimal-site .article{padding-top:50px}.minimal-site a:focus-visible,.minimal-site button:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}
@media(max-width:600px){.minimal-site main,.profile-header,.minimal-footer{width:calc(100% - 44px)}.profile-header{padding:24px 0}.profile-monogram{font-size:27px}.profile-header nav{gap:23px}.profile-header nav a{font-size:11px}.profile-header nav a[aria-current]:after{bottom:-25px}.profile-home{padding:84px 0 68px}.profile-home h1{font-size:52px;letter-spacing:-1.8px;margin-bottom:20px}.current-position{font-size:15px}.minimal-socials{margin-top:25px;gap:24px}.career-page{padding:42px 0}.career-heading{margin-bottom:29px}.career-heading h1{font-size:36px}.career-entry{grid-template-columns:1fr;gap:13px;padding:24px 0}.career-entry>h2{font-size:15px}.experience-roles{gap:18px}.experience-role h3{font-size:13px}.experience-role .experience-dates{font-size:11px}.minimal-footer{padding:21px 0 24px}}

.experience-summary{max-width:550px;margin-top:13px;font-size:13px;line-height:1.85;color:var(--muted)}.experience-summary p{margin:0}.experience-summary p+p{margin-top:11px}.experience-summary a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.experience-summary a:hover{text-decoration-color:var(--accent)}.experience-summary ul{margin:10px 0 0;padding-left:18px}.experience-summary li+li{margin-top:5px}
@media(max-width:600px){.experience-summary{font-size:12px;line-height:1.85;margin-top:11px}}

/* The icon shows the mode the button switches to. */
.theme-toggle .theme-sun,html[data-theme=dark] .theme-toggle .theme-moon{display:none}.theme-toggle .theme-moon,html[data-theme=dark] .theme-toggle .theme-sun{display:flex}.theme-toggle:hover{color:var(--ink);border-color:var(--muted)}
.profile-header .theme-toggle{width:36px;height:36px;color:var(--muted);flex-shrink:0}.profile-header .theme-toggle svg{width:16px;height:16px}
