:root{--brand-green:#384031;--brand-cream:#f1e7d5;--bone:var(--brand-cream);--paper:#f8f3ea;--stone:#e4dbca;--ink:var(--brand-green);--ink-soft:#3f4738;--ink-deep:#2a3025;--accent:#565b4b;--muted:#5d6152;--muted-on-stone:#545949;--mark:#7b7c6c;--on-dark:var(--brand-cream);--on-dark-muted:#c8c2b1;--accent-on-dark:var(--brand-cream);--line:rgba(56,64,49,0.16);--line-strong:rgba(56,64,49,0.36);--line-on-dark:rgba(241,231,213,0.2);--on-dark-border:rgba(241,231,213,0.6);--surface-bar:rgba(56,64,49,0.96);--texture-plaster:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='l' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.337 0 0 0 0 0.376 0 0 0 0 0.294 1 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.900' intercept='-0.450'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Cfilter id='d' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.118 0 0 0 0 0.141 0 0 0 0 0.098 1 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.900' intercept='-0.450'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23l)'/%3E%3Crect width='100%25' height='100%25' filter='url(%23d)'/%3E%3C/svg%3E");--texture-paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='l' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.98 0 0 0 0 0.957 0 0 0 0 0.902 1 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.600' intercept='-0.300'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Cfilter id='d' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.8 0 0 0 0 0.761 0 0 0 0 0.686 1 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.600' intercept='-0.300'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23l)'/%3E%3Crect width='100%25' height='100%25' filter='url(%23d)'/%3E%3C/svg%3E");--glass-dark:rgba(56,64,49,0.78);--glass-light:rgba(248,243,234,0.92);--scrim-base:#1d1c19;--scrim:rgba(18,17,15,0.55);--font-heading:var(--font-cormorant),Georgia,"Times New Roman",serif;--font-display:var(--font-manrope),"Helvetica Neue",Arial,sans-serif;--font-sans:var(--font-manrope),"Helvetica Neue",Arial,sans-serif;--fs-display:clamp(2.99rem,1.67rem + 5.64vw,7.19rem);--fs-h1:clamp(2.76rem,1.84rem + 3.68vw,5.46rem);--fs-h2:clamp(2.3rem,1.67rem + 2.53vw,4.14rem);--fs-h3:clamp(1.375rem,1.19rem + 0.76vw,1.95rem);--fs-h4:clamp(1.14rem,1.05rem + 0.33vw,1.33rem);--fs-lead:clamp(1.03rem,0.93rem + 0.4vw,1.26rem);--fs-body:1rem;--fs-small:0.875rem;--fs-xs:0.78rem;--fs-label:0.75rem;--lh-tight:1.12;--lh-heading:1.18;--lh-body:1.7;--tracking-label:0.16em;--tracking-button:0.14em;--tracking-wide:0.12em;--container:1440px;--container-narrow:880px;--gutter:clamp(20px,4.2vw,64px);--grid-gap:clamp(16px,2.2vw,36px);--section-y:clamp(88px,11vw,176px);--section-y-sm:clamp(64px,7vw,112px);--header-h:84px;--header-h-compact:68px;--radius:2px;--ease:cubic-bezier(0.22,0.61,0.2,1);--dur-fast:180ms;--dur:420ms;--dur-slow:900ms;--focus-ring:0 0 0 2px var(--bone),0 0 0 4px var(--accent)}@media (max-width:760px){:root{--header-h:72px;--header-h-compact:64px}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:1ms;--dur:1ms;--dur-slow:1ms}}*,:after,:before{box-sizing:border-box}html{color-scheme:only light;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h-compact) + 16px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;min-height:100vh;background:var(--bone);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:400;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}body.is-locked{overflow:hidden}img,picture,svg,video{display:block;max-width:100%}img{height:auto}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-heading);font-weight:500;line-height:var(--lh-heading);letter-spacing:-.01em;font-optical-sizing:auto;text-wrap:balance}h3,h4,h5,h6{font-family:var(--font-display)}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:where(ul,ol)[role=list]{list-style:none;margin:0;padding:0}dd,dl{margin:0}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.on-dark :focus-visible,.surface-ink :focus-visible,[data-theme=dark] :focus-visible{outline-color:var(--accent-on-dark)}::selection{background:var(--ink);color:var(--bone)}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:calc(var(--container-narrow) + var(--gutter) * 2)}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-column-gap:var(--grid-gap);column-gap:var(--grid-gap)}.section{padding-block:var(--section-y)}.section--tight{padding-block:var(--section-y-sm)}.surface-stone{background-color:var(--stone);background-image:var(--texture-paper)}.surface-paper{background:var(--paper)}.surface-ink{background-color:var(--ink);background-image:var(--texture-plaster);color:var(--on-dark)}@media (prefers-contrast:more){.surface-ink,.surface-stone{background-image:none}}.t-display{font-size:var(--fs-display);letter-spacing:-.02em}.t-display,.t-h1{font-family:var(--font-heading);line-height:var(--lh-tight)}.t-h1{font-size:var(--fs-h1);letter-spacing:-.015em}.t-h2{font-family:var(--font-heading);font-size:var(--fs-h2);line-height:var(--lh-heading)}.t-h3{font-size:var(--fs-h3);line-height:1.2}.t-h3,.t-h4{font-family:var(--font-display);font-weight:500}.t-h4{font-size:var(--fs-h4);line-height:1.3}.t-lead{font-size:var(--fs-lead);line-height:1.6;font-weight:400;color:var(--ink-soft)}.on-dark .t-lead,.surface-ink .t-lead{color:var(--on-dark-muted)}.t-muted{color:var(--muted)}.surface-stone .t-muted{color:var(--muted-on-stone)}.on-dark .t-muted,.surface-ink .t-muted{color:var(--on-dark-muted)}.t-small{font-size:var(--fs-small)}.t-xs{font-size:var(--fs-xs)}.t-label{font-family:var(--font-sans);font-size:var(--fs-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.4}.t-italic{font-style:italic}.prose{color:var(--ink-soft);font-size:var(--fs-body);line-height:var(--lh-body);max-width:70.5ch}.prose>*+*{margin-top:1.15em}.prose h3{font-size:var(--fs-h4);color:var(--ink);margin-top:2em}.prose ol,.prose ul{padding-left:1.2em}.prose li+li{margin-top:.4em}.prose a{text-decoration:underline;-webkit-text-decoration-color:var(--mark);text-decoration-color:var(--mark);text-underline-offset:.2em;text-decoration-thickness:1px}.prose a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.hairline{height:1px;border:0;margin:0;background:var(--line)}.hairline--mark{background:var(--mark)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:12px 18px;background:var(--ink);color:var(--bone);transform:translateY(-160%);transition:transform var(--dur-fast) var(--ease)}.skip-link:focus-visible{transform:translateY(0)}@media screen and (prefers-reduced-motion:no-preference){.js [data-reveal]{transition:opacity 1s var(--m-ease,var(--ease)),translate 1s var(--m-ease,var(--ease))}.js [data-reveal]:not(.is-visible){opacity:var(--m-fs-op,0);translate:var(--m-fs-tr,0 32px)}}@media (max-aspect-ratio:3/4){img[data-portrait-crop]{object-position:50% 50%!important}}[data-cv]{contain-intrinsic-size:auto 900px}[data-cv=on]{content-visibility:auto}:root{--m-ease:cubic-bezier(0.2,0.7,0.2,1);--m-ease-wipe:cubic-bezier(0.76,0,0.18,1);--m-dur-text:1.1s;--m-dur-up:1s;--m-dur-wipe:1.35s;--m-dur-zoom:1.9s;--m-dur-line:1.3s;--m-line-step:115ms}.m-split{display:block}.m-rise,.m-w{max-width:100%;vertical-align:top}.m-ri,.m-rise,.m-w,.m-wi{display:inline-block}:where([data-m-line],[data-m~=line],[data-m-eyebrow]>:empty){transform-origin:0 50%}:where([data-m~=head],[data-m-load~=head])>header>p:first-child>:empty{transform-origin:0 50%}@media screen and (prefers-reduced-motion:no-preference){.js .m-w{overflow:hidden;max-width:calc(100% + .24em);padding:.2em .12em .28em;margin:-.2em -.12em -.28em}.js .m-rise{overflow:hidden;max-width:calc(100% + .16em);padding:.14em .08em .2em;margin:-.14em -.08em -.2em}.js [data-m~=text]:not([data-m-in]) .m-wi{translate:var(--m-fs-tr,0 calc(100% + .32em));opacity:var(--m-fs-op,0)}.js :is([data-m~=up],[data-m~=fade]):not([data-m-in]),.js [data-m]:not([data-m-in]) :is([data-m-up],[data-m-fade],[data-m-dot]),.js [data-m]:not([data-m-in]) [data-m-eyebrow]>:not(:empty),.js [data-m~=card]:not([data-m-in])>article>a>:last-child,.js [data-m~=figure]:not([data-m-in])>figcaption,.js [data-m~=head]:not([data-m-in])>header>.t-lead,.js [data-m~=head]:not([data-m-in])>header>p:first-child>:not(:empty){opacity:var(--m-fs-op,0)}.js [data-m]:not([data-m-in]) .m-ri{translate:var(--m-fs-tr,0 110%)}.js [data-m]:not([data-m-in]) [data-m-img],.js [data-m~=card]:not([data-m-in])>article>a>:first-child,.js [data-m~=figure]:not([data-m-in])>:first-child,.js [data-m~=image]:not([data-m-in]){-webkit-clip-path:var(--m-fs-clip,var(--m-clip,inset(100% 0 0 0)));clip-path:var(--m-fs-clip,var(--m-clip,inset(100% 0 0 0)))}.js [data-m]:not([data-m-in]) [data-m-eyebrow]>:empty,.js [data-m]:not([data-m-in]) [data-m-line],.js [data-m~=head]:not([data-m-in])>header>p:first-child>:empty,.js [data-m~=line]:not([data-m-in]){scale:var(--m-fs-sc,var(--m-draw-from,0 1))}.js [data-m-dir=left]{--m-clip:inset(0 100% 0 0)}.js [data-m-dir=right]{--m-clip:inset(0 0 0 100%)}.js [data-m-dir=down]{--m-clip:inset(0 0 100% 0)}.js [data-m~=text][data-m-in] .m-wi{animation:m-word var(--m-dur-text) var(--m-ease) backwards;animation-delay:calc(var(--m-d, 0s) + var(--m-li, 0) * var(--m-line-step))}.js [data-m~=text][data-m-mode=words][data-m-in] .m-wi{animation-delay:calc(var(--m-d, 0s) + var(--m-wi, 0) * 42ms)}.js [data-m~=up][data-m-in]{animation:m-up var(--m-dur-up) var(--m-ease) var(--m-d,0s) backwards}.js [data-m~=fade][data-m-in]{animation:m-fade var(--m-dur-up) var(--m-ease) var(--m-d,0s) backwards}.js [data-m~=line][data-m-in]{animation:m-draw var(--m-dur-line) var(--m-ease) var(--m-d,0s) backwards}.js [data-m~=image][data-m-in]{animation:m-wipe var(--m-dur-wipe) var(--m-ease-wipe) var(--m-d,0s) backwards}.js [data-m][data-m-in] [data-m-img] img,.js [data-m~=image][data-m-in] img{animation:m-zoom var(--m-dur-zoom) var(--m-ease) calc(var(--m-d, 0s) + var(--m-k, 0s)) backwards}.js [data-m][data-m-in] [data-m-up]{animation:m-up var(--m-dur-up) var(--m-ease) calc(var(--m-d, 0s) + var(--m-k, 0s)) backwards}.js [data-m][data-m-in] [data-m-fade]{animation:m-fade var(--m-dur-up) var(--m-ease) calc(var(--m-d, 0s) + var(--m-k, 0s)) backwards}.js [data-m][data-m-in] [data-m-dot]{animation:m-dot .8s var(--m-ease) calc(var(--m-d, 0s) + var(--m-k, 0s)) backwards}.js [data-m][data-m-in] [data-m-img]{animation:m-wipe var(--m-dur-wipe) var(--m-ease-wipe) calc(var(--m-d, 0s) + var(--m-k, 0s)) backwards}.js [data-m][data-m-in] [data-m-line]{animation:m-draw var(--m-dur-line) var(--m-ease) calc(var(--m-d, 0s) + var(--m-k, 0s)) backwards}.js [data-m][data-m-in] .m-ri{animation:m-rise 1.05s var(--m-ease) calc(var(--m-d, 0s) + var(--m-k, 0s)) backwards}.js [data-m][data-m-in] [data-m-eyebrow]>:not(:empty),.js [data-m~=head][data-m-in]>header>p:first-child>:not(:empty){animation:m-up-sm .9s var(--m-ease) calc(var(--m-d, 0s) + var(--m-k, 0s)) backwards}.js [data-m][data-m-in] [data-m-eyebrow]>:empty,.js [data-m~=head][data-m-in]>header>p:first-child>:empty{animation:m-draw 1.1s var(--m-ease) calc(var(--m-d, 0s) + var(--m-k, 0s) + 80ms) backwards}.js [data-m][data-m-in] [data-m-eyebrow]>.t-label,.js [data-m~=head][data-m-in]>header>p:first-child>.t-label{animation-delay:calc(var(--m-d, 0s) + var(--m-k, 0s) + .24s)}.js [data-m~=head][data-m-in]>header>.t-lead{animation:m-up var(--m-dur-up) var(--m-ease) calc(var(--m-d, 0s) + .42s) backwards}.js [data-m~=card][data-m-in]{animation:m-lift 1.5s var(--m-ease) var(--m-d,0s) backwards}.js [data-m~=card][data-m-in]>article>a>:first-child{animation:m-wipe var(--m-dur-wipe) var(--m-ease-wipe) var(--m-d,0s) backwards}.js [data-m~=card][data-m-in]>article img{animation:m-zoom var(--m-dur-zoom) var(--m-ease) var(--m-d,0s) backwards}.js [data-m~=card][data-m-in]>article>a>:last-child{animation:m-up var(--m-dur-up) var(--m-ease) calc(var(--m-d, 0s) + .42s) backwards}.js [data-m~=figure][data-m-in]>:first-child{animation:m-wipe var(--m-dur-wipe) var(--m-ease-wipe) var(--m-d,0s) backwards}.js [data-m~=figure][data-m-in] img{animation:m-zoom var(--m-dur-zoom) var(--m-ease) var(--m-d,0s) backwards}.js [data-m~=figure][data-m-in]>figcaption{animation:m-up var(--m-dur-up) var(--m-ease) calc(var(--m-d, 0s) + .38s) backwards}.js [data-m-load~=text] .m-wi{animation:m-word var(--m-dur-load,1s) var(--m-ease) backwards;animation-delay:calc(var(--m-d0, 0s) + var(--m-wi, 0) * 65ms)}.js [data-m-load~=up]{animation:m-up var(--m-dur-load,var(--m-dur-up)) var(--m-ease) var(--m-d0,0s) backwards}.js [data-m-load~=rise]{animation:m-rise-in var(--m-dur-load,var(--m-dur-up)) var(--m-ease) var(--m-d0,0s) backwards}.js [data-m-load~=fade]{animation:m-fade 1.2s var(--m-ease) var(--m-d0,0s) backwards}.js [data-m-load~=head]>header>p:first-child>:not(:empty){animation:m-up-sm .9s var(--m-ease) var(--m-d0,0s) backwards}.js [data-m-load~=head]>header>p:first-child>:empty{animation:m-draw 1.1s var(--m-ease) calc(var(--m-d0, 0s) + 80ms) backwards}.js [data-m-load~=head]>header>p:first-child>.t-label{animation-delay:calc(var(--m-d0, 0s) + .22s)}.js [data-m-load~=head]>header>.t-lead{animation:m-up var(--m-dur-up) var(--m-ease) calc(var(--m-d0, 0s) + .52s) backwards}.js [data-m-load~=card]>article img{animation:m-settle 1.8s var(--m-ease) var(--m-d0,0s) backwards}.js [data-m-par]{--m-rest:1.14;--m-zoom-from:1.28}.js [data-m-par] img{scale:var(--m-rest);will-change:translate}html.js:not([data-motion]){animation:m-failsafe 1ms linear 2.6s forwards}}@keyframes m-word{0%{translate:0 calc(100% + .32em);opacity:0}35%{opacity:1}to{translate:0 0;opacity:1}}@keyframes m-up{0%{opacity:0;translate:0 var(--m-up-y,40px)}to{opacity:1;translate:0 0}}@keyframes m-rise-in{0%{translate:0 14px}to{translate:0 0}}@keyframes m-up-sm{0%{opacity:0;translate:0 .6em}to{opacity:1;translate:0 0}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-lift{0%{translate:0 64px}to{translate:0 0}}@keyframes m-wipe{0%{-webkit-clip-path:var(--m-clip,inset(100% 0 0 0));clip-path:var(--m-clip,inset(100% 0 0 0))}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes m-zoom{0%{scale:var(--m-zoom-from,1.14)}to{scale:var(--m-rest,1)}}@keyframes m-settle{0%{scale:1.07}to{scale:1}}@keyframes m-draw{0%{scale:var(--m-draw-from,0 1)}to{scale:1 1}}@keyframes m-rise{0%{translate:0 110%}to{translate:0 0}}@keyframes m-dot{0%{opacity:0;scale:.2}to{opacity:1;scale:1}}@keyframes m-failsafe{to{--m-fs-op:1;--m-fs-tr:none;--m-fs-clip:none;--m-fs-sc:none}}