@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('/assets/fonts/instrument-sans-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('/assets/fonts/instrument-sans-latin-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{--text-12:.75rem;--text-14:.875rem;--text-16:1rem;--text-18:1.125rem;--text-40:2.5rem;--paper:#f6f3eb;--ink:#202d27;--accent:#315b45;--secondary:#5c655f;--surface:#e6e7dc;--rule:#c9cdbf;--line-12:1.5;--line-14:1.5;--line-16:1.6;--line-18:1.65;--line-40:1.15}
*{box-sizing:border-box}
html{scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Instrument Sans',sans-serif;font-size:var(--text-16);line-height:var(--line-16)}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2{font-family:Fraunces,serif;font-size:var(--text-40);line-height:var(--line-40);font-weight:400;letter-spacing:-.01em;text-wrap:balance;overflow-wrap:break-word}
h3{font-size:var(--text-18);line-height:var(--line-18);font-weight:600}
a{color:var(--accent);text-underline-offset:.25em;text-decoration-thickness:1px}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
::selection{background:var(--surface);color:var(--ink)}
.shell{width:min(100% - 7rem,78rem);margin-inline:auto}
.skip-link{position:fixed;top:-8rem;left:1rem;z-index:10;padding:.75rem 1rem;background:var(--ink);color:var(--paper);min-height:2.75rem}
.skip-link:focus{top:1rem}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--rule);padding-block:1.75rem}
.site-name{max-width:18rem;color:var(--ink);font-weight:600;line-height:1.5;text-decoration:none;padding-block:.5rem;min-height:2.75rem}
.site-navigation{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1.5rem}
.site-navigation a{color:var(--ink);display:inline-flex;align-items:center;min-height:2.75rem;padding-block:.5rem;text-decoration:none;border-bottom:1px solid transparent}
.site-navigation a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}
.site-navigation a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.menu-toggle{color:var(--ink);background:transparent;border:1px solid var(--rule);padding:.625rem .875rem;min-height:2.75rem;text-align:left}
.eyebrow{font-size:var(--text-14);line-height:var(--line-14);font-weight:600;color:var(--secondary)}
.opening{font-size:var(--text-18);line-height:var(--line-18);max-width:65ch}
.home-heading{padding:3.5rem 0 2rem;max-width:48rem}
.home-heading .eyebrow{margin-bottom:1.25rem}
.home-heading h1{max-width:26ch}
.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center;padding-bottom:3.5rem}
.home-introduction{max-width:65ch}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:2rem}
.button,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;font-size:var(--text-16);line-height:var(--line-16);font-weight:600;min-height:2.75rem;text-decoration:none}
.button{padding:.75rem 1.25rem;border:1px solid var(--accent);background:var(--accent);color:var(--paper)}
.button:hover{background:var(--ink);border-color:var(--ink)}
.button:disabled{background:var(--surface);border-color:var(--rule);color:var(--secondary);cursor:not-allowed}
.text-link{border-bottom:1px solid var(--accent);padding:.625rem 0;color:var(--accent);width:fit-content}
.text-link:hover{text-decoration:underline}
.portrait{width:100%}
.portrait-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.about-portrait .portrait-image img{object-position:75% 45%}
.portrait-image{width:100%;background:var(--surface);border:1px solid var(--rule);aspect-ratio:5 / 4;min-height:26rem;display:block;position:relative;overflow:hidden}
figcaption{font-size:var(--text-12);line-height:var(--line-12);color:var(--secondary);margin-top:.5rem}
.experience-overview{border-block:1px solid var(--rule);padding:2rem 0 2.5rem}
.experience-overview>.eyebrow{margin-bottom:1.5rem}
.experience-highlights{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem 3.5rem}
.experience-highlights>div{display:grid;grid-template-columns:1fr 1.3fr;gap:1rem}
.experience-highlights dt{font-weight:600}
.experience-highlights dd{font-size:var(--text-14);line-height:var(--line-14)}
.experience-highlights dd>span{display:block;color:var(--secondary);margin-top:.5rem}
.editorial-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5rem;padding-block:3.5rem;border-bottom:1px solid var(--rule)}
.editorial-split h2{max-width:21ch}
.prose{max-width:70ch}
.prose p+p,.prose p+ul,.prose ul+p{margin-top:1.25rem}
.prose ul{padding-left:1.5rem}
.prose .text-link{margin-top:1.25rem}
.pending-content{padding:1rem 1.25rem;border-left:2px solid var(--accent);background:var(--surface);font-size:var(--text-16);line-height:var(--line-16);color:var(--ink);overflow-wrap:anywhere}
.prose .pending-content{margin-top:1.5rem}



.contact-invitation{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5rem;padding-block:3.5rem}
.contact-invitation h2{max-width:20ch}
.page-heading{padding:3.5rem 0 3rem;max-width:64rem}
.page-heading>.eyebrow{margin-bottom:1.25rem}
.page-heading h1{max-width:30ch}
.page-heading>.opening{margin-top:1.5rem}
.page-heading-with-action{max-width:none}
.page-heading-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
.page-heading-title .button{flex-shrink:0}
.about-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:5rem;align-items:start;padding-bottom:3.5rem}
.about-portrait{position:sticky;top:2rem}
.about-portrait .portrait-image{aspect-ratio:4 / 5;min-height:29rem}
.about-story .prose,.case-story .prose{font-size:var(--text-18);line-height:var(--line-18);max-width:70ch}
.story-section{padding-block:2.75rem;border-bottom:1px solid var(--rule)}
.story-section:first-child{padding-top:0}
.story-section:last-child{border-bottom:0}
.story-section h2{margin-bottom:1.5rem}
.career-timeline{border-top:1px solid var(--rule)}
.career-entry{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:5rem;padding:3rem 0;border-bottom:1px solid var(--rule)}
.career-entry .eyebrow{margin-bottom:1.25rem}
.career-entry h2{max-width:17ch;margin-bottom:1.25rem}
.role-name{font-size:var(--text-18);line-height:var(--line-18);font-weight:600;max-width:30ch}
.career-entry .company-context{font-size:var(--text-14);line-height:var(--line-14);color:var(--secondary);margin-bottom:1.5rem}
.page-experience main>.story-section{padding-block:3rem}
.capability-list,.selected-work{border-top:1px solid var(--rule);padding-bottom:1rem}
.capability{display:grid;grid-template-columns:3rem minmax(0,.9fr) minmax(0,1.1fr);column-gap:2.5rem;padding:3rem 0;border-bottom:1px solid var(--rule)}
.section-number{color:var(--accent);font-size:var(--text-14);line-height:var(--line-14);font-variant-numeric:tabular-nums;padding-top:.5rem}
.capability h2{max-width:19ch}
.capability .prose{align-self:start}
.work-entry{display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:2.5rem;padding:2rem 0;border-bottom:1px solid var(--rule)}
.work-entry .eyebrow{margin-bottom:.75rem}
.work-entry .prose{margin-top:1rem}
.selected-work{padding-bottom:3rem}
.case-layout{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.6fr);gap:5rem;padding:1rem 0 3.5rem}
.case-contents{position:sticky;top:2rem;align-self:start;border-top:1px solid var(--rule);padding-top:1.5rem}
.case-contents>.eyebrow{margin-bottom:.75rem}
.case-contents nav{display:flex;flex-direction:column;align-items:flex-start}
.case-contents a{color:var(--secondary);min-height:2.75rem;display:inline-flex;align-items:center;padding-block:.5rem}
.case-contents a:hover{color:var(--accent)}
.case-story .story-section{scroll-margin-top:1.5rem}
.back-link{border-top:1px solid var(--rule);padding-top:1.5rem}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:7rem;padding:0 0 4rem}
.contact-form-section>h2{margin-bottom:1.5rem}
.form-status{background:var(--surface);border-left:2px solid var(--accent);padding:1rem 1.25rem;margin-bottom:1.5rem}
.form-trap{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.required-note{font-size:var(--text-14);line-height:var(--line-14);color:var(--secondary);margin-bottom:1.5rem}
.field{margin-bottom:1.5rem}
.field label{display:block;font-weight:600;margin-bottom:.5rem}
.field input,.field textarea{display:block;width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--secondary);border-radius:0;padding:.75rem;min-height:3rem;font-size:var(--text-16);line-height:var(--line-16);accent-color:var(--accent)}
.field textarea{resize:vertical;min-height:12rem}
.field-hint{font-size:var(--text-14);line-height:var(--line-14);color:var(--secondary);margin-top:.375rem}
.privacy-note{font-size:var(--text-12);line-height:var(--line-12);color:var(--secondary);margin-top:1rem;max-width:65ch}
.contact-details{border-left:1px solid var(--rule);padding-left:3rem}
.contact-details>section+section{margin-top:3rem}
.contact-details h2{margin-bottom:1.25rem}
.contact-details .text-link{display:flex}
.not-found{padding-bottom:5rem}
.site-footer{border-top:1px solid var(--rule);padding:2rem 0;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;font-size:var(--text-14);line-height:var(--line-14);color:var(--secondary)}
.site-footer a{min-height:2.75rem;display:inline-flex;align-items:center;padding-block:.5rem}
.footer-name{font-size:var(--text-16);line-height:var(--line-16);font-weight:600;text-decoration:none;color:var(--ink)}
.footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;align-self:start;gap:.25rem 1.5rem}
.legal{font-size:var(--text-12);line-height:var(--line-12);grid-column:1 / -1}
@media(max-width:68rem){.shell{width:calc(100% - 4rem)}.site-header{gap:1.25rem}.site-navigation{gap:.25rem 1rem}.home-hero{gap:3rem}.portrait-image{min-height:24rem}.experience-highlights>div{display:block}.experience-highlights dt{margin-bottom:.5rem}.editorial-split,.contact-invitation,.about-layout,.career-entry,.case-layout{gap:3rem}.capability{grid-template-columns:2rem minmax(0,1fr) minmax(0,1.1fr);column-gap:1.5rem}.work-entry{grid-template-columns:2rem minmax(0,1fr);column-gap:1.5rem}.contact-layout{gap:3rem}.contact-details{padding-left:2rem}}
@media(max-width:48rem){.shell{width:calc(100% - 3rem)}.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;padding-block:1.25rem}.site-name{max-width:16rem}.menu-toggle{font-size:var(--text-14);line-height:var(--line-14)}.site-navigation{grid-column:1 / -1;justify-content:flex-start;gap:.25rem 1.5rem;border-top:1px solid var(--rule);padding-top:1rem}.home-heading{padding-top:2.5rem}.home-hero{gap:2rem;grid-template-columns:1fr 1fr}.portrait-image{min-height:23rem;aspect-ratio:auto;}.opening{max-width:65ch}.home-introduction .actions{flex-direction:column;align-items:flex-start;gap:1rem}.editorial-split,.contact-invitation{gap:2rem}.about-layout{display:block}.about-portrait{position:static;float:left;width:40%;margin:0 2rem 1rem 0}.about-portrait .portrait-image{min-height:25rem}.about-story .story-section{overflow:hidden}.about-story .story-section:first-child{padding-bottom:2rem}.about-story .story-section:not(:first-child){clear:both}.career-entry{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem}.capability,.work-entry{grid-template-columns:2rem minmax(0,1fr);gap:1.25rem}.capability .prose,.work-entry .prose{grid-column:2}.case-layout{display:block}.case-contents{position:static;border-bottom:1px solid var(--rule);padding:1.5rem 0;margin-bottom:2.5rem}.case-contents nav{flex-direction:row;flex-wrap:wrap;gap:.25rem 1.5rem}.contact-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem}.contact-details{padding-left:1.5rem}}
@media(max-width:36rem){.shell{width:calc(100% - 2.5rem)}.site-header{gap:1rem}.site-name{max-width:12rem}.menu-toggle{max-width:7rem}.site-navigation{gap:0 1.25rem}.home-heading{padding:2.25rem 0 1.5rem}.home-heading .eyebrow{margin-bottom:1rem;max-width:28ch}.home-heading h1{max-width:18ch}.home-hero{display:flex;flex-direction:column;gap:2rem;padding-bottom:2.5rem}.home-introduction{order:-1}.home-introduction .actions,.actions{gap:1rem;align-items:flex-start;flex-direction:column;margin-top:1.5rem}.portrait-image{min-height:23rem;aspect-ratio:4 / 5;}.experience-overview{padding:1.75rem 0}.experience-highlights{grid-template-columns:1fr;gap:1.25rem}.experience-highlights>div{border-bottom:1px solid var(--rule);padding-bottom:1.25rem}.experience-highlights>div:last-child{border:0;padding-bottom:0}.experience-highlights dt{margin-bottom:.25rem}.experience-highlights dd>span{margin-top:.25rem}.editorial-split,.contact-invitation{display:block;padding-block:2.5rem}.editorial-split h2,.contact-invitation h2{margin-bottom:1.5rem}.page-heading{padding:2.5rem 0}.page-heading>.eyebrow{margin-bottom:1rem}.page-heading h1{max-width:18ch}.page-heading>.opening{margin-top:1.25rem}.about-layout{padding-bottom:2.5rem}.about-portrait{float:none;width:100%;margin:0 0 2.5rem}.about-portrait .portrait-image{min-height:24rem;aspect-ratio:4 / 5}.about-story .story-section{overflow:visible}.story-section{padding-block:2.5rem}.career-entry{display:block;padding-block:2.5rem}.career-entry header{margin-bottom:1.5rem}.career-entry .eyebrow{margin-bottom:1rem}.career-entry h2{margin-bottom:1rem}.career-entry .company-context{margin-bottom:1.25rem}.capability,.work-entry{grid-template-columns:1fr;gap:1rem;padding-block:2.5rem}.section-number{padding-top:0}.capability .prose{grid-column:1;margin-top:.25rem}.work-entry .eyebrow{margin-bottom:1rem}.case-layout{padding-top:0;padding-bottom:2.5rem}.case-contents nav{display:flex;flex-direction:column;gap:0}.contact-layout{display:block;padding-bottom:2.5rem}.contact-details{border-left:0;border-top:1px solid var(--rule);padding:2.5rem 0 0;margin-top:2.5rem}.contact-details>section+section{margin-top:2.5rem}.site-footer{display:block;padding-block:1.5rem}.footer-links{justify-content:flex-start;margin-top:1rem;gap:.25rem 1.5rem}.legal{margin-top:1.5rem}.not-found{padding-bottom:3rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
