:root{--paper:#101010;--ink:#fafafa;--muted:#bdbdbd;--plum:#f5f5f5;--rose:#353535;--lime:#ffffff;--line:#454545;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}.wrap{width:min(1100px,calc(100% - 96px));margin-inline:auto}a{color:var(--plum);text-decoration-thickness:1px;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid #977430;outline-offset:6px}.skip-link{position:absolute;top:-120px;left:20px;z-index:10;padding:12px 20px;background:var(--paper)}.skip-link:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:21px;text-decoration:none;white-space:nowrap}.site-header nav{display:flex;gap:25px;font-size:14px;line-height:1.5}.site-header nav a{text-decoration:none;padding:8px 0}.site-header nav a:hover,.site-header nav a[aria-current]{text-decoration:underline}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1}p{margin-bottom:18px}h1{letter-spacing:-2.5px}h2{letter-spacing:-1px}h3{letter-spacing:-.8px}.eyebrow,.kicker{font-size:13px;letter-spacing:.035em;color:var(--plum);margin-bottom:20px}.hero{padding:49px 0 42px;display:grid;grid-template-columns:1fr 290px;gap:85px;align-items:center}.hero h1{font-size:66px;line-height:1.02;margin-bottom:23px}.hero h1>span:first-child{font-size:.8em;color:var(--plum)}.asterisk{font-size:.8em;color:#866342;margin-left:6px}.lead{font-size:26px;line-height:1.4;font-family:var(--serif);max-width:600px;margin-bottom:15px}.intro{font-size:15px;max-width:480px;color:var(--muted);margin-bottom:23px}.link-row{display:flex;align-items:center;flex-wrap:wrap;gap:25px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 18px;background:var(--plum);color:var(--paper);text-decoration:none}.button:hover{background:#624055}.portrait{justify-self:end;max-width:290px;transform:rotate(2deg);padding:0 12px 0 0}.portrait-frame{position:relative;border-radius:145px 145px 4px 4px;background:var(--plum);overflow:hidden;box-shadow:12px 12px 0 var(--rose)}.portrait-frame img{width:100%;height:auto;display:block;filter:saturate(.7);aspect-ratio:4/5;object-fit:cover}.portrait figcaption{font-family:var(--serif);font-size:16px;line-height:1.3;margin-top:23px;color:var(--plum);padding-left:25px;position:relative}.portrait figcaption>span{position:absolute;left:0;top:-2px;font-size:27px}.background-line{display:flex;align-items:center;gap:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.background-line p{font-size:14px;line-height:1.7;margin:0;max-width:800px;color:var(--muted)}.background-line strong{color:var(--ink);font-weight:600}.background-line a{font-size:14px;white-space:nowrap;margin-left:auto}.projects{padding-top:47px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.section-top h2{font-size:29px}.section-top>span{font-size:13px;color:var(--muted)}.feature{display:grid;grid-template-columns:1fr 1.12fr;gap:66px;background:var(--plum);color:var(--paper);padding:38px 42px 37px;position:relative}.feature .eyebrow,.feature a{color:var(--paper)}.feature .eyebrow{font-size:12px;margin:0 0 22px;padding-left:40px}.project-number{font-family:var(--serif);font-size:20px;color:var(--plum);line-height:1}.feature .project-number{position:absolute;top:40px;color:var(--lime)}.feature h3{font-size:43px;margin-bottom:14px}.feature-question{font-family:var(--serif);font-size:27px;line-height:1.3;margin:0}.feature-question em{font-weight:400;color:var(--lime)}.feature-copy{font-size:16px;padding-top:2px}.feature-copy p{margin-bottom:19px}.project-link{font-size:14px;display:inline-block;text-decoration:none;border-bottom:1px solid;padding-bottom:4px}.project-link span{display:inline-block;margin-left:17px;transition:transform .18s ease}.project-link:hover span{transform:translate(2px,-2px)}.feature .project-link{color:var(--lime)}.project-row{display:grid;grid-template-columns:36px .95fr 1.12fr;gap:30px;padding:35px 0;border-bottom:1px solid var(--line)}.project-row>.project-number{padding-top:5px}.project-heading .eyebrow{margin-bottom:15px;font-size:12px}.project-heading h3{font-size:34px}.project-copy{font-size:16px}.project-copy p{margin-bottom:17px;max-width:600px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding:45px 0 47px}.contact h2{font-size:45px;line-height:1.06}.question-mark{color:#7c4d63;font-style:italic}.contact .eyebrow{margin-bottom:15px}.contact-copy p{font-size:16px;max-width:410px;margin-bottom:18px}.email-link{font-size:19px;overflow-wrap:anywhere}.email-link span{margin-left:9px}.contact-links{display:flex;gap:25px;font-size:13px;margin-top:18px}.site-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);gap:24px;padding:20px 0;font-size:12px;color:var(--muted)}.site-footer a{color:var(--muted)}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{grid-template-columns:1fr 235px;gap:45px}.hero h1{font-size:58px}.lead{font-size:24px}.feature{gap:35px;padding:32px}.feature .project-number{top:35px}.feature h3{font-size:38px}.feature-question{font-size:25px}.project-row{grid-template-columns:28px .9fr 1.1fr;gap:20px}.project-heading h3{font-size:30px}.cv-layout{grid-template-columns:210px minmax(0,1fr);gap:32px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{gap:12px;flex-direction:column;align-items:flex-start;padding:19px 0}.site-header nav{font-size:14px;gap:26px}.hero{grid-template-columns:1fr 190px;gap:27px;padding:35px 0}.hero h1{font-size:50px}.hero .eyebrow{font-size:12px;letter-spacing:0}.lead{font-size:22px}.portrait figcaption{font-size:14px}.background-line{gap:20px;align-items:flex-start}.section-top{align-items:flex-start}.section-top h2{font-size:27px}.section-top>span{display:none}.feature{grid-template-columns:1fr;gap:23px;padding:28px}.feature .project-number{top:31px}.feature .eyebrow{margin-bottom:18px}.feature h3{font-size:39px}.feature-question br{display:none}.feature-question br:after{content:' '}.project-row{grid-template-columns:30px 1fr;gap:16px}.project-copy{grid-column:2}.project-heading h3 br{display:none}.project-heading h3 br:after{content:' '}.project-heading h3{font-size:31px}.project-heading .eyebrow{margin-bottom:10px}.contact{gap:28px}.contact h2{font-size:38px}.email-link{font-size:17px}.cv-layout{display:block;padding-top:27px}.cv-nav{position:static;display:block;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:32px}.cv-nav a{display:block;padding:6px 0}.cv-content h2{font-size:29px}}
@media(max-width:540px){.hero{grid-template-columns:1fr;gap:29px;padding:28px 0}.hero-copy{position:relative}.hero h1{font-size:52px;max-width:340px;margin-bottom:22px}.hero h1 br{display:none}.hero h1 br:after{content:' '}.hero .eyebrow{font-size:13px;margin-bottom:20px}.lead{font-size:25px;line-height:1.35}.intro{font-size:14px;margin-bottom:20px}.link-row{gap:22px}.portrait{width:155px;justify-self:start;display:flex;align-items:center;gap:28px;max-width:none;transform:none;padding:0}.portrait-frame{min-width:145px;border-radius:75px 75px 3px 3px;box-shadow:7px 7px 0 var(--rose);transform:rotate(-2deg)}.portrait figcaption{min-width:145px;margin:0;font-size:16px;padding-left:20px}.background-line{display:block;padding:21px 0}.background-line p{font-size:13px;margin-bottom:12px}.background-line a{font-size:13px}.projects{padding-top:32px}.section-top{margin-bottom:20px}.section-top h2{font-size:27px;max-width:270px}.feature{padding:26px 23px}.feature .project-number{top:28px}.feature .eyebrow{font-size:11px;letter-spacing:.015em;padding-left:31px}.feature h3{font-size:37px}.feature-question{font-size:24px}.feature-copy,.project-copy{font-size:15px}.project-row{padding:29px 0;gap:14px}.project-heading .eyebrow{font-size:11px;letter-spacing:0}.project-heading h3{font-size:29px}.project-link{font-size:13px}.contact{grid-template-columns:1fr;gap:22px;padding:34px 0}.contact h2{font-size:39px}.contact h2 br{display:none}.contact h2 br:after{content:' '}.contact-copy p{font-size:15px}.site-footer{font-size:11px}.cv-header{padding-top:30px}.cv-header h1{font-size:43px;letter-spacing:-1.5px}.cv-header-row{align-items:flex-start;flex-direction:column;gap:20px}.cv-header address{overflow-wrap:anywhere}}
@media(max-width:540px){.portrait{width:100%;gap:24px}.portrait-frame{min-width:0;flex:0 0 42%;max-width:145px}.portrait figcaption{min-width:0;flex:1}}
@media(max-width:360px){.hero h1{font-size:43px}.lead{font-size:22px}.portrait figcaption{font-size:14px}.link-row{gap:16px}.button{gap:13px;padding-inline:13px}.site-header nav{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-link span{transition:none}.project-link:hover span{transform:none}}
@media print{.site-header,.site-footer,.cv-nav,.button,.skip-link{display:none}.wrap{width:100%}body{background:white;color:black;font-size:11pt}.cv-layout{display:block;padding:0}.cv-header{padding:0 0 15px}.cv-header h1{font-size:28pt}.cv-header address,.cv-entries li{font-size:10pt}.cv-content section{padding-bottom:12px;margin-bottom:16px}.cv-content h2{font-size:18pt;break-after:avoid}.cv-entries li{padding:5px 0}.cv-content a{color:inherit}}

/* High-contrast monochrome identity. */
.asterisk,.question-mark{color:#d0d0d0}.button:hover{background:#d9d9d9;color:#101010}.feature{background:#242424;color:#fafafa;border:1px solid #505050}.feature .eyebrow,.feature a{color:#fafafa}.feature .project-number,.feature-question em,.feature .project-link{color:#fff}.portrait{transform:none}.portrait-frame{border-radius:3px;box-shadow:12px 12px 0 #303030;border:1px solid #555}.portrait-frame img{filter:none}.portrait figcaption{color:#d8d8d8}.portrait-frame{transform:none}.projects{border-top:1px solid var(--line)}a:focus-visible{outline:3px solid #fff}.button:focus-visible{outline-offset:6px}.cv-private{min-height:65vh;padding:70px 0 90px;max-width:750px}.cv-private h1{font-size:clamp(45px,6vw,72px);line-height:1.05;margin-bottom:30px}.cv-private>p:not(.eyebrow){max-width:520px;font-size:18px;color:#c7c7c7;margin-bottom:28px}.cv-private .link-row{gap:25px}@media(max-width:540px){.portrait-frame{border-radius:3px;box-shadow:7px 7px 0 #303030;transform:none}.cv-private{padding:45px 0 65px}.cv-private>p:not(.eyebrow){font-size:16px}}
