:root{--paper:#f5f3ed;--surface:#fcfbf7;--ink:#202520;--muted:#62685f;--blue:#354dcc;--blue-dark:#263aab;--line:#d9dcd2;--sage:#e5eade;--serif:"Newsreader Variable",Georgia,serif;--sans:"DM Sans Variable",sans-serif;--radius:3px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}::selection{color:#17256f;background:#d9dfff}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);letter-spacing:-.04em;line-height:1.02}h3{line-height:1.25}em{font-family:var(--serif);font-weight:400}img,svg{max-width:100%}[hidden]{display:none!important}.shell{max-width:calc(var(--max) + 96px);margin-inline:auto;padding-inline:48px}.section{padding-top:104px;padding-bottom:104px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.5}.eyebrow>span:not(.live-dot){color:var(--blue);margin-right:18px}.accent{color:var(--blue)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--blue);color:#fff;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.live-dot{background:#64874f;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:9px;display:inline-block;box-shadow:0 0 0 4px #64874f10}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:20px;padding-block:8px;font-size:14px;font-weight:600;transition:color .18s,border-color .18s;display:inline-flex}.text-link:hover{color:var(--blue);border-color:var(--blue)}.button{border-radius:var(--radius);border:1px solid #0000;justify-content:space-between;align-items:center;gap:42px;padding:16px 22px;font-size:14px;font-weight:500;transition:background .18s,transform .18s;display:inline-flex}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:var(--blue-dark);transform:translateY(-2px)}.button-ghost{border-color:var(--line);background:0 0}.button-ghost:hover{background:var(--sage)}.site-header{border-bottom:1px solid var(--line);z-index:30;background:var(--paper);height:90px;position:sticky;top:0}.header-inner{height:100%;max-width:calc(var(--max) + 96px);justify-content:space-between;align-items:center;gap:30px;margin:auto;padding-inline:48px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:15px;font-weight:600;display:flex}.brand-mark{font-family:var(--serif);letter-spacing:-.1em;font-size:40px;line-height:1}.brand-mark span{color:var(--blue)}.brand-name{font-size:14px}.site-nav{align-items:center;gap:27px;font-size:12px;font-weight:500;display:flex}.site-nav a{position:relative}.site-nav a:hover{color:var(--blue)}.nav-cv{border:1px solid var(--line);border-radius:var(--radius);margin-left:8px;padding:9px 15px}.nav-cv span{margin-left:14px}.menu-button{border:1px solid var(--line);background:0 0;padding:8px 12px;display:none}.menu-button span{margin-left:15px}.hero{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:35px 60px;padding-top:90px;display:grid}.hero h1{letter-spacing:-.047em;margin-top:30px;font-size:clamp(62px,7.3vw,106px);line-height:.99}.hero h1 em{color:var(--blue);letter-spacing:-.05em}.hero-description{max-width:490px;color:var(--muted);margin-top:29px;font-size:17px;line-height:1.65}.hero-actions{align-items:center;gap:30px;margin-top:30px;display:flex}.hero-aside{justify-self:end;width:100%;max-width:370px;padding-top:61px}.practice-card{background:var(--surface);border:1px solid var(--line);padding:24px 26px;position:relative;box-shadow:8px 9px #e8e9e1}.practice-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:19px;display:flex}.mini-monogram{color:var(--muted);letter-spacing:.1em;font-size:10px}.practice-step{border-bottom:1px dashed var(--line);gap:20px;padding-block:21px;display:flex}.practice-step>span{font-family:var(--serif);color:var(--blue);font-size:22px;line-height:1.3}.practice-step h2{letter-spacing:-.025em;font-size:23px}.practice-step p{color:var(--muted);margin-top:6px;font-size:12px}.practice-foot{color:var(--muted);align-items:center;padding-top:20px;font-size:10px;line-height:1.7;display:flex}.practice-foot .live-dot{width:5px;height:5px}.current-role{grid-template-columns:1fr auto;gap:6px;padding-top:29px;display:grid}.current-role>.eyebrow{color:var(--muted);grid-column:1/-1}.current-role p{font-size:14px;font-weight:600;line-height:1.55}.current-role p span{color:var(--muted);font-size:12px;font-weight:400;display:block}.current-role a{color:var(--blue);border-bottom:1px solid #354dcc50;align-self:end;font-size:11px}.hero-foot{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em;grid-column:1/-1;gap:36px;margin-top:42px;padding-block:22px;font-size:11px;display:flex}.hero-foot a{color:var(--muted);text-transform:none;letter-spacing:0;margin-left:auto}.section-heading{margin-bottom:40px}.section-heading-row{justify-content:space-between;align-items:end;gap:45px;margin-top:19px;display:flex}.section-heading h2{max-width:680px;font-size:clamp(37px,4.1vw,56px)}.section-heading-row>p{max-width:320px;color:var(--muted);flex-shrink:0;font-size:14px;line-height:1.7}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.project-card{min-width:0}.diagram-link{display:block;overflow:hidden}.flow-diagram{color:#2f428a;background:#e6eafa;border:1px solid #d5dcf0;flex-direction:column;justify-content:space-between;min-height:174px;padding:18px 17px;transition:background .25s;display:flex;position:relative}.flow-letter{color:#72613f;background:#eeebe1;border-color:#e1dccd}.flow-chart{color:#3d634b;background:#e5ece4;border-color:#d3e0d2}.flow-library{color:#3c6048;background:#e6ece3}.flow-interview{color:#7c544e;background:#eee6e3}.flow-shield{color:#315b42;background:#e0e8de;border-color:#d0dccb}.flow-sessions{color:#314879;background:#e1e6f2;border-color:#d0d9eb}.diagram-top{letter-spacing:.08em;align-items:center;gap:6px;font-size:8px;font-weight:600;display:flex}.diagram-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.diagram-cross{margin-left:auto;font-size:16px;font-weight:400}.flow-track{justify-content:center;align-items:center;gap:6px;padding-block:24px 22px;display:flex}.flow-node{border:1px solid;border-color:color-mix(in srgb,currentColor 22%,transparent);text-align:center;background:#ffffff75;flex:1;min-width:0;padding:12px 5px;font-size:10px;font-weight:500;line-height:1.4;position:relative}.node-index{background:var(--surface);padding:1px 4px;font-size:8px;font-weight:400;position:absolute;top:-10px;left:5px}.flow-connector{opacity:.6;font-size:14px}.diagram-bottom{border-top:1px solid #ffffff85;justify-content:space-between;padding-top:9px;font-size:8px;display:flex}.diagram-link:hover .flow-diagram{background:#dbe2fa}.project-card-content{padding-top:22px}.project-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px;font-size:9px;display:flex}.status{white-space:nowrap;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.03em;border-radius:2px;padding:3px 6px;font-size:8px;line-height:1.6}.status-live{color:#3c6645;background:#e9efe5;border-color:#c3d4be}.project-card h3{font-family:var(--serif);letter-spacing:-.035em;font-size:33px}.project-card h3 a{justify-content:space-between;align-items:center;gap:10px;display:flex}.link-arrow{font-family:var(--sans);color:var(--blue);font-size:22px;font-weight:400;transition:transform .2s}.project-card h3 a:hover .link-arrow{transform:translate(3px,-3px)}.project-card-content>p{color:var(--muted);margin-top:12px;font-size:13px;line-height:1.75}.tech-list{color:var(--muted);flex-wrap:wrap;gap:6px 13px;margin:20px 0 0;padding:0;font-size:10px;list-style:none;display:flex}.tech-list li+li:before{content:"·";color:#969d91;margin-right:13px}.additional-work{border-top:1px solid var(--line);margin-top:53px;padding-top:24px}.additional-work>.eyebrow{color:var(--muted)}.small-work-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:27px;margin-top:23px;display:grid}.small-work-grid h3{font-size:15px}.small-work-grid p{color:var(--muted);margin-block:9px;font-size:12px;line-height:1.65}.small-stage{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:9px;line-height:1.5;display:inline-block}.ballys-section{border-block:1px solid var(--line);background:#ebece5}.ballys-grid{grid-template-columns:1fr 1.45fr;gap:90px;margin-top:54px;display:grid}.ballys-note{padding-top:12px}.ballys-note>.eyebrow{color:var(--muted)}.ballys-note h3{font-family:var(--serif);letter-spacing:-.035em;margin-top:24px;font-size:38px;line-height:1.1}.ballys-note h3 em{color:var(--blue)}.ballys-note>p{max-width:335px;color:var(--muted);margin-top:20px;font-size:14px}.principle-list{flex-direction:column;gap:12px;margin-top:34px;font-size:11px;display:flex}.principle-list span:before{content:"+";color:var(--blue);margin-right:12px}.project-list{border-top:1px solid #cdd1c5;padding-block:24px}.project-list:last-child{border-bottom:1px solid #cdd1c5}.project-list .project-card-content{padding:0}.project-list h3{font-size:31px}.project-list .project-meta{margin-bottom:9px}.project-list .tech-list{margin-top:12px}.supporting-work{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:50px;margin-top:45px;padding-top:28px;display:grid}.supporting-work h3{margin-block:7px;font-size:18px}.supporting-work p{color:var(--muted);max-width:490px;font-size:13px}.venture-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;display:grid}.venture-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex}.venture-visual{color:#31483b;background:#e8eddf;flex-direction:column;justify-content:center;align-items:flex-start;min-height:236px;padding:30px;display:flex;position:relative;overflow:hidden}.venture-ogahq .venture-visual{color:#5d3824;background:#ece5d9}.venture-verify .venture-visual{color:#284658;background:#e3e8ed}.venture-symbol{margin-bottom:16px;font-size:30px;line-height:1}.venture-visual h3{letter-spacing:-.065em;font-size:43px;font-weight:600}.venture-visual h3 span{opacity:.5}.venture-caption{letter-spacing:.12em;margin-top:20px;font-size:8px;font-weight:600}.venture-body{flex-direction:column;flex:1;align-items:flex-start;padding:26px;display:flex}.venture-body>.eyebrow{color:var(--muted);font-size:9px}.venture-body p{color:var(--muted);margin-top:12px;margin-bottom:23px;font-size:14px}.venture-body .text-link{margin-top:auto;font-size:12px}.tooling-section{border-top:1px solid var(--line)}.tools-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.project-tool .flow-diagram{min-height:210px;padding:23px 28px}.project-tool .diagram-top{font-size:9px}.project-tool .flow-track{gap:15px;padding-block:30px}.project-tool .flow-node{padding:17px 8px;font-size:13px}.project-tool .diagram-bottom{font-size:9px}.project-tool h3{font-size:40px}.project-tool .project-card-content>p{max-width:480px;font-size:14px}.section-footnote{color:var(--muted);border-top:1px solid var(--line);margin-top:31px;padding-top:16px;font-size:11px}.further-section{border-top:1px solid var(--line)}.further-grid{grid-template-columns:1fr 1fr;gap:65px;display:grid}.further-grid article{border-top:1px solid var(--line);padding-top:25px}.further-grid .eyebrow{color:var(--muted);font-size:10px}.further-grid h3{font-family:var(--serif);letter-spacing:-.03em;margin-top:15px;font-size:34px}.further-grid p{color:var(--muted);max-width:490px;margin-top:15px;font-size:14px}.further-grid .role-note{color:var(--ink);margin-top:14px;font-size:11px}.further-grid .text-link{margin-top:19px;font-size:12px}.writing-section{border-top:1px solid var(--line)}.writing-list>a{border-top:1px solid var(--line);grid-template-columns:55px 1fr 45px;align-items:center;gap:20px;padding-block:27px;display:grid}.writing-list>a:last-child{border-bottom:1px solid var(--line)}.writing-index{font-family:var(--serif);color:#8d9585;font-size:26px}.writing-list .eyebrow{color:var(--muted);font-size:9px}.writing-list h3{font-family:var(--serif);letter-spacing:-.02em;margin-top:7px;font-size:30px}.writing-list p{color:var(--muted);margin-top:8px;font-size:12px}.writing-arrow{color:var(--blue);justify-self:end;font-size:26px}.writing-list>a:hover h3{color:var(--blue)}.background-section{background:var(--sage);border-block:1px solid var(--line);padding-block:70px}.background-inner{grid-template-columns:1.3fr 1fr;gap:100px;display:grid}.background-inner h2{margin-top:23px;font-size:45px}.background-inner p{color:var(--muted);max-width:500px;margin-block:20px;font-size:14px}.background-inner .text-link{font-size:12px}.short-timeline{padding-top:17px}.short-timeline>div{border-top:1px solid #cdd4c7;gap:36px;padding-block:19px;display:flex}.short-timeline>div:last-child{border-bottom:1px solid #cdd4c7}.short-timeline>div>span{min-width:93px;padding-top:4px;font-size:10px}.short-timeline p{color:var(--ink);margin:0;font-size:16px}.short-timeline small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.contact-section{padding-block:92px 102px}.contact-row{grid-template-columns:1.4fr 1fr;gap:90px;margin-top:28px;display:grid}.contact-row h2{font-size:clamp(48px,5.3vw,72px)}.contact-row h2 em{color:var(--blue)}.contact-row>div>p{color:var(--muted);max-width:340px;font-size:14px}.contact-email{font-family:var(--serif);border-bottom:1px solid var(--ink);justify-content:space-between;margin-top:12px;padding-block:20px 10px;font-size:30px;display:flex}.contact-email:hover{color:var(--blue)}.social-links{gap:25px;margin-top:20px;font-size:11px;display:flex}.social-links a:hover{color:var(--blue)}.site-footer{max-width:calc(var(--max) + 96px);margin:auto;padding:0 48px 24px}.footer-top{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-block:27px;display:flex}.footer-top .brand{gap:0;font-size:15px}.footer-top p,.footer-top>a:last-child{color:var(--muted);font-size:11px}.footer-bottom{color:var(--muted);justify-content:space-between;gap:20px;font-size:9px;display:flex}.footer-bottom a{text-underline-offset:3px;text-decoration:underline}.page-intro{padding-block:75px 60px}.page-intro h1{max-width:960px;margin-top:25px;font-size:clamp(56px,7vw,92px)}.page-intro .lede{max-width:750px;color:var(--muted);margin-top:30px;font-size:20px;line-height:1.6}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:40px;font-size:12px;display:flex}.breadcrumbs a:hover{color:var(--blue)}.case-meta{border-block:1px solid var(--line);grid-template-columns:1fr 1fr 1.3fr;gap:35px;margin-bottom:45px;padding-block:28px;display:grid}.case-meta dt{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px;font-size:10px}.case-meta dd{margin:0;font-size:13px}.case-meta .tech-list{gap:4px 9px;margin:0}.case-meta .tech-list li{font-size:11px}.case-layout{grid-template-columns:230px minmax(0,740px);justify-content:space-between;gap:75px;padding-bottom:80px;display:grid}.case-aside{font-size:12px}.case-aside .eyebrow{margin-bottom:19px}.case-aside a{color:var(--muted);padding-block:7px;display:block}.case-aside a:hover{color:var(--blue)}.prose{overflow-wrap:anywhere;font-size:16px;line-height:1.85}.prose h2{letter-spacing:-.025em;margin-top:45px;margin-bottom:18px;font-size:37px}.prose h2:first-child{margin-top:0}.prose h3{margin-top:26px;margin-bottom:12px;font-size:20px}.prose p{color:var(--muted);margin-bottom:19px}.prose strong{color:var(--ink);font-weight:600}.prose li{color:var(--muted);margin-bottom:8px}.prose a{color:var(--blue);text-underline-offset:3px;text-decoration:underline}.case-visual{margin-bottom:50px;max-width:850px;margin-inline:auto}.case-visual .flow-diagram{min-height:230px;padding:25px 35px}.case-visual .diagram-top{font-size:10px}.case-visual .flow-track{gap:20px}.case-visual .flow-node{padding-block:23px;font-size:16px}.case-visual .diagram-bottom{font-size:11px}.case-visual figcaption{text-align:right;color:var(--muted);margin-top:8px;font-size:10px}.related-section{border-top:1px solid var(--line);padding-block:40px 70px}.related-links{flex-wrap:wrap;gap:30px;margin-top:20px;display:flex}.related-links a{font-family:var(--serif);font-size:26px}.related-links a:hover{color:var(--blue)}.case-cta{margin-top:28px}.about-body{grid-template-columns:1.4fr 1fr;gap:80px;padding-bottom:85px;display:grid}.about-panel{border:1px solid var(--line);background:var(--surface);align-self:start;padding:28px}.about-panel h2{margin-block:16px;font-size:30px}.about-panel p{color:var(--muted);font-size:14px}.about-panel .text-link{margin-top:20px}.timeline{border-top:1px solid var(--line);padding-block:30px 65px}.timeline-entry{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:50px;padding-block:26px;display:grid}.timeline-date{color:var(--muted);padding-top:5px;font-size:12px}.timeline-entry h3{font-size:21px}.timeline-entry .position{color:var(--blue);margin-top:5px;font-size:14px}.timeline-entry .description{color:var(--muted);max-width:720px;margin-top:12px;font-size:14px}.education-grid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.education-grid article{border-top:1px solid var(--line);padding-top:25px}.education-grid h3{font-size:20px}.education-grid p{color:var(--muted);margin-top:10px;font-size:14px}.skill-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.skill-grid h3{margin-bottom:12px;font-size:14px}.skill-grid ul{color:var(--muted);margin:0;padding:0;font-size:13px;list-style:none}.skill-grid li{padding-block:4px}.cv-toolbar{justify-content:space-between;align-items:center;gap:20px;padding-block:32px;display:flex}.cv-toolbar p{color:var(--muted);font-size:12px}.cv-paper{background:var(--surface);border:1px solid var(--line);max-width:960px;margin:0 auto 75px;padding:58px 65px}.cv-paper h1{font-size:55px}.cv-title{color:var(--blue);margin-top:9px;font-size:19px}.cv-contact{color:var(--muted);flex-wrap:wrap;gap:8px 17px;margin-top:17px;font-size:11px;display:flex}.cv-contact a{text-underline-offset:3px;text-decoration:underline}.cv-summary{color:var(--muted);margin-top:25px;font-size:14px}.cv-paper h2{border-bottom:1px solid var(--line);letter-spacing:-.02em;margin-top:34px;margin-bottom:18px;padding-bottom:9px;font-size:27px}.cv-role{break-inside:avoid;margin-top:24px}.cv-role-head{justify-content:space-between;gap:25px;display:flex}.cv-role h3{font-size:16px}.cv-role-head span{color:var(--muted);flex-shrink:0;font-size:11px}.cv-role .position{margin-top:3px;font-size:12px;font-weight:600}.cv-role p,.cv-role li{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.7}.cv-projects{grid-template-columns:1fr 1fr;gap:19px 30px;display:grid}.cv-projects h3{font-size:14px}.cv-projects p{color:var(--muted);margin-top:6px;font-size:12px}.cv-skills{color:var(--muted);font-size:12px;line-height:1.8}.cv-skills strong{color:var(--ink)}.not-found{text-align:center;padding-block:120px}.not-found h1{color:var(--blue);font-size:96px}.not-found h2{margin-top:20px;font-size:43px}.not-found p{color:var(--muted);max-width:460px;margin:20px auto 32px}@media (width>=1100px){.hero-copy{animation:.65s both enter}.hero-aside{animation:.65s .12s both enter}}@keyframes enter{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.shell,.header-inner,.site-footer{padding-inline:32px}.hero{gap:35px}.hero h1{font-size:76px}.hero-aside{padding-top:55px}.practice-card{padding:20px}.hero-foot{gap:22px;font-size:9px}.site-nav{gap:17px}.ballys-grid{gap:50px}.section-heading-row>p{max-width:270px}.work-grid{gap:20px}.project-meta{flex-wrap:wrap}.flow-node{font-size:9px}.small-work-grid{grid-template-columns:repeat(3,1fr)}.background-inner{gap:45px}.venture-visual{padding:25px}.venture-visual h3{font-size:38px}.case-layout{grid-template-columns:180px minmax(0,1fr);gap:40px}}@media (width<=820px){.site-header{height:auto;min-height:74px}.header-inner{flex-wrap:wrap;gap:12px;min-height:74px;padding-block:14px}.brand-mark{font-size:35px}.menu-button:not([hidden]){display:inline-flex}.site-nav{flex-wrap:wrap;gap:16px 22px;width:100%;padding-block:15px 5px}.site-header[data-enhanced] .site-nav{display:none}.site-header[data-enhanced] .site-nav.is-open{display:flex}.nav-cv{margin:0}.hero{grid-template-columns:1.5fr 1fr;gap:25px;padding-top:55px}.hero h1{font-size:64px}.hero>.hero-copy>.eyebrow{letter-spacing:.07em;font-size:9px}.hero-description{font-size:15px}.hero-aside{padding-top:53px}.practice-card{padding:17px}.practice-step{gap:12px;padding-block:18px}.practice-step h2{font-size:20px}.practice-step p{font-size:10px}.practice-foot{font-size:9px}.current-role{grid-template-columns:1fr}.current-role a{justify-self:start}.hero-actions{gap:20px}.hero-actions .button{gap:18px}.hero-foot{gap:17px;margin-top:28px}.hero-foot a{display:none}.section{padding-block:72px}.section-heading-row{display:block}.section-heading h2{max-width:630px;font-size:44px}.section-heading-row>p{max-width:570px;margin-top:20px}.work-grid{grid-template-columns:1fr}.project-editorial{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:25px;padding-bottom:26px;display:grid}.project-editorial .project-card-content{padding:0}.project-editorial .flow-diagram{height:100%;min-height:180px}.project-card h3{font-size:30px}.ballys-grid{grid-template-columns:1fr;gap:30px}.ballys-note{display:none}.venture-grid{gap:15px}.venture-visual{min-height:195px;padding:20px}.venture-visual h3{font-size:32px}.venture-caption{font-size:7px}.venture-body{padding:20px}.venture-body p{font-size:12px}.venture-body .text-link{gap:12px;font-size:11px}.tools-grid{gap:25px}.project-tool .flow-diagram{min-height:185px;padding:16px}.project-tool .flow-track{gap:6px}.project-tool .flow-node{font-size:10px}.project-tool .diagram-top,.project-tool .diagram-bottom{font-size:8px}.further-grid{gap:35px}.writing-list h3{font-size:26px}.background-inner{grid-template-columns:1fr 1fr;gap:30px}.background-inner h2{font-size:37px}.short-timeline>div{gap:18px}.short-timeline>div>span{min-width:73px;font-size:9px}.contact-row{grid-template-columns:1.1fr 1fr;gap:45px}.contact-row h2{font-size:49px}.footer-top p{display:none}.footer-bottom{font-size:8px}.page-intro{padding-top:50px}.page-intro h1{font-size:68px}.page-intro .lede{font-size:18px}.case-layout{grid-template-columns:1fr}.case-aside{display:none}.about-body{gap:35px}.timeline-entry{grid-template-columns:145px 1fr;gap:25px}.cv-paper{padding:38px}.cv-role-head{flex-wrap:wrap;gap:5px}.cv-role-head span{flex-shrink:1}}@media (width<=580px){html{scroll-padding-top:92px}.shell,.header-inner,.site-footer{padding-inline:22px}.hero{padding-top:43px;display:block}.hero h1{margin-top:26px;font-size:clamp(53px,12.4vw,69px);line-height:1.03}.hero-description{max-width:390px;margin-top:22px;font-size:15px}.hero-actions{margin-top:25px}.hero-aside{max-width:none;padding-top:38px}.practice-card{display:none}.current-role{border-top:1px solid var(--line);grid-template-columns:1fr auto;padding-top:20px}.current-role a{font-size:11px}.hero-foot{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;padding-block:18px;font-size:9px;display:grid}.section{padding-block:58px}.section-heading{margin-bottom:30px}.section-heading h2{max-width:390px;font-size:39px}.section-heading .eyebrow{font-size:10px}.section-heading-row{margin-top:17px}.section-heading-row>p{margin-top:16px;font-size:13px}.work-grid{gap:34px}.project-editorial{border-bottom:none;padding:0;display:block}.project-editorial .project-card-content{padding-top:19px}.project-editorial .flow-diagram{min-height:176px}.flow-node{padding-block:15px;font-size:11px}.diagram-top{font-size:8px}.diagram-bottom{font-size:9px}.project-meta{flex-wrap:nowrap;font-size:9px}.project-card h3{font-size:32px}.project-card-content>p{font-size:14px}.tech-list{margin-top:15px;font-size:10px}.small-work-grid{grid-template-columns:1fr 1fr;gap:24px 22px}.additional-work{margin-top:34px}.small-work-grid h3{font-size:14px}.small-work-grid p{font-size:11px}.supporting-work{grid-template-columns:1fr;gap:25px;margin-top:30px}.ballys-grid{margin-top:30px}.project-list{padding-block:23px}.project-list h3{font-size:30px}.venture-grid{grid-template-columns:1fr;gap:25px}.venture-visual{min-height:195px;padding:27px 29px}.venture-visual h3{font-size:44px}.venture-symbol{font-size:41px;position:absolute;top:35px;right:32px}.venture-caption{font-size:9px}.venture-body{padding:25px 28px}.venture-body p{font-size:14px}.venture-body .text-link{font-size:13px}.tools-grid{grid-template-columns:1fr;gap:37px}.project-tool .flow-diagram{min-height:195px;padding:22px}.project-tool .flow-node{font-size:12px}.project-tool h3{font-size:36px}.section-footnote{font-size:10px}.further-grid{grid-template-columns:1fr;gap:35px}.further-grid h3{font-size:31px}.writing-list>a{grid-template-columns:25px 1fr 20px;gap:12px;padding-block:23px}.writing-list h3{font-size:24px}.writing-list p{font-size:11px}.writing-index{font-size:20px}.writing-arrow{font-size:22px}.background-section{padding-block:50px}.background-inner{grid-template-columns:1fr;gap:30px}.background-inner h2{font-size:39px}.short-timeline{padding-top:5px}.short-timeline>div{gap:35px}.short-timeline>div>span{min-width:90px}.contact-section{padding-block:62px}.contact-row{grid-template-columns:1fr;gap:30px;margin-top:20px}.contact-row h2{font-size:54px}.contact-row>div>p{max-width:390px}.contact-email{font-size:30px}.social-links{justify-content:space-between;gap:15px;font-size:11px}.footer-top{padding-block:22px}.footer-bottom{line-height:1.9;display:block}.footer-bottom>span{display:block}.page-intro{padding-block:38px}.page-intro h1{overflow-wrap:break-word;font-size:57px}.page-intro .lede{margin-top:22px;font-size:17px}.breadcrumbs{margin-bottom:25px;font-size:11px}.case-meta{grid-template-columns:1fr 1fr;gap:22px;margin-bottom:30px;padding-block:23px}.case-meta>div:last-child{grid-column:1/-1}.case-meta dd{font-size:12px}.case-visual{margin-inline:0;margin-bottom:33px}.case-visual .flow-diagram{min-height:180px;padding:16px}.case-visual .diagram-top{font-size:8px}.case-visual .flow-track{gap:7px}.case-visual .flow-node{padding-block:15px;font-size:11px}.case-visual .diagram-bottom{font-size:8px}.prose{font-size:15px;line-height:1.8}.prose h2{margin-top:34px;font-size:31px}.case-layout{padding-bottom:45px}.related-links{gap:15px 25px}.related-links a{font-size:24px}.about-body{grid-template-columns:1fr;gap:25px;padding-bottom:45px}.timeline-entry{grid-template-columns:1fr;gap:8px;padding-block:23px}.timeline-entry h3{font-size:19px}.timeline-entry .description{font-size:13px}.education-grid,.skill-grid{grid-template-columns:1fr;gap:27px}.cv-toolbar{align-items:flex-start;gap:15px}.cv-toolbar p{max-width:150px;font-size:11px}.cv-toolbar button{gap:14px;padding:12px 15px;font-size:12px}.cv-paper{margin-bottom:45px;padding:27px 23px}.cv-paper h1{font-size:44px}.cv-title{font-size:15px}.cv-contact{font-size:10px}.cv-summary{font-size:13px}.cv-projects{grid-template-columns:1fr}.not-found{padding-block:90px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{@page{size:A4;margin:15mm}.site-header,.site-footer,.skip-link,.cv-toolbar{display:none!important}body{color:#111;background:#fff;font-size:10pt}.shell{max-width:none;padding:0}.cv-paper{background:#fff;border:0;max-width:none;margin:0;padding:0}.cv-paper h1{font-size:31pt}.cv-paper h2{margin-top:18pt;margin-bottom:9pt;font-size:17pt}.cv-title{font-size:12pt}.cv-summary,.cv-role p,.cv-role li,.cv-projects p,.cv-skills{color:#333;font-size:9pt}.cv-contact{font-size:8pt}.cv-role{margin-top:13pt}.cv-role h3{font-size:11pt}.cv-role-head span{font-size:8pt}.cv-projects{grid-template-columns:1fr 1fr;gap:13pt 20pt;display:grid}.cv-projects>div,.cv-role{break-inside:avoid}.cv-paper a{color:#111}.cv-paper h2,.cv-paper h3{break-after:avoid}a{text-decoration:none}html{scroll-padding:0}}.about-modules{margin-top:18px}.hero-portrait{background:var(--sage);border:1px solid var(--line);border-radius:var(--radius);margin:0;overflow:hidden;box-shadow:8px 9px #e8e9e1}.portrait-image{background:radial-gradient(ellipse at 50% 35%, #f4f5ec, var(--sage) 75%);padding:23px 18px 0}.portrait-image img{width:100%;height:auto;display:block}.hero-portrait figcaption{background:var(--surface);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:17px 22px;display:flex}.hero-portrait figcaption>span:first-child{font-family:var(--serif);letter-spacing:-.025em;font-size:24px;line-height:1}.portrait-caption{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px}@media (width>=581px) and (width<=820px){.hero-portrait figcaption{padding:15px;display:block}.portrait-caption{margin-top:7px;display:block}}@media (width<=580px){.hero-aside{grid-template-columns:142px minmax(0,1fr);align-items:center;gap:23px;display:grid}.hero-portrait{box-shadow:5px 6px #e8e9e1}.portrait-image{padding:12px 6px 0}.hero-portrait figcaption{padding:12px;display:block}.hero-portrait figcaption>span:first-child{font-size:19px}.portrait-caption{margin-top:5px;font-size:7px;display:block}.hero-aside .current-role{border:0;grid-template-columns:1fr;gap:9px;padding-top:0}.hero-aside .current-role p{font-size:13px}.hero-aside .current-role a{justify-self:start;margin-top:4px}}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-wght-normal.Czsa-EzN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-wght-normal.C-3rgBeH.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-wght-normal.CCVVNp6i.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-wght-italic.xAqemagA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-wght-italic.DFS986qL.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-wght-italic.Bxi8ein9.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
