*,:before,:after{box-sizing:border-box;min-width:0}html{scroll-padding-top:calc(var(--nav-h,72px) + 1rem)}img,svg,video,iframe,canvas,table{max-width:100%;display:block}p,li,h1,h2,h3,h4,blockquote,td,dd,dt{overflow-wrap:anywhere}form[style*=min-height]{align-content:center}:root{--paper:#f4f2ee;--paper-2:#ebe8e2;--paper-3:#e2ded6;--ink:#16171a;--ink-2:#35363b;--grey:#77766f;--rule:#d9d5cd;--rule-soft:#e5e1d9;--accent:#8a6f45;--accent-2:#b79b6e;--shell:1180px;--nav-h:74px;--serif:"Bodoni Moda", Georgia, "Times New Roman", serif;--sans:"Instrument Sans", "Helvetica Neue", Helvetica, sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:clamp(.975rem,.93rem + .22vw,1.0625rem);font-weight:400;line-height:1.65}body:before{content:"";pointer-events:none;z-index:0;opacity:.028;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");position:fixed;inset:0}img{display:block}a{color:inherit}.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2.75rem)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:99;background:var(--ink);color:var(--paper);transition:top .2s var(--ease);padding:.7rem 1.1rem;font-size:.9rem;text-decoration:none;position:absolute;top:-5rem;left:.75rem}.skip:focus{top:.75rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.h2{font-family:var(--serif);letter-spacing:-.012em;margin:0 0 1rem;font-size:clamp(1.65rem,1.15rem + 2.05vw,3rem);font-weight:500;line-height:1.12}.h2 em{font-style:italic;font-weight:400}.h2--light{color:var(--paper)}.h4{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:0 0 1rem;font-size:.735rem;font-weight:600}.eyebrow,.rubric{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem;font-size:.7rem;font-weight:600}.rubric{color:var(--accent)}.rubric--light{color:var(--accent-2)}.rubric:after{content:"";background:var(--accent);opacity:.5;width:34px;height:1px;margin-top:.7rem;display:block}.rubric--light:after{background:var(--accent-2)}.td-meta{color:var(--grey);letter-spacing:.005em;font-size:.78rem;line-height:1.5;display:block}.mono{font-variant-numeric:tabular-nums}.btn{--btn-bg:var(--ink);--btn-fg:var(--paper);--btn-bd:var(--ink);background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-bd);font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);justify-content:center;align-items:center;gap:.5rem;padding:.92rem 1.65rem;font-size:.83rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--ink:hover{--btn-bg:var(--accent);--btn-bd:var(--accent)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink);--btn-bd:var(--rule)}.btn--ghost:hover{--btn-bd:var(--ink);--btn-bg:transparent}.btn--paper{--btn-bg:var(--paper);--btn-fg:var(--ink);--btn-bd:var(--paper)}.btn--paper:hover{--btn-bg:var(--accent-2);--btn-bd:var(--accent-2)}.btn--sm{letter-spacing:.08em;padding:.62rem 1.1rem;font-size:.72rem}@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}.nav{z-index:40;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid var(--rule-soft);position:sticky;top:0}.nav__inner{min-height:var(--nav-h);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.nav__brand{line-height:1.05;text-decoration:none}.nav__word{font-family:var(--sans);letter-spacing:.005em;color:var(--ink);font-size:1.3rem;font-weight:300;display:block}.nav__sub{letter-spacing:.19em;color:var(--grey);margin-top:.16rem;font-size:.6rem;display:block}.nav__links{align-items:center;gap:clamp(1rem,2.1vw,1.9rem);display:flex}.nav__links a{letter-spacing:.02em;color:var(--ink-2);transition:color .3s var(--ease), border-color .3s var(--ease);border-bottom:1px solid #0000;padding:.35rem 0;font-size:.815rem;font-weight:500;text-decoration:none}.nav__links a:hover{color:var(--ink);border-bottom-color:var(--accent)}.nav__actions{align-items:center;gap:.75rem;display:flex}.nav__toggle{border:1px solid var(--rule);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;gap:5px;width:42px;height:38px;display:none}.nav__toggle span{background:var(--ink);width:18px;height:1.5px;transition:transform .3s var(--ease), opacity .2s;margin-inline:auto;display:block}.nav__toggle[aria-expanded=true] span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav__toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav__toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}@media (width<=920px){:root{--nav-h:64px}.nav__toggle{display:flex}.nav__links{background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;gap:0;padding:.4rem clamp(1.15rem,4vw,2.75rem) 1rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 40px -24px #16171a66}.nav__links.is-open{display:flex}.nav__links a{border-bottom:1px solid var(--rule-soft);padding:.85rem 0;font-size:.95rem}.nav__links a:last-child{border-bottom:none}}@media (width<=430px){.nav__actions .btn{display:none}}.hero{z-index:1;min-height:calc(100svh - var(--nav-h));border-bottom:1px solid var(--rule-soft);align-items:center;padding-block:clamp(1.5rem,4cqi,3.5rem);display:flex;position:relative;container-type:inline-size}.hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(1.75rem,5cqi,4.5rem);display:grid}.hero__copy{flex-direction:column;display:flex}.hero__title{font-family:var(--serif);letter-spacing:-.018em;margin:0 0 clamp(.8rem,1.6cqi,1.35rem);font-size:clamp(1.95rem,6.1cqi,3.6rem);font-weight:400;line-height:1.05}.hero__title em{color:var(--ink-2);font-style:italic}.hero__lede{max-width:44ch;color:var(--ink-2);margin:0 0 clamp(1.2rem,2.4cqi,2rem);font-size:clamp(.95rem,1.42cqi,1.115rem)}.hero__cta{flex-wrap:wrap;gap:.7rem;margin-bottom:clamp(1.1rem,2.2cqi,1.75rem);display:flex}.hero__proof{color:var(--grey);letter-spacing:.015em;border-top:1px solid var(--rule);margin:0;padding-top:clamp(.7rem,1.4cqi,1rem);font-size:clamp(.73rem,.95cqi,.82rem)}.tick{color:var(--accent);margin-right:.35rem;font-weight:700}.hero__figure{margin:0}.hero__figure picture{display:block}.hero__figure img{border:1px solid var(--rule);background:var(--paper-2);filter:grayscale(.18)contrast(1.03);width:100%;height:auto;padding:8px}.hero__figure figcaption{letter-spacing:.19em;text-transform:uppercase;color:var(--grey);border-top:1px solid var(--rule);margin-top:.85rem;padding-top:.6rem;font-size:.68rem}@media (width<=920px){.hero__grid{grid-template-columns:1fr;gap:1.2rem}.hero__figure{order:-1;align-items:center;gap:.9rem;display:flex}.hero__figure picture{flex:none}.hero__figure img{object-fit:cover;border-radius:50%;width:88px;height:88px;padding:4px}.hero__figure figcaption{letter-spacing:.18em;border-top:none;margin:0;padding-top:0;font-size:.66rem}}@media (width<=520px){.hero__cta{flex-direction:column;align-items:stretch}.hero__cta .btn{width:100%}}.ledger{z-index:1;background:var(--ink);color:var(--paper);padding-block:clamp(1.9rem,4vw,2.6rem);position:relative}.ledger__grid{background:#f4f2ee24;border:1px solid #f4f2ee24;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;display:grid}.ledger__item{background:var(--ink);flex-direction:column;padding:clamp(1rem,2.2vw,1.6rem);display:flex}.ledger__item dt{letter-spacing:.17em;text-transform:uppercase;color:#f4f2ee8c;margin-bottom:.5rem;font-size:.66rem}.ledger__item dd{font-family:var(--serif);font-variant-numeric:tabular-nums;margin:auto 0 0;font-size:clamp(1.55rem,3.4vw,2.4rem);font-weight:400;line-height:1}@media (width<=640px){.ledger__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.section{z-index:1;padding-block:clamp(3.2rem,7.5vw,6.5rem);position:relative}.section--alt{background:var(--paper-2);border-block:1px solid var(--rule-soft)}.sechead{max-width:56ch;margin-bottom:clamp(2rem,4.5vw,3.25rem)}.sechead__lede{color:var(--grey);max-width:52ch;margin:0}.profile__grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;gap:clamp(1.75rem,5vw,4.5rem);display:grid}.deskshot{margin:1.6rem 0 0}.deskshot img{border:1px solid var(--rule);filter:grayscale()contrast(1.05);width:100%;height:auto}.profile__body p{color:var(--ink-2);max-width:58ch;margin:0 0 1.15rem}.pull{border-left:2px solid var(--accent);margin:2rem 0 0;padding:.15rem 0 .15rem 1.4rem}.pull p{font-family:var(--serif);color:var(--ink);margin:0 0 .65rem;font-size:clamp(1.05rem,1.6vw,1.32rem);font-style:italic;line-height:1.45}.pull cite{letter-spacing:.15em;text-transform:uppercase;color:var(--grey);font-size:.73rem;font-style:normal}@media (width<=900px){.profile__grid{grid-template-columns:1fr}.deskshot{max-width:460px;margin-top:1.2rem}}.cards{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--paper-2);transition:background .4s var(--ease);flex-direction:column;padding:clamp(1.5rem,2.6vw,2.1rem);display:flex}.card:hover{background:var(--paper)}.card__no{font-family:var(--serif);color:var(--accent);margin:0 0 1rem;font-size:1rem;font-style:italic}.card h3{font-family:var(--serif);letter-spacing:-.005em;margin:0 0 .7rem;font-size:1.2rem;font-weight:500;line-height:1.25}.card p{color:var(--ink-2);margin:0 0 1.35rem;font-size:.925rem}.card__link{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--accent);transition:color .3s var(--ease), gap .3s var(--ease);align-self:flex-start;margin-top:auto;padding-bottom:.3rem;font-size:.72rem;font-weight:600;text-decoration:none}.card__link:hover{color:var(--accent)}.card__link span{transition:transform .3s var(--ease);display:inline-block}.card__link:hover span{transform:translate(4px)}.table-wrap{border-top:1px solid var(--ink);overflow-x:auto}.ledger-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:640px;display:table}.ledger-table th{text-align:left;letter-spacing:.17em;text-transform:uppercase;color:var(--grey);border-bottom:1px solid var(--rule);padding:.9rem 1rem .9rem 0;font-size:.66rem;font-weight:600}.ledger-table td{border-bottom:1px solid var(--rule-soft);vertical-align:top;color:var(--ink-2);padding:1.15rem 1rem 1.15rem 0;font-size:.925rem}.ledger-table tr:first-child td{color:var(--ink)}.td-period{white-space:nowrap;color:var(--grey);font-size:.85rem}.td-role{font-family:var(--serif);color:var(--ink);font-size:1.02rem;font-weight:500}.ta-r{text-align:right;white-space:nowrap;padding-right:0!important}.dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:.5rem;display:inline-block}@media (width<=720px){.table-wrap{overflow-x:visible}.ledger-table{min-width:0;display:block}.ledger-table thead{display:none}.ledger-table tbody{display:block}.ledger-table tr{border-bottom:1px solid var(--rule-soft);grid-template-columns:1fr auto;column-gap:1rem;padding:1.15rem 0;display:grid}.ledger-table td{border-bottom:none;padding:0;display:block}.ledger-table .td-period{grid-area:1/1}.ledger-table .ta-r{grid-area:1/2}.ledger-table .td-role{grid-area:2/1/auto/-1;margin-top:.3rem}.ledger-table td:nth-child(3){grid-area:3/1/auto/-1;margin-top:.15rem}}.creds{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(1.5rem,4vw,3.5rem);margin-top:clamp(2.25rem,4.5vw,3.25rem);display:grid}.plainlist{margin:0;padding:0;list-style:none}.plainlist li{border-top:1px solid var(--rule-soft);padding:.85rem 0;font-size:.94rem}.plainlist li:first-child{border-top:1px solid var(--rule)}.plainlist a{color:var(--ink);border-bottom:1px solid var(--accent);text-decoration:none}.plainlist a:hover{color:var(--accent)}.toolkit{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(1.6rem,3.5vw,2.75rem);display:grid}.toolkit__block--wide{border-top:1px solid var(--rule);grid-column:1/-1;padding-top:clamp(1.6rem,3vw,2.25rem)}.tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--rule);background:var(--paper);letter-spacing:.01em;color:var(--ink-2);padding:.42rem .82rem;font-size:.78rem}.tags--quiet li{border-color:var(--rule-soft);color:var(--grey);background:0 0}.quotes{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;gap:clamp(1.25rem,3vw,2.25rem);display:grid}.quote{background:var(--paper-2);border:1px solid var(--rule);margin:0;padding:clamp(1.5rem,3vw,2.25rem)}.quote blockquote{margin:0 0 1.5rem}.quote blockquote p{font-family:var(--serif);color:var(--ink);margin:0;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.55}.quote blockquote p:before{content:"“"}.quote blockquote p:after{content:"”"}.quote figcaption{border-top:1px solid var(--rule);align-items:flex-start;gap:.9rem;padding-top:1.15rem;display:flex}.quote figcaption .mono{border:1px solid var(--accent);width:40px;height:40px;color:var(--accent);letter-spacing:.06em;flex:none;place-items:center;font-size:.75rem;font-weight:600;display:grid}.quote__who strong{margin-bottom:.15rem;font-size:.95rem;display:block}.cta{z-index:1;background:var(--ink);color:var(--paper);padding-block:clamp(3.2rem,7vw,5.75rem);position:relative}.cta__inner{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end;gap:clamp(1.75rem,5vw,4rem);display:grid}.cta__lede{color:#f4f2eead;max-width:48ch;margin:0}.cta__actions{flex-direction:column;align-items:flex-start;gap:1.25rem;display:flex}.cta__direct{flex-direction:column;gap:.35rem;margin:0;display:flex}.cta__direct a{color:#f4f2eec7;overflow-wrap:anywhere;border-bottom:1px solid #b79b6e8c;align-self:flex-start;padding-bottom:.15rem;font-size:.86rem;text-decoration:none}.cta__direct a:hover{color:var(--paper);border-bottom-color:var(--accent-2)}@media (width<=820px){.cta__inner{grid-template-columns:1fr;align-items:start}}.foot{z-index:1;background:var(--paper);border-top:1px solid var(--rule);padding-block:clamp(2.25rem,4.5vw,3.25rem);position:relative}.foot__inner{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start;gap:1.75rem;display:grid}.foot__word{margin:0 0 .35rem;font-size:1.2rem}.foot__links{flex-direction:column;gap:.5rem;display:flex}.foot__links a{color:var(--ink-2);border-bottom:1px solid #0000;align-self:flex-start;font-size:.85rem;text-decoration:none}.foot__links a:hover{border-bottom-color:var(--accent)}.foot__loc{margin:0}.page-head{border-bottom:1px solid var(--rule-soft);padding-block:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,3vw,2.25rem)}.page-head .h2{max-width:20ch}.page-head p{color:var(--grey);max-width:52ch;margin:0}.contact__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(1.75rem,4.5vw,3.5rem);display:grid}@media (width<=880px){.contact__grid{grid-template-columns:1fr}}.formcard{background:var(--paper-2);border:1px solid var(--rule);padding:clamp(1.4rem,3.2vw,2.4rem)}.formcard h2{font-family:var(--serif);margin:0 0 .5rem;font-size:1.4rem;font-weight:500}.formcard>p{color:var(--grey);margin:0 0 1.6rem;font-size:.9rem}#estimate-form{gap:1.05rem;display:grid}.field{gap:.4rem;display:grid}.field label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);font-size:.68rem;font-weight:600}.field input,.field textarea{width:100%;font-family:var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rule);transition:border-color .3s var(--ease), background .3s var(--ease);border-radius:0;padding:.8rem .9rem;font-size:.97rem}.field input:focus,.field textarea:focus{border-color:var(--accent);background:#fff;outline:none}.field textarea{resize:vertical;min-height:132px}.field ::placeholder{color:#a5a39c}#estimate-form button[type=submit]{width:100%;margin-top:.25rem}#estimate-form button[disabled]{opacity:1;background:var(--accent);border-color:var(--accent)}.form-status{border-left:2px solid var(--accent);margin:0;padding:.75rem 0 .75rem 1rem;font-size:.94rem;line-height:1.55}.form-status.is-error{color:#7d3126;border-left-color:#9c3b2e}.form-status strong{font-family:var(--serif);margin-bottom:.2rem;font-size:1.15rem;font-weight:500;display:block}.turnstile-box{min-height:66px}.direct{gap:0;display:grid}.direct__row{border-top:1px solid var(--rule-soft);gap:.2rem;padding:1.05rem 0;display:grid}.direct__row:first-child{border-top:1px solid var(--rule)}.direct__row dt{letter-spacing:.17em;text-transform:uppercase;color:var(--grey);font-size:.66rem;font-weight:600}.direct__row dd{overflow-wrap:anywhere;margin:0;font-size:.98rem}.direct__row dd a{color:var(--ink);border-bottom:1px solid var(--accent);text-decoration:none}.direct__row dd a:hover{color:var(--accent)}.reveal{opacity:0;transition:opacity .75s var(--ease), transform .75s var(--ease);transform:translateY(16px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}.site-credit{letter-spacing:.06em;text-align:center;opacity:.65;margin:2.25rem 0 0;padding-inline:1.25rem;font-size:.73rem;line-height:1.5}.site-credit a{color:inherit;border-bottom:1px solid #80808080;border-bottom:1px solid color-mix(in srgb, currentColor 45%, transparent);text-decoration:none;transition:border-bottom-color .25s}.site-credit a:hover,.site-credit a:focus-visible{border-bottom-color:currentColor}@media (prefers-reduced-motion:reduce){.site-credit a{transition:none}}.site-credit--inline{text-align:right;margin:0;padding:0}footer :has(>.site-credit--inline){flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1.5rem;display:flex}@media (width<=920px){.nav__inner.shell>.nav__actions{margin-inline-start:auto!important}}