:root{--paper:#f6f5f1;--white:#fff;--ink:#202320;--muted:#686b65;--line:#dedfd8;--accent:#4b59d8;--lavender:#eeedfb;--green:#ddeaaf;--dark:#232922;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}svg{display:block}img{max-width:100%;display:block}::selection{background:#d9ddff;color:#202320}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.container{width:min(1216px,calc(100% - 96px));margin:auto}.mono,.eyebrow,.tag,.section-index{font:10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--muted);margin:0 0 25px}.eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent)}.skip{position:fixed;top:-100px;left:20px;padding:10px 18px;background:var(--ink);color:white;z-index:100}.skip:focus{top:12px}.header{position:sticky;top:0;z-index:30;background:rgba(246,245,241,.94);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.identity{display:flex;align-items:center;gap:13px;text-decoration:none}.logo{width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:var(--paper);border-radius:50%;font:19px Georgia,serif;letter-spacing:-1px}.identity-name{font-size:13px;font-weight:650;line-height:1.4}.identity-name small{display:block;font:9px var(--mono);color:var(--muted);font-weight:400;margin-top:5px;letter-spacing:.03em}.nav{display:flex;align-items:center;gap:30px}.nav a{font-size:12px;text-decoration:none;color:var(--muted);position:relative}.nav a:hover,.nav a[aria-current]{color:var(--ink)}.nav a[aria-current]:after{content:'';position:absolute;bottom:-8px;left:0;width:12px;height:2px;background:var(--accent)}.nav .nav-contact{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:7px 12px;border-radius:5px;font-size:12px}.hero{padding:83px 0 0}.hero-topline{display:flex;justify-content:space-between;align-items:center}.location{color:var(--muted);font:10px var(--mono)}.hero-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:65px;align-items:center}.hero h1{font:500 clamp(52px,5.6vw,79px)/1.09 var(--display);letter-spacing:-4.5px;margin:0 0 31px}.hero h1 span{color:var(--accent)}.hero-copy{max-width:565px;font-size:17px;line-height:1.8;color:var(--muted);margin:0 0 29px}.hero-copy strong{color:var(--ink);font-weight:550}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;font-weight:550;text-decoration:none;padding:13px 19px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--white);transition:background .2s,transform .2s}.button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:white;border-color:var(--ink)}.text-link{font-size:12px;font-weight:550;text-decoration:none;display:inline-flex;gap:14px;align-items:center}.text-link:hover{color:var(--accent)}.hero-person{position:relative;align-self:end;padding-bottom:21px}.portrait-frame{position:relative;overflow:hidden;background:#d9dad4;border-radius:110px 6px 6px 6px;aspect-ratio:1/.99}.portrait-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);filter:grayscale(1);object-position:center 38%}.portrait-caption{position:absolute;inset:auto 0 0;padding:50px 22px 18px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white}.portrait-caption strong{font-size:14px;font-weight:500}.portrait-caption span{display:block;font:9px var(--mono);color:#d7d7d3;margin-top:5px}.portrait-note{position:absolute;right:-18px;bottom:0;padding:13px 17px;background:var(--green);border:1px solid #c7d799;border-radius:4px;box-shadow:0 5px 14px #00000007;font-size:11px;display:flex;align-items:center;gap:9px}.status-dot{width:6px;height:6px;background:#475d26;border-radius:50%;display:inline-block}.hero-footer{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:20px;border-top:1px solid var(--line);margin-top:61px;padding:27px 0 32px}.hero-footer>div{padding-left:25px;border-left:1px solid var(--line)}.hero-footer>div:first-child{padding-left:0;border-left:0}.metric-value{font:500 30px/1.2 var(--display);letter-spacing:-1.2px;display:block}.metric-label{font-size:11px;color:var(--muted);display:block;margin-top:8px}.metric-context{font-size:9px;color:var(--muted);display:block;margin-top:3px}.section{padding:92px 0;border-top:1px solid var(--line)}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:39px}.section-index{color:var(--muted);display:block;margin-bottom:16px}.section-index b{font-weight:400;color:var(--accent);margin-right:15px}h2{font:500 43px/1.2 var(--display);letter-spacing:-1.9px;margin:0}h3{font-family:var(--display)}.section-desc{font-size:13px;color:var(--muted);max-width:310px;margin:0}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.project{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:7px;background:#fcfcf9;overflow:hidden}.project.featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.02fr}.project-art{min-height:255px;padding:30px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.project.featured .project-art{order:2;border-bottom:0;border-left:1px solid var(--line);min-height:380px}.project-body{padding:29px 31px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.project-meta{display:flex;align-items:center;gap:10px;font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:18px}.tag{padding:3px 7px;border:1px solid var(--line);border-radius:3px;font-size:8px;letter-spacing:.04em}.project h3{font-size:26px;letter-spacing:-1px;font-weight:550;line-height:1.28;margin:0 0 13px}.project.featured h3{font-size:33px;max-width:400px;letter-spacing:-1.3px}.project p{font-size:13px;color:var(--muted);margin:0 0 24px;max-width:460px}.project-result{margin-top:auto;padding-top:18px;display:flex;gap:10px;align-items:baseline;width:100%;border-top:1px solid var(--line)}.project-result strong{font:550 23px var(--display);letter-spacing:-.6px;white-space:nowrap}.project-result span{font-size:11px;color:var(--muted)}.project .text-link{margin-top:22px;width:100%;justify-content:space-between}.art-caption{position:absolute;bottom:12px;left:25px;font:8px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.voice-art{background:#e9edf4;background-image:radial-gradient(#d4d9e5 .7px,transparent .7px);background-size:12px 12px}.eval-window{width:100%;max-width:370px;border:1px solid #d5dce7;border-radius:6px;background:#fafbfe;box-shadow:0 18px 40px #4b5a7910;padding:23px;transform:rotate(-2deg)}.window-head{display:flex;align-items:center;justify-content:space-between;font:8px var(--mono);text-transform:uppercase;color:#636f87;letter-spacing:.06em;border-bottom:1px solid #e2e6ef;padding-bottom:16px}.tiny-dots{display:flex;gap:4px}.tiny-dots i{width:5px;height:5px;border-radius:50%;background:#c6ccd8}.chart-title{font-size:12px;margin-top:19px}.bar-row{display:grid;grid-template-columns:58px 1fr 43px;gap:10px;align-items:center;margin-top:19px;font:10px var(--mono);color:#667082}.bar{height:24px;background:#e9edf4;border-radius:2px;overflow:hidden}.bar i{display:block;height:100%;background:#adb8ce;width:70%}.bar.after i{background:var(--accent);width:90%}.bar-row strong{font-size:12px;color:#39455c;font-weight:500}.eval-foot{font-size:9px;color:#6c7586;margin-top:23px;padding-top:13px;border-top:1px solid #e2e6ef}.analyst-art{background:#eeecf5}.query-window{width:100%;max-width:360px;border:1px solid #d9d5e7;border-radius:5px;background:#fcfbff;box-shadow:0 12px 24px #514c7210;padding:20px;transform:rotate(1.5deg)}.query-bubble{font-size:12px;background:#efedf6;border:1px solid #e3dff0;padding:12px;border-radius:5px}.query-path{display:flex;align-items:center;justify-content:space-between;margin:20px 0;gap:6px;font:9px var(--mono);color:#827695}.query-path span{background:white;border:1px solid #ddd6e9;border-radius:3px;padding:7px}.query-answer{display:flex;align-items:center;gap:12px;font-size:10px;color:#685c7b}.check-icon{display:grid;place-items:center;border:1px solid #cdc6dc;border-radius:50%;width:22px;height:22px;flex-shrink:0}.science-art{background:#edf0e5}.science-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:22px;width:100%;max-width:360px}.specimen{position:relative;aspect-ratio:1;border:1px solid #cad3bb;border-radius:50%;background:radial-gradient(circle at 50% 50%,#e8eddf,#dce5cc);box-shadow:inset 0 0 35px #a3b18b20}.specimen i{position:absolute;width:16px;height:25px;border:1px solid #647a4c;border-radius:50%;background:#a8ba8180;transform:rotate(var(--r))}.specimen i:after{content:'';position:absolute;inset:-4px;border:1px solid #94a97488;border-radius:2px}.science-stages{display:grid;gap:10px}.science-stages span{font:9px var(--mono);background:#fafbf7;border:1px solid #d8dfca;border-radius:3px;padding:9px;color:#576647}.science-stages small{font:8px var(--mono);color:#758462}.startup-art{background:#efe9dd}.order-stack{width:100%;max-width:330px;position:relative;padding:10px 20px}.order-stack:before{content:'';position:absolute;inset:0 10px;background:#e1d8c7;transform:rotate(-5deg);border:1px solid #d8cebb;border-radius:5px}.order-receipt{position:relative;background:#fffdf8;padding:22px;border:1px solid #ded5c4;border-radius:4px;transform:rotate(2deg)}.receipt-head{font:9px var(--mono);color:#8a7858;display:flex;justify-content:space-between;padding-bottom:13px;border-bottom:1px dashed #d8cbb6}.receipt-title{font:500 23px var(--display);letter-spacing:-.5px;margin-top:12px}.receipt-row{display:flex;justify-content:space-between;font:10px var(--mono);padding:7px 0;color:#817154}.receipt-row.total{border-top:1px dashed #d8cbb6;margin-top:6px;padding-top:11px;color:#4f5d34}.foundation-art{background:#e9edf0}.route-diagram{width:100%;max-width:360px;color:#768c9c}.document-art{background:#f0e9e5}.doc-pipeline{display:flex;gap:15px;align-items:center;justify-content:center;width:100%}.doc-page{background:#fffaf5;border:1px solid #d9c9bd;width:90px;height:116px;padding:17px 12px;transform:rotate(-5deg);box-shadow:0 5px 15px #775e4610}.doc-page i{display:block;height:3px;margin-bottom:9px;background:#d6c6b8}.doc-page i:nth-child(2){width:70%}.doc-result{border:1px solid #d9c9bd;border-radius:5px;background:#fffaf5;padding:18px;font:10px/2 var(--mono);color:#8b715f}.foundation-project{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;padding-top:30px}.foundation-project article{display:flex;gap:18px;align-items:flex-start}.foundation-number{color:var(--accent);font:11px var(--mono);padding-top:5px}.foundation-project h3{font-size:18px;line-height:1.4;letter-spacing:-.5px;margin:0 0 8px;font-weight:550}.foundation-project p{font-size:12px;color:var(--muted);margin:0 0 12px}.philosophy{background:var(--dark);color:#f4f5ed;border:0}.philosophy .section-index{color:#b3bbae}.philosophy .section-index b{color:var(--green)}.philosophy-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:95px}.philosophy h2{font-size:48px;max-width:410px;line-height:1.2}.philosophy h2 em{font:italic 1.08em Georgia,serif;color:var(--green)}.philosophy-intro{color:#bcc3b7;font-size:14px;max-width:370px;margin:25px 0 0}.principle-list{display:grid}.principle{display:grid;grid-template-columns:25px 1fr;gap:17px;padding:24px 0;border-top:1px solid #465042}.principle:first-child{padding-top:0;border-top:0}.principle>span{color:#bbc89f;font:10px var(--mono);padding-top:5px}.principle h3{font-size:16px;font-weight:500;letter-spacing:-.3px;margin:0 0 8px}.principle p{font-size:12px;color:#bcc3b7;margin:0}.public-work{display:grid;grid-template-columns:1fr 1fr;gap:70px}.code-card{background:#eeedf7;border:1px solid #dcd9ea;border-radius:6px;padding:30px}.code-card h3{font-size:23px;letter-spacing:-.8px;font-weight:550;margin:16px 0 12px}.code-card p{font-size:13px;color:var(--muted);margin:0 0 24px}.code-example{background:#fafaff;border:1px solid #dfdeeb;border-radius:4px;padding:18px;font:11px/2 var(--mono);color:#5d5b72;overflow-wrap:anywhere}.code-example .code-label{color:#6c6a7f;font-size:9px;text-transform:uppercase;letter-spacing:.1em;display:block}.code-example .code-output{color:var(--accent);display:block}.code-card .text-link{margin-top:23px;display:flex;justify-content:space-between}.writing-list{border-top:1px solid var(--line)}.writing-item{display:block;padding:25px 0;border-bottom:1px solid var(--line);text-decoration:none}.writing-item .mono{color:var(--muted);font-size:9px}.writing-item h3{font-size:21px;font-weight:500;letter-spacing:-.6px;line-height:1.4;margin:12px 0 10px;display:flex;gap:18px;justify-content:space-between}.writing-item h3 span{color:var(--accent);font-size:19px}.writing-item p{font-size:12px;color:var(--muted);margin:0;max-width:400px}.writing-item:hover h3{color:var(--accent)}.writing-more{display:inline-block;margin-top:20px}.quote{display:grid;grid-template-columns:130px 1fr;gap:40px;padding:48px 0 0;margin-top:60px;border-top:1px solid var(--line)}.quote-label{font:10px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.quote blockquote{font:400 28px/1.5 var(--display);letter-spacing:-.8px;margin:0;max-width:830px}.quote figcaption{margin-top:20px;font-size:11px;color:var(--muted)}.quote figcaption strong{color:var(--ink);font-weight:550}.quote a{font-size:10px;margin-left:8px}.experience-layout{display:grid;grid-template-columns:330px 1fr;gap:70px}.experience-intro{font-size:14px;color:var(--muted);margin-top:23px;max-width:295px}.timeline{border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:118px 1fr;gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.job-date{font:9px/1.7 var(--mono);color:var(--muted);padding-top:4px}.job h3{font-size:18px;font-weight:550;letter-spacing:-.5px;margin:0}.job-role{font-size:12px;color:var(--accent);margin:5px 0 10px}.job p:not(.job-role){font-size:12px;color:var(--muted);margin:0}.about-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:100px}.about-copy{font-size:15px;color:var(--muted);margin:25px 0 0}.about-copy strong{color:var(--ink);font-weight:500}.education{margin-top:30px;border-top:1px solid var(--line);padding-top:23px;display:grid;gap:19px}.education strong{font-size:12px;display:block;font-weight:550}.education span{font-size:11px;color:var(--muted)}.capability{padding:18px 0;border-bottom:1px solid var(--line)}.capability:first-child{border-top:1px solid var(--line)}.capability h3{font:10px var(--mono);letter-spacing:.04em;text-transform:uppercase;font-weight:400;color:var(--accent);margin:0 0 11px}.capability p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.recognition{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px}.recognition span{font-size:10px;color:var(--muted)}.recognition b{color:var(--ink);font-weight:500}.contact{background:#e8ebdf;padding:79px 0 60px;border-top:1px solid #d8ddce}.contact-layout{display:flex;justify-content:space-between;align-items:flex-end;gap:45px}.contact h2{font-size:58px;letter-spacing:-2.8px;line-height:1.15;max-width:650px}.contact h2 em{font:italic 1.08em Georgia,serif;color:#63744c}.contact p{font-size:13px;max-width:500px;color:#65715b;margin:24px 0 0}.contact-actions{display:flex;gap:10px;flex-shrink:0;flex-direction:column;align-items:stretch;min-width:173px}.copy-status{min-height:18px;font-size:10px;color:#556740;display:block;text-align:center}.contact-bottom{border-top:1px solid #cfd6c4;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;margin-top:45px;font-size:11px;color:#627058}.socials{display:flex;gap:25px}.socials a{text-decoration:none}.socials a:hover{text-decoration:underline}.footer{padding:21px 0}.footer .container{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font:9px var(--mono)}
/* Case studies */
.case-hero{padding:55px 0 55px}.back-link{display:inline-flex;gap:10px;font-size:12px;color:var(--muted);text-decoration:none;margin-bottom:44px}.back-link:hover{color:var(--accent)}.case-hero h1{font:500 clamp(38px,4.5vw,62px)/1.13 var(--display);letter-spacing:-2.8px;max-width:900px;margin:18px 0 25px}.case-subtitle{font-size:18px;line-height:1.7;color:var(--muted);max-width:760px;margin:0}.case-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;border-top:1px solid var(--line);margin-top:40px;padding-top:25px}.case-facts dt{font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.case-facts dd{font-size:12px;margin:0;max-width:350px}.case-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;background:#e9ece3;padding:35px;border-radius:6px;margin-bottom:60px}.case-metrics strong{font:500 36px var(--display);letter-spacing:-1.5px;display:block}.case-metrics span{font-size:12px;color:var(--muted)}.case-layout{display:grid;grid-template-columns:210px 1fr;gap:80px;align-items:start;margin-bottom:80px}.case-toc{position:sticky;top:120px;display:grid;gap:13px}.case-toc a{font-size:12px;color:var(--muted);text-decoration:none}.case-toc a:hover{color:var(--accent)}.case-article{max-width:760px}.case-section{padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid var(--line);scroll-margin-top:110px}.case-section h2{font-size:29px;letter-spacing:-1px;margin-bottom:20px}.case-section p,.case-section li{font-size:15px;color:var(--muted);line-height:1.9}.case-section ul{padding-left:20px}.case-section li{margin-bottom:12px}.case-section strong{color:var(--ink);font-weight:550}.decision{padding:22px;background:#efeee9;border-left:2px solid var(--accent);margin:25px 0}.decision .mono{color:var(--accent)}.decision p{font-size:14px;margin-bottom:0}.system-path{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:25px 0}.system-path span{border:1px solid var(--line);background:white;padding:9px 12px;font:10px var(--mono);border-radius:4px}.system-path i{font-style:normal;color:var(--muted)}.case-note{font:11px/1.8 var(--sans);color:var(--muted);background:#efeee9;padding:17px 20px;border-radius:4px}.next-case{padding:35px 0 55px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center}.next-case .mono{color:var(--muted)}.next-case h3{font-size:22px;letter-spacing:-.6px;font-weight:500;margin:8px 0 0}
@media(min-width:1500px){.hero h1{font-size:83px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.hero-layout{gap:40px;grid-template-columns:1.5fr 1fr}.hero h1{font-size:60px;letter-spacing:-3px}.nav{gap:22px}.philosophy-layout{gap:50px}.experience-layout{grid-template-columns:260px 1fr;gap:40px}.about-layout{gap:50px}.public-work{gap:40px}.contact h2{font-size:48px}.case-layout{gap:45px;grid-template-columns:160px 1fr}.project-art{padding:22px}.science-layout{gap:14px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.header-inner{height:72px}.identity-name{font-size:12px}.identity-name small{font-size:8px}.js .menu-toggle{display:block;min-height:42px}.nav{gap:20px;flex-wrap:wrap}.js .nav{display:none;position:absolute;top:71px;left:0;right:0;padding:22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 18px #00000006;flex-wrap:wrap}.js .nav.open{display:flex}.nav a{font-size:12px}.nav a[aria-current]:after{display:none}.hero{padding-top:43px}.hero-layout{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(44px,8.4vw,65px);letter-spacing:-2.8px;max-width:570px}.hero-copy{font-size:15px;max-width:530px}.hero-topline .location{display:none}.eyebrow{font-size:9px;margin-bottom:22px}.hero-person{width:100%;max-width:380px;justify-self:center}.portrait-frame{aspect-ratio:1/ .84;border-top-left-radius:80px}.portrait-note{right:0}.hero-footer{grid-template-columns:1fr 1fr;gap:22px;margin-top:36px;padding-bottom:30px}.hero-footer>div{padding-left:20px}.hero-footer>div:nth-child(3){padding-left:0;border-left:0}.metric-value{font-size:28px}.section{padding:58px 0}.section-header{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:28px}h2{font-size:34px;letter-spacing:-1.4px}.section-desc{max-width:450px}.work-grid{gap:20px;grid-template-columns:1fr}.project.featured{display:flex}.project.featured .project-art{order:0;border-left:0;border-bottom:1px solid var(--line);min-height:285px}.project-art{min-height:260px;padding:30px}.project-body{padding:25px}.project.featured h3,.project h3{font-size:27px;letter-spacing:-.9px}.project-meta{font-size:8px;flex-wrap:wrap}.project p{font-size:13px}.project-result strong{font-size:24px}.project-result span{font-size:10px}.foundation-project{grid-template-columns:1fr;gap:28px;margin-top:28px}.philosophy-layout,.public-work,.experience-layout,.about-layout{grid-template-columns:1fr;gap:36px}.philosophy h2{font-size:40px;max-width:480px}.philosophy-intro{max-width:450px}.quote{grid-template-columns:1fr;gap:16px;margin:42px 0 0;padding-top:30px}.quote blockquote{font-size:23px}.quote a{display:block;margin:7px 0 0}.experience-intro{max-width:450px}.job{grid-template-columns:94px 1fr;gap:17px}.job-date{font-size:8px}.job h3{font-size:16px}.job-role{font-size:11px}.contact{padding:53px 0 35px}.contact-layout{flex-direction:column;align-items:flex-start;gap:27px}.contact h2{font-size:43px;letter-spacing:-2px}.contact-actions{display:grid;grid-template-columns:1fr 1fr;min-width:0}.copy-status{grid-column:1/-1}.contact-bottom{margin-top:23px;flex-direction:column;gap:22px}.footer .container{font-size:8px;flex-wrap:wrap}.case-hero{padding:30px 0 35px}.back-link{margin-bottom:30px}.case-hero h1{font-size:41px;letter-spacing:-1.8px}.case-subtitle{font-size:16px}.case-facts{grid-template-columns:1fr;gap:20px;margin-top:30px}.case-metrics{gap:20px;padding:24px;grid-template-columns:1fr;margin-bottom:35px}.case-metrics>div{padding-bottom:16px;border-bottom:1px solid #d5dacf}.case-metrics>div:last-child{border:0;padding:0}.case-metrics strong{font-size:30px}.case-layout{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.case-toc{position:static;display:flex;flex-wrap:wrap;gap:12px 20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.case-toc a{font-size:11px}.case-section h2{font-size:26px}.case-section p,.case-section li{font-size:14px}.next-case{align-items:flex-start;flex-direction:column}.next-case h3{font-size:20px}}
@media(max-width:360px){.identity-name small{display:none}.hero h1{font-size:41px}.project-result{flex-direction:column;gap:3px}.science-layout{gap:10px}.science-stages span{font-size:8px;padding:8px}.contact-actions{grid-template-columns:1fr}.contact h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.header,.hero-person,.project-art,.contact-actions,.case-toc,.skip{display:none}.container{width:100%}body{background:white;font-size:11pt}.hero{padding-top:0}.hero-layout,.experience-layout,.about-layout,.philosophy-layout,.public-work,.case-layout{display:block}.section{padding:25px 0}.project,.job{break-inside:avoid}.project.featured{display:block}.philosophy,.contact{background:white;color:var(--ink)}.philosophy p,.philosophy .section-index{color:var(--muted)}.philosophy h2 em{color:var(--ink)}a{text-decoration:none}.hero h1{font-size:40px}.contact h2{font-size:32px}.work-grid{gap:15px}.case-layout{margin:0}.case-section{break-inside:avoid}.case-hero h1{font-size:38px}}

@media(max-width:760px){html:not(.js) .header-inner{height:auto;min-height:72px;flex-wrap:wrap;padding-block:15px}html:not(.js) .nav{width:100%}.js .nav a{padding-block:8px;min-height:40px}}

/* Recognition and broader engineering portfolio */
.awards-band{padding:32px 0 37px;border-top:1px solid var(--line);background:#eeede5}.awards-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:24px}.awards-heading .mono{color:var(--muted);font-size:9px}.awards-heading h2{font-size:23px;letter-spacing:-.7px}.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.award{display:flex;align-items:flex-start;gap:15px;border-right:1px solid #d6d6ca;padding-right:20px}.award:last-child{border:0;padding-right:0}.award-seal{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:1px solid #a6ac8a;border-radius:50%;color:#687344;font-size:23px;background:#e5e8d5}.award-result{font:8px/1.5 var(--mono);letter-spacing:.07em;color:#626a43;display:block;margin-bottom:6px}.award h3{font-size:15px;letter-spacing:-.4px;font-weight:600;line-height:1.35;margin:0 0 6px}.award p{font-size:10px;color:var(--muted);margin:0}.encounter-art{background:#e9efed}.encounter-visual{display:flex;align-items:center;justify-content:center;gap:25px;width:100%;max-width:365px}.encounter-visual svg{width:90px;flex-shrink:0;fill:#d4e2de;stroke:#749489;stroke-width:1.4}.encounter-visual .symptom{fill:#759a88;stroke:#557967}.encounter-steps{display:grid;gap:8px}.encounter-steps span{padding:8px 10px;border:1px solid #cddcd5;background:#f8fbf9;border-radius:3px;font:9px/1.5 var(--mono);color:#506e60}.warehouse-art{background:#e8edf3}.warehouse-visual{display:grid;justify-items:center;gap:9px;width:100%;max-width:365px}.data-sources,.data-outputs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.data-sources span,.data-outputs span{border:1px solid #ccd5e0;background:#f7f9fd;padding:8px;font:9px var(--mono);border-radius:3px;color:#54667d}.warehouse-core{padding:18px 22px;background:#e0e5f3;border:1px solid #b9c5dd;font-size:13px;border-radius:5px;text-align:center;color:#455779}.data-arrow{font-size:16px;color:#8797ad}
@media(max-width:900px){.award{gap:10px;padding-right:12px}.award-grid{gap:15px}.award h3{font-size:13px}.award-seal{width:30px;height:30px;font-size:19px}}
@media(max-width:760px){.awards-heading{flex-direction:column;gap:9px}.award-grid{grid-template-columns:1fr;gap:19px}.award{border:0;border-bottom:1px solid #d6d6ca;padding:0 0 19px;gap:16px}.award:last-child{padding:0}.award h3{font-size:16px}.award-result{font-size:9px}.award p{font-size:11px}.award-seal{width:37px;height:37px;font-size:22px}.encounter-visual{gap:13px}.encounter-visual svg{width:65px}.encounter-steps span{font-size:8px;padding:7px}.data-sources span,.data-outputs span{font-size:8px}}

/* Four recognitions, balanced across desktop and mobile. */
.award-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:761px) and (max-width:1100px){.award-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.award:nth-child(2){border-right:0}}
@media(max-width:760px){.award-grid{grid-template-columns:1fr}.award:nth-child(3){border-bottom:1px solid #d6d6ca}.award:last-child{border-bottom:0}}

/* Peer recommendations: four featured excerpts (2x2), three optional excerpts, and a link to every full recommendation. */
.recommendations{background:#efeee8}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.recommendation{margin:0;padding:27px;background:#fafaf6;border:1px solid #dadcd2;border-radius:6px;display:flex;flex-direction:column;min-width:0}.recommendation-topic{font:9px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:20px}.recommendation blockquote{font:500 18px/1.65 var(--display);letter-spacing:-.35px;margin:0 0 26px}.recommendation figcaption{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.recommendation figcaption img{width:44px;height:44px;object-fit:cover;border-radius:50%;flex-shrink:0}.recommendation-name{font-size:12px;font-weight:600;text-decoration:none;line-height:1.5}.recommendation-name:hover{color:var(--accent)}.recommendation-name span{color:var(--muted);font-size:10px}.recommendation-role{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}.recommendation time{display:block;font-size:9px;line-height:1.5;color:var(--muted);margin-top:4px}.more-recommendations{margin-top:22px}.more-recommendations summary{display:flex;align-items:center;gap:16px;list-style:none;cursor:pointer;padding:18px 0;font-size:13px;font-weight:500;border-top:1px solid #d2d5c9;border-bottom:1px solid #d2d5c9}.more-recommendations summary::-webkit-details-marker{display:none}.recommendation-count{font:10px var(--mono);color:var(--muted);font-weight:400;margin-left:auto}.disclosure-symbol{font-size:20px;width:20px;text-align:center}.disclosure-symbol:before{content:'+'}.more-recommendations[open] .disclosure-symbol:before{content:'−'}.more-recommendations[open] .recommendation-grid{margin-top:22px}.recommendations-source{margin-top:27px}.more-recommendations .recommendation blockquote{font-size:16px}
.recommendation-grid.featured{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendations-more{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:27px;padding:22px 24px;border:1px solid #d2d5c9;border-radius:6px;background:#fafaf6}.recommendations-more p{margin:0;font-size:14px;color:var(--muted);max-width:52ch}.recommendations-more .recommendations-source{margin-top:0}
@media(max-width:760px){.recommendation-grid.featured{grid-template-columns:1fr}.recommendations-more{padding:18px}.recommendations-more .button{width:100%;justify-content:center}}
@media(max-width:1050px){.recommendation-grid{gap:15px}.recommendation{padding:21px}.recommendation blockquote{font-size:16px}.recommendation figcaption{align-items:flex-start;gap:9px}.recommendation figcaption img{width:36px;height:36px}}
@media(max-width:760px){.recommendation-grid{grid-template-columns:1fr;gap:16px}.recommendation{padding:25px}.recommendation blockquote{font-size:18px}.recommendation figcaption{align-items:center}.recommendation figcaption img{width:44px;height:44px}.recommendation-count{font-size:8px}.more-recommendations summary{gap:9px;font-size:12px}.recommendations-source{font-size:11px}}
@media print{.recommendation{break-inside:avoid}.recommendation-grid{grid-template-columns:1fr}.more-recommendations>.recommendation-grid{display:grid!important}.more-recommendations summary{display:none}}
