@font-face{font-family:Instrument Serif;src:url('/assets/fonts/instrument-serif.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url('/assets/fonts/instrument-serif-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:DM Sans;src:url('/assets/fonts/dm-sans.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url('/assets/fonts/dm-sans-medium.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--paper:#f6f4ef;--ink:#292b27;--muted:#62635d;--wine:#742f43;--wine-dark:#572335;--rose:#f0e4e6;--line:#d9d8ce;--sage:#e8ece4;--white:#fffefa;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',sans-serif;--max:1200px;--space:clamp(24px,5vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px;scrollbar-color:#a5a295 var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:var(--wine);color:var(--paper)}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--wine);outline-offset:5px}button:disabled{cursor:default;opacity:.5}svg{width:21px;height:21px;flex-shrink:0}a svg{transition:transform .22s cubic-bezier(.16,1,.3,1)}a:hover svg{transform:translate(3px,-1px)}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h4{font-family:var(--serif);font-weight:400}h1,h2,h3,h4{text-wrap:balance}h1{font-size:clamp(52px,6.25vw,90px);line-height:1.06;letter-spacing:-.027em}h2{font-size:clamp(36px,3.4vw,48px);line-height:1.12;letter-spacing:-.02em}h3{font-weight:500;font-size:20px;line-height:1.4}em{color:var(--wine);font-weight:400}p{color:var(--muted)}.wrap{width:min(var(--max),calc(100% - var(--space)*2));margin-inline:auto}[hidden]{display:none!important}.skip-link{position:fixed;top:10px;left:10px;z-index:50;padding:12px 20px;background:var(--wine);color:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:111px;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:18px;text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap}.brand-mark{font-family:var(--serif);font-size:43px;line-height:1;letter-spacing:-3px}.brand-mark span{color:var(--wine)}.site-header nav{display:flex;align-items:center;gap:36px;font-size:14px}.site-header nav a{text-decoration:none;padding-block:12px;position:relative}.site-header nav a[aria-current]:after{content:'';position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--wine)}.site-header nav a:hover{color:var(--wine)}.site-header .nav-contact{display:flex;gap:9px;align-items:center;color:var(--wine);margin-left:10px}.hero{display:grid;grid-template-columns:1.7fr 1fr;align-items:center;gap:64px;padding-top:79px;padding-bottom:76px}.role-line{font-size:13px;color:var(--wine);margin-bottom:21px;letter-spacing:.015em}.hero h1{font-size:clamp(57px,6.3vw,88px);line-height:1.065}.hero-copy{font-size:18px;max-width:40ch;margin-top:24px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;background:var(--wine);color:var(--white);border:1px solid transparent;border-radius:4px;padding:13px 21px;text-decoration:none;font-size:14px;font-weight:500;line-height:1.7;transition:background .2s}.button:hover{background:var(--wine-dark)}.button-outline{background:transparent;color:var(--wine);border-color:var(--wine)}.button-outline:hover{background:var(--rose)}.text-link{display:inline-flex;gap:12px;align-items:center;color:var(--wine);font-size:14px;text-decoration:none}.text-link:hover{text-decoration:underline}.hero-location{display:flex;align-items:center;gap:9px;font-size:11px;margin-top:32px;white-space:nowrap}.location-dot{width:6px;height:6px;background:var(--wine);border-radius:50%}.location-divider{margin-inline:3px;color:#9b9b90}.hero-note{background:var(--rose);padding:30px 31px 26px;transform:rotate(2deg);min-height:350px;position:relative;animation:note-arrives .85s cubic-bezier(.16,1,.3,1) both}.hero-note:before{content:'';position:absolute;inset:9px -9px -9px 9px;border:1px solid #d5bec3;z-index:-1}.note-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--wine)}.note-top svg{width:31px;height:31px}.hero-note>p{font-family:var(--serif);font-size:clamp(30px,3.25vw,43px);line-height:1.16;letter-spacing:-.012em;color:var(--ink);margin:28px 0}.note-bottom{display:flex;justify-content:space-between;align-items:end;padding-top:19px;border-top:1px solid #d6bdc3}.note-signature{font:italic 26px var(--serif);color:var(--wine);transform:rotate(-7deg)}@keyframes note-arrives{from{transform:translateY(10px) rotate(0deg)}to{transform:translateY(0) rotate(2deg)}}.experience-strip{border-block:1px solid var(--line);padding:24px 0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.experience-strip>span{font-size:11px;max-width:115px;line-height:1.6;color:var(--muted)}.experience-strip>div{display:flex;align-items:center;gap:clamp(25px,5vw,68px);color:#5b5d56}.section{padding-block:78px 83px;scroll-margin-top:25px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.section-heading h2{font-size:43px}.section-heading p{margin-top:8px;font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px}.project-card{min-width:0}.project-cover{display:block;text-decoration:none;overflow:hidden;position:relative}.project-visual{height:255px;position:relative;padding:24px;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1)}.project-cover:hover .project-visual{transform:scale(1.025)}.architecture{background:#e6ebe1}.mini-wordmark{font-size:13px;font-weight:500;display:flex;align-items:center;gap:13px}.mini-wordmark>span{font-size:7px;font-weight:400;border-left:1px solid #a3aaa0;padding-left:10px}.mini-layout{display:grid;grid-template-columns:71px 1fr;margin-top:23px;gap:16px}.mini-sidebar{font-size:7px;line-height:3;color:#586550;border-right:1px solid #c3ccbe}.mini-sidebar b{color:#2e432d;font-weight:500}.mini-main h4{font-size:29px;line-height:1.1;margin:10px 0 13px}.mini-rule{width:22px;height:2px;background:#5f7356;display:block}.mini-line{display:block;width:85%;height:3px;background:#c1cbbd;margin-bottom:5px}.mini-line.short{width:60%}.mini-topics{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:12px;font-size:7px}.mini-topics>span{border-top:1px solid #b1bdab;padding-top:4px}.visual-caption{position:absolute;bottom:13px;left:24px;font-size:8px;color:#586550}.streams{background:#e8e7f0;color:#423e5d}.visual-label{font-size:10px;color:#57506d}.stream-flow{display:flex;align-items:center;margin-top:36px;gap:7px}.stream-flow>span{padding:7px;border:1px solid #ada6c4;font-size:8px;white-space:nowrap}.stream-flow i{flex:1;min-width:7px;height:1px;background:#9f96b3;position:relative}.stream-flow i:after{content:'';position:absolute;right:0;top:-2px;width:4px;height:4px;border-top:1px solid #9f96b3;border-right:1px solid #9f96b3;transform:rotate(45deg)}.streams h4{font-size:35px;line-height:1.1;margin-top:25px}.streams .visual-caption{color:#605973}.strategy{background:#e8ddcf;padding:20px 49px 0}.strategy-paper{background:#fffcf4;min-height:270px;transform:rotate(-6deg);padding:17px 23px;box-shadow:4px 8px 18px #7564511a}.strategy-paper>span{font-weight:500;font-size:9px}.strategy-paper h4{font-size:34px;line-height:.99;margin-top:17px}.strategy-line{height:1px;background:#a4a295;margin:14px 0 8px}.strategy-paper small{font-size:7px;line-height:1.3;display:block}.strategy>.visual-caption{background:#e8ddcf;left:0;bottom:0;width:100%;padding:9px 24px;color:#635346}.project-meta{display:flex;align-items:center;gap:13px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:20px;line-height:1.4}.project-meta>span:first-child{color:var(--wine);font-weight:500}.project-meta>span+span{border-left:1px solid #c4c1b7;padding-left:13px}.project-card :is(h2,h3){font-family:var(--serif);font-size:28px;line-height:1.12;font-weight:400;margin-top:11px;letter-spacing:-.01em}.project-card :is(h2,h3) a{text-decoration:none;display:flex;align-items:start;gap:14px;justify-content:space-between}.project-card :is(h2,h3) svg{width:18px;margin-top:5px}.project-card :is(h2,h3) a:hover{color:var(--wine)}.project-card>p{font-size:13px;line-height:1.65;margin-top:11px;max-width:37ch}.approach-section{background:#ebece5;padding-block:76px}.approach-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:120px}.approach-layout>div:first-child p{margin-top:23px;max-width:35ch;font-size:15px}.approach-layout>div:first-child .text-link{margin-top:27px}.approach-list article{padding:22px 0;border-top:1px solid #c9cdc1}.approach-list article:first-child{padding-top:0;border-top:0}.approach-list article:last-child{padding-bottom:0}.approach-list h3{font-size:17px;margin-bottom:8px}.approach-list p{font-size:14px;line-height:1.75;max-width:53ch}.writing-home{padding-block:77px 83px}.writing-row{display:grid;grid-template-columns:120px 1fr 65px 21px;gap:20px;align-items:center;text-decoration:none;border-top:1px solid var(--line);padding:23px 0}.writing-row:last-of-type{border-bottom:1px solid var(--line)}.writing-row:hover h3{color:var(--wine)}.writing-type,.writing-company{font-size:11px;color:var(--muted)}.writing-row h3{font-family:var(--serif);font-size:25px;font-weight:400}.writing-row svg{color:var(--wine)}.small-note{font-size:11px;line-height:1.8;margin-top:20px;color:var(--muted)}.contact{background:var(--wine);color:var(--paper);padding-block:67px 70px;scroll-margin-top:0}.contact-inner{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:80px}.contact h2{font-size:43px}.contact p{color:#ecd8de;font-size:14px;margin-top:19px;line-height:1.8}.contact-links{display:flex;flex-direction:column;align-items:stretch;gap:0}.contact-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;padding:14px 0;border-bottom:1px solid #a56a7b;font-size:17px}.contact-link:hover{color:#f3cbd5}.contact-links>span{font-size:10px;color:#ecd8de;margin-top:18px}.contact a:focus-visible{outline-color:#fffefa}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:91px;color:var(--muted);font-size:10px}.site-footer a{display:flex;align-items:center;gap:9px;text-decoration:none}.site-footer svg{width:15px;height:15px}.page-intro{padding-block:80px 55px}.page-intro>p{font-size:18px;max-width:60ch;margin-top:27px;line-height:1.8}.page-intro>.button{margin-top:28px}.work-index{padding-top:13px}.work-index .project-grid{row-gap:58px}.work-index .project-card :is(h2,h3){font-size:29px}.simple-visual{background:var(--sage);display:flex;flex-direction:column;justify-content:space-between}.simple-visual>span{font-size:11px;color:#4c5947}.simple-visual h4{font-size:32px;line-height:1.05}.simple-visual.research{background:#e9e2d3}.simple-visual.accessibility{background:#e6e7ed}.simple-visual.education{background:#eadddf}.case-header{padding-top:39px;padding-bottom:56px}.back-link{font-size:12px;text-decoration:none;color:var(--muted);display:inline-flex;align-items:center;gap:8px}.back-link:before{content:'';width:8px;height:8px;border-left:1px solid;border-bottom:1px solid;transform:rotate(45deg)}.back-link:hover{color:var(--wine)}.case-header .project-meta{margin:53px 0 17px;font-size:12px}.case-header h1{max-width:1000px;font-size:clamp(52px,6vw,82px)}.case-lede{max-width:64ch;font-size:19px;line-height:1.75;margin-top:26px}.case-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:95px;border-top:1px solid var(--line);padding-top:47px;padding-bottom:65px}.case-aside{align-self:start;position:sticky;top:28px}.case-aside dl{margin:0}.case-aside dt,.profile-facts dt{font-size:11px;font-weight:500;color:var(--wine);margin-bottom:7px}.case-aside dd{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 24px}.case-aside nav{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:22px;font-size:12px}.case-aside nav a{text-decoration:none}.case-aside nav a:hover{text-decoration:underline;color:var(--wine)}.case-body{max-width:700px}.case-body section+section{margin-top:52px}.case-body h2{font-size:39px;margin-bottom:22px}.case-body h3{font-size:17px;margin-top:25px;margin-bottom:9px}.case-body p{font-size:16px;line-height:1.85}.case-body .evidence-note{font-size:12px;background:#ebece5;padding:18px 22px;margin-top:24px}.case-quote{margin:29px 0}.case-quote blockquote{font-family:var(--serif);font-size:30px;line-height:1.4;color:var(--wine);margin:0}.case-quote figcaption{font-size:11px;color:var(--muted);margin-top:16px}.evidence-links{display:flex;flex-wrap:wrap;gap:14px}.case-body .small-note{font-size:11px}.inline-link{display:inline-flex;gap:3px;align-items:center}.inline-link svg{width:13px;height:13px}.next-project{padding:30px 0 56px;border-top:1px solid var(--line);display:flex;justify-content:end}.library-section{max-width:1000px;padding-bottom:80px}.library-tools{padding:12px 0 13px}.search-field{display:flex;align-items:center;gap:13px;border-bottom:1px solid #9e9c91;padding:10px 0 15px}.search-field>svg{width:20px;color:var(--wine)}.search-field input{background:transparent;border:0;width:100%;color:var(--ink);caret-color:var(--wine);min-width:0;font-size:15px;padding:5px}.search-field input:focus-visible{outline:0}.search-field:focus-within{border-color:var(--wine);box-shadow:0 1px var(--wine)}input::placeholder{color:#6d6d64;opacity:1}.search-field kbd{font:11px var(--sans);border:1px solid #c7c4b8;padding:1px 6px;border-radius:3px;color:var(--muted)}.filter-list{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0}.filter-button{font-size:12px;color:var(--muted);padding:7px 12px;background:transparent;border:1px solid #d4d1c6;border-radius:30px;min-height:36px}.filter-button:hover{border-color:var(--wine);color:var(--wine)}.filter-button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:var(--white)}#result-count{font-size:11px;margin-bottom:12px}.library-item{padding:26px 0 29px;border-top:1px solid var(--line)}.library-meta{display:flex;gap:16px;font-size:11px;color:var(--muted);margin-bottom:9px}.library-meta span:first-child{color:var(--wine)}.library-title{display:flex;align-items:center;justify-content:space-between;gap:20px;text-decoration:none}.library-title:hover{color:var(--wine)}.library-item h2{font-size:30px}.library-item p{font-size:14px;margin-top:9px;max-width:70ch}.library-title svg{width:22px}.library-note{padding-top:18px;border-top:1px solid var(--line);max-width:85ch}.empty-state{text-align:center;padding:60px 10px 80px}.empty-state h2{font-size:34px}.empty-state p{margin:20px 0 26px;font-size:14px}.about-intro{padding-bottom:67px}.about-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:100px;padding-bottom:84px}.about-monogram{height:230px;width:230px;background:var(--rose);display:flex;align-items:center;justify-content:center;font:150px/1 var(--serif);color:var(--wine);letter-spacing:-10px}.about-monogram span{color:#ad6578}.profile-facts{margin:31px 0}.profile-facts dd{margin:0 0 22px;font-size:13px;color:var(--muted)}.about-body{max-width:700px}.about-body h2{font-size:37px;margin-bottom:20px}.about-body h2:not(:first-child){margin-top:44px}.about-body p{font-size:16px;line-height:1.9;margin-top:17px}.about-capabilities{padding:26px 29px;background:var(--sage);margin-top:30px}.about-capabilities h3{font-size:15px}.about-capabilities ul{margin:15px 0 0;padding-left:19px;color:var(--muted);font-size:14px;line-height:2}.profile-page{max-width:950px;padding-block:63px 80px}.profile-top{display:flex;align-items:start;justify-content:space-between;gap:30px}.profile-top h1{font-size:58px}.profile-role{font-size:18px;color:var(--wine);margin:12px 0 5px}.profile-top p:last-child{font-size:13px}.print-button{font-size:12px;margin-top:9px}.profile-contact{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;padding:23px 0;border-bottom:1px solid var(--line)}.profile-summary{font-size:17px;line-height:1.9;max-width:75ch;margin-top:26px}.profile-page h2{font-size:36px;margin:41px 0 21px}.profile-project{padding:19px 0;border-top:1px solid var(--line)}.profile-project h3{font-size:16px;margin-bottom:7px}.profile-project p{font-size:14px;line-height:1.8;max-width:78ch}.profile-project a{font-size:11px;color:var(--wine);display:inline-block;margin-top:9px}
@media(min-width:1500px){.hero{padding-top:91px;padding-bottom:86px}.project-visual{height:270px}}
@media(max-width:1100px){.hero{gap:40px;grid-template-columns:1.5fr 1fr}.hero-note{padding:24px;min-height:320px}.hero-note>p{font-size:36px}.experience-strip>div{gap:31px}.project-grid{gap:22px}.project-visual{height:235px;padding:20px}.mini-layout{grid-template-columns:53px 1fr;gap:11px}.mini-wordmark>span{font-size:6px;gap:8px}.stream-flow{gap:4px}.stream-flow>span{padding:5px;font-size:7px}.strategy{padding-inline:35px}.approach-layout{gap:70px}.contact-inner{gap:55px}.contact h2{font-size:38px}.case-layout{grid-template-columns:200px 1fr;gap:55px}.about-layout{grid-template-columns:230px 1fr;gap:55px}}
@media(max-width:800px){:root{--space:28px}.site-header{min-height:91px}.site-header nav{gap:23px;font-size:12px}.site-header .nav-contact{margin-left:0;gap:4px}.brand{gap:11px;font-size:13px}.brand-mark{font-size:37px}.hero{padding-block:61px;gap:35px;grid-template-columns:1.45fr 1fr}.hero h1{font-size:57px}.hero-copy{font-size:16px}.role-line{font-size:11px}.hero-note{padding:22px;min-height:290px}.hero-note>p{font-size:30px}.note-signature{font-size:22px}.hero-location{font-size:9px;gap:6px;white-space:normal}.hero-actions{gap:20px}.button,.text-link{font-size:12px}.experience-strip{align-items:start;gap:20px;padding-block:22px}.experience-strip>div{flex-wrap:wrap;gap:20px 30px}.experience-strip>span{flex-shrink:0;font-size:10px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}.project-grid>.project-card:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.project-grid>.project-card:nth-child(3) .project-cover{grid-row:1/4}.project-grid>.project-card:nth-child(3) .project-meta{align-self:end}.project-grid>.project-card:nth-child(3)>p{max-width:35ch}.project-visual{height:245px}.section{padding-block:61px}.section-heading h2{font-size:38px}.section-heading .text-link{max-width:155px}.approach-layout{gap:45px}.approach-section{padding-block:60px}.approach-layout h2{font-size:42px}.approach-list p{font-size:13px}.writing-row{grid-template-columns:88px 1fr 21px;gap:18px}.writing-company{display:none}.writing-row h3{font-size:24px}.contact-inner{grid-template-columns:1.1fr 1fr;gap:45px}.contact h2{font-size:35px}.contact-link{font-size:14px}.contact p{font-size:12px}.contact-links>span{font-size:9px}.case-layout{grid-template-columns:160px 1fr;gap:35px}.case-header h1{font-size:62px}.case-lede{font-size:17px}.case-body h2{font-size:36px}.about-layout{grid-template-columns:180px 1fr;gap:45px}.about-monogram{height:170px;width:170px;font-size:115px}.about-layout aside .text-link{font-size:11px}.profile-facts dd{font-size:11px}.profile-top h1{font-size:48px}.profile-contact{gap:16px;font-size:11px}}
@media(max-width:600px){:root{--space:23px}.site-header{min-height:89px;gap:15px;flex-wrap:wrap;align-content:center;row-gap:4px;padding-block:13px}.brand{font-size:12px;gap:9px}.brand-mark{font-size:31px;letter-spacing:-2px}.site-header nav{gap:17px;font-size:11px}.site-header nav a{padding-block:8px}.site-header .nav-contact{font-size:0;gap:0}.site-header .nav-contact svg{width:17px;height:17px}.hero{grid-template-columns:1fr;gap:37px;padding-top:44px;padding-bottom:42px}.role-line{font-size:10px;margin-bottom:17px}.hero h1{font-size:clamp(49px,11.8vw,70px);line-height:1.09}.hero-copy{font-size:16px;max-width:36ch;margin-top:21px}.hero-actions{margin-top:25px;gap:23px}.button{font-size:12px;padding:12px 16px;gap:20px;min-height:46px}.text-link{font-size:12px}.hero-location{font-size:9px;margin-top:25px}.hero-note{min-height:0;width:calc(100% - 10px);padding:22px 24px;transform:rotate(1deg)}.hero-note>p{font-size:33px;line-height:1.16;margin:15px 0 22px}.note-top{font-size:9px}.note-top svg{width:24px;height:24px}.note-bottom{padding-top:14px}.note-signature{font-size:25px}.experience-strip{flex-direction:column;gap:18px;padding-top:20px;padding-bottom:24px}.experience-strip>span{max-width:none;font-size:10px}.experience-strip>div{width:100%;justify-content:space-between;gap:16px 21px}.section{padding-block:47px 49px}.section-heading{align-items:start;gap:16px;margin-bottom:26px}.section-heading h2{font-size:36px}.section-heading p{font-size:12px;max-width:22ch}.section-heading>.text-link{font-size:10px;gap:5px;padding-top:9px;max-width:120px}.section-heading>.text-link svg{width:16px;height:16px}.project-grid{display:block}.project-card+.project-card{margin-top:37px}.project-grid>.project-card:nth-child(3){display:block}.project-visual{height:260px;padding:25px}.mini-wordmark{font-size:14px}.mini-wordmark>span{font-size:8px}.mini-layout{grid-template-columns:75px 1fr;gap:22px}.mini-sidebar{font-size:8px}.mini-main h4{font-size:32px}.mini-topics{font-size:8px}.visual-caption{font-size:9px}.streams h4{font-size:42px}.stream-flow>span{padding:8px;font-size:9px}.stream-flow{gap:8px;margin-top:31px}.strategy{padding:23px 58px 0}.strategy-paper{min-height:280px;padding:21px 26px}.strategy-paper h4{font-size:39px}.strategy-paper small{font-size:8px}.project-meta{font-size:10px;margin-top:16px}.project-card :is(h2,h3){font-size:29px;margin-top:11px}.project-card>p{font-size:13px;max-width:none}.approach-section{padding-block:47px}.approach-layout{grid-template-columns:1fr;gap:33px}.approach-layout h2{font-size:44px}.approach-layout h2 br{display:none}.approach-layout>div:first-child p{font-size:14px;max-width:40ch;margin-top:18px}.approach-layout>div:first-child .text-link{margin-top:18px}.approach-list article:first-child{padding-top:21px;border-top:1px solid #c9cdc1}.approach-list h3{font-size:16px}.approach-list p{font-size:13px}.writing-row{grid-template-columns:1fr 20px;gap:4px 15px;padding:20px 0}.writing-type{grid-column:1;font-size:10px}.writing-row h3{font-size:25px;grid-column:1}.writing-row svg{grid-column:2;grid-row:1/3;width:19px}.small-note{font-size:10px}.contact{padding-block:45px}.contact-inner{grid-template-columns:1fr;gap:25px}.contact h2{font-size:37px}.contact p{font-size:13px;margin-top:17px}.contact-link{font-size:16px;padding:13px 0;min-height:50px}.contact-links>span{font-size:10px}.site-footer{min-height:115px;align-content:center;flex-wrap:wrap;gap:8px 12px;padding-block:21px;font-size:9px}.site-footer>span:nth-child(2){width:100%;order:3}.site-footer>a{font-size:9px}.page-intro{padding-block:45px 35px}.page-intro h1{font-size:54px}.page-intro>p{font-size:16px;margin-top:21px;line-height:1.8}.work-index{padding-top:5px}.case-header{padding-top:24px;padding-bottom:33px}.case-header .project-meta{margin-top:33px;font-size:10px}.case-header h1{font-size:52px}.case-lede{font-size:16px;margin-top:20px}.case-layout{display:flex;flex-direction:column;gap:28px;padding-top:26px;padding-bottom:37px}.case-aside{position:static;width:100%;border-bottom:1px solid var(--line);padding-bottom:22px}.case-aside dl{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.case-aside dt{grid-row:1;font-size:10px}.case-aside dd{grid-row:2;font-size:12px;margin-bottom:0}.case-aside nav{flex-direction:row;flex-wrap:wrap;gap:9px 17px;font-size:10px;margin-top:22px;padding-top:17px}.case-body h2{font-size:34px;margin-bottom:17px}.case-body p{font-size:15px}.case-body h3{font-size:16px}.case-body section+section{margin-top:35px}.case-body .evidence-note{font-size:11px;padding:16px 18px}.case-quote blockquote{font-size:27px}.case-quote figcaption{font-size:10px}.evidence-links{flex-direction:column;align-items:start}.evidence-links .button{font-size:11px}.next-project{padding-block:24px 34px}.library-section{padding-bottom:45px}.library-item{padding-block:23px}.library-item h2{font-size:27px}.library-item p{font-size:13px}.library-meta{font-size:10px}.search-field input{font-size:12px}.search-field kbd{display:none}.filter-list{gap:7px;margin:19px 0}.filter-button{font-size:10px;padding:6px 10px;min-height:36px}#result-count{font-size:10px}.library-title svg{width:17px}.empty-state{padding-block:38px 50px}.empty-state h2{font-size:30px}.about-intro{padding-bottom:35px}.about-layout{display:flex;flex-direction:column;gap:36px;padding-bottom:49px}.about-layout aside{display:grid;grid-template-columns:120px 1fr;gap:0 26px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:28px}.about-monogram{width:120px;height:140px;font-size:100px;letter-spacing:-7px}.profile-facts{margin:0}.profile-facts dt{font-size:9px;margin-bottom:2px}.profile-facts dd{font-size:11px;margin-bottom:11px}.about-layout aside>.text-link{grid-column:1/-1;margin-top:18px}.about-body h2{font-size:34px}.about-body p{font-size:15px}.about-capabilities{padding:22px}.about-capabilities ul{font-size:13px}.profile-page{padding-block:34px 45px}.profile-top{display:block}.profile-top h1{font-size:49px}.profile-role{font-size:16px}.print-button{margin-top:21px}.profile-contact{display:block;padding:20px 0}.profile-contact a{display:block;margin:7px 0;font-size:12px}.profile-summary{font-size:15px}.profile-page h2{font-size:32px}.profile-project h3{font-size:15px}.profile-project p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-note{transform:rotate(2deg)}}
@media print{@page{size:A4;margin:17mm}body{background:#fff;font-size:10pt}.site-header,.contact,.site-footer,.print-button,.skip-link{display:none!important}.wrap{width:100%;max-width:100%}.profile-page{padding:0}.profile-top h1{font-size:32pt}.profile-role{font-size:13pt}.profile-contact{padding:10px 0;gap:15px}.profile-contact a{font-size:9pt}.profile-summary{font-size:10pt;line-height:1.6}.profile-page h2{font-size:20pt;margin:20px 0 12px}.profile-project{padding:11px 0;break-inside:avoid}.profile-project h3{font-size:11pt}.profile-project p{font-size:9pt;line-height:1.6}.profile-project a{display:none}.profile-page>p{font-size:10pt}a{color:var(--ink)}.profile-contact a{text-decoration:none}.small-note{font-size:8pt}}

/* Original corporate artwork; preserve colors, proportions and clear space. */
.experience-strip>div{flex:1;justify-content:space-between;gap:clamp(28px,4vw,60px);max-width:900px}
.company{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:48px}
.company-logo{display:block;height:auto;max-width:100%;object-fit:contain}
.company.elastic img{width:112px}.company.google img{width:95px}.company.ibm img{width:76px}.company.alstom img{width:119px}.company.ge img{width:48px}
@media(max-width:800px){.experience-strip>div{gap:24px 28px}.company.elastic img{width:102px}.company.google img{width:88px}.company.ibm img{width:67px}.company.alstom img{width:105px}.company.ge img{width:43px}}
@media(max-width:600px){.experience-strip>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:start;align-items:center;gap:18px 20px}.company{min-height:38px}.company.elastic img{width:94px}.company.google img{width:82px}.company.ibm img{width:63px}.company.alstom img{width:103px}.company.ge img{width:40px}}

/* Reading and interaction refinements from the full copy/visual review. */
@media screen{
  .site-header nav a{min-height:44px;display:inline-flex;align-items:center}
  .role-line{font-size:14px;line-height:1.6}
  .hero-location{font-size:12px;line-height:1.8}
  .hero-actions{gap:24px}
  .button,.text-link{min-height:44px;font-size:14px}
  .experience-strip>span{font-size:13px;max-width:145px}
  .project-meta{font-size:12px;line-height:1.7;gap:6px 13px}
  .project-card>p{font-size:15px;line-height:1.75}
  .section-heading p{font-size:15px;line-height:1.75}
  .approach-list h3{font-size:18px}
  .approach-list p{font-size:15px}
  .writing-type,.writing-company{font-size:13px}
  .small-note,.case-body .small-note{font-size:12px;line-height:1.8}
  .contact p{font-size:15px;max-width:48ch}
  .contact-links>span{font-size:12px}
  .site-footer{font-size:12px;line-height:1.7;min-height:100px}
  .site-footer a{min-height:44px}
  .back-link{min-height:44px;font-size:13px}
  .case-body,.about-body{max-width:68ch;font-size:17px}
  .case-body p,.about-body p{font-size:inherit;line-height:1.85}
  .case-body h3{font-size:18px;line-height:1.5}
  .case-aside dt,.profile-facts dt{font-size:13px}
  .case-aside dd,.profile-facts dd{font-size:14px;line-height:1.8}
  .case-aside nav{gap:2px;font-size:14px}
  .case-aside nav a{display:inline-flex;align-items:center;min-height:40px}
  .case-quote figcaption{font-size:13px}
  .case-body .evidence-note{font-size:13px;line-height:1.8}
  .evidence-links .button{max-width:100%;justify-content:space-between;gap:16px}
  .library-meta,#result-count{font-size:13px;line-height:1.7}
  .library-item p{font-size:16px;line-height:1.8}
  .search-field input{font-size:16px;padding:8px 5px}
  .filter-button{font-size:13px;min-height:44px;padding:8px 13px;touch-action:manipulation}
  .about-capabilities h3,.about-capabilities ul{font-size:15px}
  .profile-contact a{min-height:32px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
  .profile-project p{font-size:15px}
  .profile-project a{font-size:13px;min-height:36px;display:inline-flex;align-items:center}
  a,button{touch-action:manipulation}
}
@media screen and (max-width:800px){
  .site-header nav{font-size:14px;gap:24px}
  .section-heading .text-link{max-width:185px}
  .case-layout{gap:40px}
  .profile-facts dd{font-size:13px}
}
@media screen and (max-width:600px){
  .site-header{min-height:124px;padding-block:16px 10px;gap:8px}
  .brand{font-size:14px;gap:12px}
  .site-header nav{width:100%;justify-content:space-between;gap:8px;font-size:14px}
  .site-header .nav-contact{font-size:14px;gap:5px}
  .site-header .nav-contact svg{width:17px;height:17px}
  .hero-actions{gap:12px 20px}
  .hero-location{font-size:12px;gap:7px;flex-wrap:wrap}
  .role-line{font-size:13px}
  .button{font-size:14px;min-height:46px;padding:12px 16px;gap:14px}
  .text-link{font-size:14px}
  .section-heading{flex-wrap:wrap;gap:12px}
  .section-heading p{font-size:14px;max-width:none}
  .section-heading>.text-link{font-size:13px;max-width:none;padding-top:0}
  .project-card>p{font-size:15px}
  .project-meta{font-size:12px}
  .approach-layout>div:first-child p,.approach-list p{font-size:15px}
  .approach-list h3{font-size:17px}
  .writing-type{font-size:12px}
  .contact p{font-size:15px}
  .contact-links>span{font-size:12px}
  .site-footer{font-size:12px;padding-block:20px;gap:5px 16px}
  .site-footer>a{font-size:12px}
  .site-footer>span:nth-child(2){font-size:12px}
  .case-layout{gap:28px}
  .case-aside dt{font-size:12px}
  .case-aside dd{font-size:14px}
  .case-aside nav{gap:2px 16px;font-size:13px}
  .case-aside nav a{min-height:44px}
  .case-body,.about-body{font-size:16px}
  .case-body h3{font-size:17px}
  .case-body .evidence-note,.case-quote figcaption{font-size:12px}
  .evidence-links .button{font-size:13px}
  .library-item p{font-size:15px}
  .library-meta,#result-count{font-size:12px}
  .filter-button{font-size:12px;min-height:44px;padding:8px 12px}
  .search-field input{font-size:16px}
  .about-layout aside{grid-template-columns:100px minmax(0,1fr);gap:0 23px}
  .about-monogram{width:100px;height:130px;font-size:88px}
  .profile-facts dt{font-size:12px}
  .profile-facts dd{font-size:13px;overflow-wrap:anywhere}
  .about-layout aside>.text-link{font-size:14px}
  .about-capabilities ul{font-size:14px}
  .profile-contact{display:flex;flex-direction:column;gap:0}
  .profile-contact a{font-size:13px;margin:2px 0}
  .profile-project p{font-size:15px}
}
@media screen{.note-top{font-size:12px}.search-field kbd{font-size:12px}}
@media screen and (max-width:600px){.note-top{font-size:12px}}

/* Keep page titles primary; factual labels follow them. */
.hero .role-line{margin:20px 0 0}.hero .hero-copy{margin-top:14px}.case-header h1{margin-top:53px}.case-header .project-meta{margin:20px 0 0;font-size:12px}
@media(max-width:600px){.hero .role-line{margin-top:18px}.case-header h1{margin-top:33px}.case-header .project-meta{margin-top:16px}}

/* Portrait identity and an expandable, image-free project index. */
.brand-portrait{display:block;width:52px;height:52px;object-fit:contain;flex:none}
.about-portrait{display:block;width:230px;height:230px;max-width:100%;object-fit:contain;margin-bottom:28px}
.project-list{border-top:1px solid var(--line)}
.project-entry{border-bottom:1px solid var(--line)}
.project-entry>a{display:grid;grid-template-columns:170px minmax(0,1fr) 24px;grid-template-areas:"context title arrow" "context description arrow";gap:12px 48px;padding:34px 0;color:inherit;text-decoration:none}
.project-entry-title{grid-area:title;font-family:var(--serif);font-size:clamp(29px,2.7vw,38px);font-weight:400;line-height:1.16;letter-spacing:-.015em;text-wrap:pretty;margin:0;max-width:34ch;transition:color .2s}
.project-entry-description{grid-area:description;font-size:16px;line-height:1.75;max-width:65ch}
.project-context{grid-area:context;display:flex;flex-direction:column;gap:7px;padding-top:5px;min-width:0;line-height:1.6}
.project-company{font-size:14px;color:var(--wine);font-weight:500}
.project-discipline{font-size:13px;color:var(--muted)}
.project-entry>a>svg{grid-area:arrow;align-self:center;width:24px;height:24px;color:var(--wine)}
.project-entry>a:hover .project-entry-title{color:var(--wine)}
.project-entry>a:hover>svg{transform:translateX(4px)}
@media(max-width:1000px){.project-entry>a{grid-template-columns:150px minmax(0,1fr) 22px;column-gap:30px}.about-portrait{width:170px;height:170px}}
@media(max-width:600px){.brand-portrait{width:48px;height:48px}.brand{gap:12px}.about-portrait{width:100px;height:110px;margin:0}.project-entry>a{grid-template-columns:minmax(0,1fr) 22px;grid-template-areas:"title arrow" "context context" "description description";gap:13px 16px;padding:28px 0}.project-entry-title{font-size:30px;max-width:none}.project-entry-description{font-size:15px}.project-context{flex-direction:row;flex-wrap:wrap;gap:5px 15px;padding-top:0}.project-company{font-size:13px}.project-discipline{font-size:12px}.project-entry>a>svg{align-self:start;margin-top:6px}}

/* The note uses normal sentence spacing; the closing line is only a signature. */
.note-bottom{justify-content:flex-end}
