/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}}:root{color:#20241f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--display-font:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;background:#f2efe8;font-family:Avenir Next,Avenir,Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{color:#20241f;background:#f2efe8;min-width:320px;margin:0}body::selection{color:#20241f;background:#d8c2b4}::selection{color:#20241f;background:#d8c2b4}button,a,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button{color:inherit}img{max-width:100%;display:block}.portfolio-page{overflow:clip}.site-shell{width:min(1180px,100% - 48px);margin-inline:auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f2efe8f0;border-bottom:1px solid #20241f29;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:72px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{width:34px;height:34px;font-family:var(--display-font);border:1px solid #20241f;border-radius:50%;place-items:center;font-size:.95rem;display:grid}.desktop-nav{align-items:center;gap:24px;display:flex}.desktop-nav button,.desktop-nav a,.mobile-nav button,.mobile-nav a{color:#4c524b;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:.9rem;text-decoration:none}.desktop-nav button:hover,.desktop-nav a:hover,.mobile-nav button:hover,.mobile-nav a:hover{color:#9a4f32}.desktop-nav a{color:#20241f;border-bottom:1px solid}.menu-button{cursor:pointer;background:0 0;border:0;padding:8px 0;display:none}.mobile-nav{display:none}.hero-section{border-bottom:1px solid #c9c5ba;padding:112px 0 96px}.hero-grid{grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);align-items:end;gap:clamp(48px,8vw,120px);display:grid}.eyebrow,.note-label{color:#9a4f32;letter-spacing:.13em;text-transform:uppercase;margin:0 0 18px;font-size:.75rem;font-weight:700}.hero-section h1,.section-intro h2,.about-copy h2,.contact-section h2{font-family:var(--display-font);letter-spacing:-.04em;margin:0;font-weight:500}.hero-section h1{max-width:900px;font-size:clamp(3rem,5.6vw,5.6rem);line-height:.98}.hero-intro{color:#4c524b;max-width:720px;margin:36px 0 0;font-size:clamp(1.05rem,1.6vw,1.24rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:28px;margin-top:36px;display:flex}.text-link{color:#4c524b;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;align-items:baseline;gap:7px;padding:0 0 4px;text-decoration:none;display:inline-flex}.text-link.strong,.text-link:hover{color:#9a4f32}.current-note{border-top:2px solid #20241f;padding-top:18px}.current-role{border-bottom:1px solid #c9c5ba;gap:3px;padding:18px 0;display:grid}.current-role strong{font-family:var(--display-font);font-size:1.25rem;font-weight:600}.current-role span{color:#343a34}.current-role small,.availability{color:#6a7068;font-size:.83rem;line-height:1.5}.availability{margin:18px 0 0}.content-section{border-bottom:1px solid #c9c5ba;padding:104px 0}.work-section{background:#f8f5ee}.section-intro{grid-template-columns:minmax(220px,.65fr) minmax(0,1.5fr);align-items:start;column-gap:56px;margin-bottom:64px;display:grid}.section-intro .eyebrow{grid-row:span 2}.section-intro h2,.about-copy h2,.contact-section h2{font-size:clamp(2.15rem,3.7vw,3.8rem);line-height:1.05}.section-intro>p:last-child{color:#5c625b;max-width:670px;margin:22px 0 0;line-height:1.7}.project-list{border-top:1px solid #20241f}.project-row{border-bottom:1px solid #c9c5ba;grid-template-columns:86px 1fr;gap:28px;padding:46px 0 50px;display:grid}.project-index,.capability-number{color:#9a4f32;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.project-heading{justify-content:space-between;gap:32px;display:flex}.project-heading h3,.experience-title h3,.capability-grid h3{font-family:var(--display-font);letter-spacing:-.025em;margin:0;font-weight:600}.project-heading h3{font-size:clamp(1.8rem,2.6vw,2.7rem);line-height:1.05}.project-heading p{color:#6a7068;margin:8px 0 0}.project-heading>span{color:#6a7068;flex:none;font-size:.86rem}.project-summary{max-width:850px;margin:28px 0 0;font-size:1.12rem;line-height:1.65}.project-contribution{color:#565c55;max-width:850px;margin:18px 0 0;line-height:1.65}.project-contribution strong{color:#20241f}.project-footer{justify-content:space-between;align-items:end;gap:32px;margin-top:30px;display:flex}.project-footer ul{color:#6a7068;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.project-footer li:not(:last-child):after{content:"·";margin-left:18px}.project-links{flex-wrap:wrap;justify-content:flex-end;gap:16px;display:flex}.project-links a,.social-links a{color:#20241f;text-underline-offset:4px;text-decoration-color:#9a4f32}.project-links a:hover,.social-links a:hover{color:#9a4f32}.experience-section{color:#20241f;background:#e7e3da}.two-column-section{grid-template-columns:minmax(250px,.75fr) minmax(0,1.65fr);align-items:start;gap:clamp(56px,9vw,130px);display:grid}.sticky-intro{margin:0;display:block;position:sticky;top:112px}.sticky-intro h2{font-size:clamp(2.1rem,3.2vw,3.3rem)}.sticky-intro>p:not(.eyebrow){color:#555c54;margin:24px 0 30px;line-height:1.7}.sticky-intro .text-link{color:#9a4f32}.experience-list{border-top:1px solid #20241f8c}.experience-item{border-bottom:1px solid #20241f2e;padding:34px 0 38px}.experience-title{justify-content:space-between;gap:32px;display:flex}.experience-title h3{font-size:1.55rem;line-height:1.15}.experience-title p{color:#9a4f32;margin:7px 0 0}.experience-meta{color:#4c524b;flex:none;align-content:start;justify-items:end;gap:6px;font-size:.83rem;display:grid}.experience-meta small{color:#747b72}.experience-item ul{color:#454b45;gap:8px;margin:22px 0 0;padding-left:18px;line-height:1.58;display:grid}.experience-item li::marker{color:#9a4f32}.earlier-work{padding:32px 0 0}.earlier-work p:last-child{color:#4c524b;max-width:720px;line-height:1.65}.about-section{background:#f2efe8}.about-grid{grid-template-columns:minmax(270px,.8fr) minmax(0,1.35fr);align-items:start;gap:clamp(48px,9vw,130px);display:grid}.portrait-wrap{margin:0}.portrait-wrap img{aspect-ratio:4/5;object-fit:cover;object-position:center 30%;filter:saturate(.75)contrast(1.03);width:100%}.portrait-wrap figcaption{color:#6a7068;margin-top:12px;font-size:.78rem}.about-copy h2{max-width:760px}.about-copy>p:not(.eyebrow){color:#565c55;max-width:760px;line-height:1.75}.about-copy .large-copy{color:#20241f;margin-top:32px;font-size:1.15rem}.working-notes{border-top:1px solid #20241f;margin:40px 0 0;display:grid}.working-notes>div{border-bottom:1px solid #c9c5ba;grid-template-columns:150px 1fr;gap:24px;padding:17px 0;display:grid}.working-notes dt{color:#9a4f32;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.working-notes dd{color:#454b45;margin:0}.capabilities-section{background:#f8f5ee}.compact-intro{margin-bottom:52px}.capability-grid{border-top:1px solid #20241f;grid-template-columns:repeat(4,1fr);display:grid}.capability-grid article{border-right:1px solid #c9c5ba;min-height:310px;padding:28px 26px 24px 0}.capability-grid article:not(:first-child){padding-left:26px}.capability-grid article:last-child{border-right:0}.capability-grid h3{margin-top:34px;font-size:1.65rem}.capability-grid p{color:#5c625b;line-height:1.65}.capability-grid small{color:#9a4f32;margin-top:24px;line-height:1.6;display:block}.contact-section{background:#d8c2b4;padding:112px 0}.contact-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.25fr);gap:clamp(48px,9vw,130px);display:grid}.contact-section .eyebrow{color:#713820}.contact-copy>p{color:#343a34;max-width:650px;margin:4px 0 32px;font-size:1.05rem;line-height:1.7}.email-link{font-family:var(--display-font);text-underline-offset:7px;font-size:clamp(1.35rem,2.7vw,2.5rem);text-decoration-thickness:1px;display:inline-block}.email-link:hover{color:#713820}.social-links{flex-wrap:wrap;gap:24px;margin-top:40px;font-size:.9rem;display:flex}.site-footer{color:#c3c9c2;background:#20241f;padding:28px 0}.footer-inner{justify-content:space-between;gap:24px;font-size:.78rem;display:flex}.footer-inner p{margin:0}@media (max-width:960px){.hero-grid,.two-column-section,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-section{padding-top:88px}.current-note{max-width:620px}.sticky-intro{position:static}.capability-grid{grid-template-columns:repeat(2,1fr)}.capability-grid article:nth-child(2){border-right:0}.capability-grid article:nth-child(n+3){border-top:1px solid #c9c5ba}.portrait-wrap{max-width:520px}}@media (max-width:720px){.site-shell{width:min(100% - 32px,1180px)}.header-inner{min-height:64px}.brand{font-size:.92rem}.desktop-nav{display:none}.menu-button{display:block}.mobile-nav{background:#f2efe8;border-top:1px solid #c9c5ba;display:block}.mobile-nav .site-shell{padding:10px 0 18px;display:grid}.mobile-nav button,.mobile-nav a{text-align:left;border-bottom:1px solid #20241f1f;padding:11px 0}.hero-section{padding:72px 0 68px}.hero-section h1{font-size:clamp(2.75rem,12.5vw,3.75rem);line-height:1}.hero-intro{margin-top:28px}.content-section,.contact-section{padding:76px 0}.section-intro{margin-bottom:44px;display:block}.section-intro h2,.about-copy h2,.contact-section h2{font-size:clamp(2.15rem,9vw,3rem);line-height:1.08}.project-row{grid-template-columns:1fr;gap:18px;padding:38px 0 42px}.project-heading,.project-footer,.experience-title,.footer-inner{flex-direction:column;align-items:flex-start}.project-heading,.experience-title,.project-footer{display:flex}.project-links{justify-content:flex-start}.experience-meta{justify-items:start}.working-notes>div{grid-template-columns:1fr;gap:8px}.capability-grid{grid-template-columns:1fr}.capability-grid article,.capability-grid article:not(:first-child){border-top:1px solid #c9c5ba;border-right:0;min-height:auto;padding:28px 0 34px}.capability-grid article:first-child{border-top:0}.email-link{overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
