@font-face{font-family:'Cormorant Garamond';src:url('/assets/fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{--bg:#fefdfb;--band:#f7f6f1;--ink:#1a1a1c;--soft:#5a5a5e;--ink-soft:#5a5a5e;--rule:#dcd8ce;--navy:#1b2a41;--pad:clamp(24px,6vw,100px);--display:'Cormorant Garamond',Georgia,serif;--text:'EB Garamond',Georgia,serif}
body{background:var(--bg);color:var(--ink);font-family:var(--text);font-size:20px;line-height:1.58;font-variant-numeric:oldstyle-nums}
.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--pad)}
h1,h2,h3,.wordmark{font-family:var(--display)}
h1{font-weight:300;font-size:clamp(46px,5vw,72px);line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
h2{font-size:38px;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
h3{font-size:26px;line-height:1.22}
p+p{margin-top:20px}
.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--soft);margin-bottom:24px}
.text-link{display:inline-block;font-size:12px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:5px;max-width:100%;overflow-wrap:anywhere}
a:hover,a:focus-visible{text-decoration-color:var(--navy)}
.text-link:hover,.text-link:focus-visible{border-color:var(--navy)}
.rule-short{border:0;border-top:1px solid var(--navy);width:64px;margin:30px 0}
.site-header{position:absolute;inset:0 0 auto;z-index:2}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:32px;padding-bottom:32px;gap:30px}
.wordmark{color:var(--navy);font-size:23px;letter-spacing:.22em;text-decoration:none;white-space:nowrap;line-height:1}
.site-nav{display:flex;gap:36px;align-items:center}
.site-nav a{font-size:16px;text-decoration:none;position:relative;padding:6px 0}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.site-nav a:hover,.site-nav a:focus-visible{text-decoration-color:var(--navy)}
.hero{position:relative;isolation:isolate}
.hero-art{position:relative}
.hero-art picture{position:relative}
.hero-art picture::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 60% at 18% 32%,rgba(254,253,251,.78),rgba(254,253,251,0) 72%)}
.hero-art img{width:100%;height:auto;animation:hero-fade 1.6s ease both}
.hero-copy{position:absolute;left:max(var(--pad),calc((100vw - 1440px)/2 + var(--pad)));top:140px;width:calc(100% - 2*var(--pad));max-width:520px;z-index:1}
.hero h1{font-size:clamp(54px,6vw,88px);line-height:1.01;letter-spacing:-.028em}
.hero-description{max-width:22em;margin-top:24px;font-family:var(--text);font-size:28px;font-weight:400;color:var(--ink);line-height:1.35}
.hero-copy .eyebrow,.hero-copy .text-link{color:var(--ink)}
.hero-copy .text-link{margin-top:30px}
figcaption{font-size:13px;line-height:1.55;color:var(--soft)}
.hero-art figcaption{max-width:1440px;margin:12px auto 0;padding-inline:var(--pad);text-align:right}
.hero-intro{padding-block:72px}
.hero-intro p{max-width:34em;font-size:21px;line-height:1.58}
.services{background:var(--band);border-block:1px solid var(--rule)}
.services-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:76px}
.service{padding-inline:40px;border-left:1px solid var(--rule)}
.service:first-child{padding-left:0;border:0}.service:last-child{padding-right:0}
.service h2{font-size:30px;margin-bottom:13px;letter-spacing:0}
.service p{font-size:19px;max-width:16em;margin-bottom:27px}
.principle{text-align:center;padding-top:135px;padding-bottom:142px}
.principle h2{font-weight:300;font-size:clamp(40px,4.3vw,60px);line-height:1.07}
.principle .rule-short{margin-inline:auto}
.principle-copy{max-width:580px;margin-inline:auto}.principle-copy .text-link{margin-top:32px}
.generations{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--rule);align-items:center}
.generations-art{background:var(--bg)}
.generations-art img{width:100%;height:auto}
.generations-art figcaption{margin:12px 25px 20px;text-align:left}
.generations-art figcaption .caption-line:nth-child(n+3){display:none}
.generations-copy{padding:70px clamp(32px,5vw,88px);max-width:720px}
.generations h2{font-size:clamp(32px,3.3vw,48px);font-weight:300;line-height:1.08}
.generations p{font-size:19px;line-height:1.56}.generations .text-link{margin-top:30px}
.home-insights{padding-top:96px;padding-bottom:110px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
.section-heading p{color:var(--soft);margin-top:12px}.section-heading .text-link{flex:none;margin-bottom:5px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.card-image{display:block;margin-bottom:24px}.card-image img{width:100%;height:auto;object-fit:contain}
.card-copy h2,.card-copy h3{font-size:28px;line-height:1.13;letter-spacing:-.01em;text-wrap:balance}
.card-copy p{margin-top:16px;font-size:18px;color:var(--soft);line-height:1.5}
.card-copy .text-link{margin-top:24px}
.page-head{padding-top:190px}
.page-title{margin-bottom:32px}
.work-display{font-family:var(--display);font-size:24px;font-style:italic;font-weight:400;color:var(--ink-soft);line-height:1.35;letter-spacing:0;max-width:30em;text-wrap:pretty}
.page-our-work .page-title{margin-bottom:0;display:flow-root}
.page-title .work-display{margin:12px 0 28px}
.page-our-work #how-we-act{padding-bottom:0}
.work-closing{padding-top:72px;padding-bottom:64px;border-bottom:1px solid var(--rule)}
.page-sections .work-closing+.split{border-top:0}
.lede{max-width:700px}.lede p{max-width:35em}
.feature-art{padding-top:64px;padding-bottom:82px}
.feature-art picture,.feature-art figcaption{width:min(100%,var(--art-width,820px))}
.feature-art img{width:100%;height:auto;object-fit:contain}
.feature-art figcaption{margin-top:14px}
.detail-interlude{border-block:1px solid var(--rule);padding-block:96px}
.art-detail{width:min(100%,var(--detail-width,620px));margin-left:auto}
.art-detail img{width:100%;height:auto;object-fit:contain}
.art-detail figcaption{margin-top:14px}
.page-sections .detail-interlude+.split{border-top:0}
.page-sections .split{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(32px,6vw,90px);border-top:1px solid var(--rule);padding-block:78px;scroll-margin-top:32px}
.section-copy{max-width:700px;min-width:0}.section-copy p{max-width:36em}.section-copy .text-link{margin-top:24px}
.person+.person{margin-top:38px}.person h3{font-size:25px;margin-bottom:16px;font-weight:500}
.founder-heading{min-width:0}
.founder-portrait{width:min(100%,320px);margin-top:28px}
.founder-portrait img{width:100%;height:auto}
.page-insights h1{max-width:850px;font-size:clamp(40px,4.6vw,66px)}
.page-insights .feature-art{padding-bottom:82px}
.insights-list{padding-top:72px;padding-bottom:110px}
.article-lead{padding-top:136px;max-width:1272px}
.article-lead img{width:100%;height:auto;object-fit:contain}
.article-lead figcaption{margin-top:14px}
.article-column{width:min(100% - 2*var(--pad),710px);margin-inline:auto;padding-top:90px;padding-bottom:108px}
.article-header h1{font-size:clamp(38px,4.2vw,55px);line-height:1.05}
.standfirst{font-size:23px;line-height:1.5;margin-top:26px}
.article-section{margin-top:42px}.article-section h2{font-size:30px;line-height:1.2;margin-bottom:20px;letter-spacing:0}
.article-section p{font-size:20px;line-height:1.62}
.article-detail{width:min(100%,420px);margin:48px auto 40px}
.article-detail img{width:100%;height:auto;object-fit:contain}
.article-detail figcaption{margin-top:14px;text-align:center}
.article-detail+.article-foot{margin-top:0}
.article-foot{border-top:1px solid var(--rule);margin-top:56px;padding-top:32px;font-size:18px}
.article-foot a{overflow-wrap:anywhere}.copyright{font-size:14px;color:var(--soft)}
.contact-page{padding-top:210px;padding-bottom:150px;min-height:calc(100vh - 290px)}
.contact-content{margin-top:42px;max-width:760px}.contact-intro{font-size:25px;max-width:26em;line-height:1.4}
.contact-links{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:36px}.contact-links a{overflow-wrap:anywhere}
.contact-address{margin-top:38px;font-size:18px;color:var(--soft)}
.site-footer{border-top:1px solid var(--rule);color:var(--soft);font-size:15px}
.footer-inner{padding-top:43px;padding-bottom:46px}
.footer-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:36px}
.footer-details p+p{margin-top:4px}.footer-contact{text-align:right}.footer-contact a{overflow-wrap:anywhere}
.footer-contact a[href^="tel:"]{white-space:nowrap;display:inline-block}
.image-credits{font-size:12px;line-height:1.65;border-top:1px solid var(--rule);padding-top:24px}
@keyframes hero-fade{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.hero-art img{max-height:1160px;object-fit:contain;background:#ebece1}}
@media(max-width:1100px){.hero-copy{top:140px;max-width:480px}.hero h1{font-size:62px}.hero-description{font-size:26px}.hero .eyebrow{margin-bottom:20px}.generations-copy{padding:48px 36px}.generations p{font-size:18px}.generations .rule-short{margin-block:24px}.site-nav{gap:27px}.service{padding-inline:28px}.cards{gap:28px}.card-copy h2,.card-copy h3{font-size:26px}}
@media(max-width:860px){
 body{font-size:19px}.site-header{position:relative}.header-inner{padding-block:28px;flex-wrap:wrap;gap:23px}.wordmark{font-size:22px}.site-nav{gap:28px}.site-nav a{font-size:15px}
 .hero{display:flex;flex-direction:column}.hero-copy{position:static;width:100%;max-width:none;padding:48px var(--pad) 56px}.hero h1{font-size:clamp(48px,7.5vw,64px)}.hero-description{font-size:20px}.hero .eyebrow{margin-bottom:22px}.hero-copy .text-link{margin-top:27px}.hero-art picture::after{content:none;background:none}
 .services-inner{padding-block:50px}.service{padding-inline:24px}.service h2{font-size:27px}.service p{font-size:18px}.service .text-link{font-size:11px}
 .principle{padding-block:100px}.principle h2{font-size:48px}.principle-copy{max-width:570px}
 .generations{grid-template-columns:1fr}.generations-art{width:72%;margin:48px auto 0}.generations-copy{padding:52px var(--pad) 64px;max-width:760px}.generations h2{font-size:42px}.generations p{font-size:19px;line-height:1.6}
 .home-insights{padding-block:72px}.section-heading{align-items:start}.section-heading h2{font-size:34px}.section-heading p{font-size:18px}.cards{gap:26px}.card-copy h2,.card-copy h3{font-size:25px}
 .page-head{padding-top:52px}.page-title{margin-bottom:28px}h1{font-size:54px}.feature-art,.page-insights .feature-art{padding-top:45px;padding-bottom:60px}.detail-interlude{padding-block:72px}.page-sections .split{grid-template-columns:1fr 1.7fr;gap:35px;padding-block:55px}.split h2{font-size:31px}.person h3{font-size:24px}
 .article-lead{padding-top:35px;padding-inline:var(--pad)}.article-column{padding-top:56px;padding-bottom:70px}.article-header h1{font-size:45px}.standfirst{font-size:22px}.article-section p{font-size:19px}
 .contact-page{padding-top:65px;padding-bottom:100px;min-height:600px}.contact-links{display:block}.contact-links a{display:block;margin-top:8px}.contact-links .separator{display:none}.contact-intro{font-size:24px}
 .footer-details{grid-template-columns:1fr;gap:24px}.footer-contact{text-align:left}
}
@media(max-width:600px){
 .header-inner{display:block;padding-top:27px;padding-bottom:23px}.site-nav{margin-top:23px;justify-content:space-between;gap:18px}.site-nav a{padding-block:5px}.hero-copy{padding-top:32px;padding-bottom:43px}.hero h1{font-size:51px}.hero-description{font-size:20px;line-height:1.35}.hero-art figcaption{text-align:left}
 .services-inner{grid-template-columns:1fr;padding-block:14px}.service{border-left:0;border-top:1px solid var(--rule);padding:32px 0!important}.service:first-child{border:0}.service h2{font-size:30px}.service p{max-width:none;margin-bottom:18px;font-size:19px}.service .text-link{font-size:12px}
 .principle{padding-block:83px}.principle h2{font-size:41px}.principle-copy{font-size:19px}.principle .rule-short{margin-block:25px}.principle-copy .text-link{margin-top:26px}
 .generations-art{width:100%;margin:0}.generations-art figcaption{margin-inline:var(--pad)}.generations-copy{padding-block:48px 56px}.generations h2{font-size:36px}.generations .rule-short{margin-block:25px}
 .home-insights{padding-block:58px 66px}.section-heading{display:block;margin-bottom:32px}.section-heading .text-link{margin-top:23px}.cards{grid-template-columns:1fr;gap:40px}.card-image{margin-bottom:20px}.card-copy h2,.card-copy h3{font-size:30px}.card-copy .text-link{margin-top:20px}.card-copy p{font-size:19px}
 .page-head{padding-top:36px}.page-head h1{font-size:46px}.page-title{margin-bottom:27px}.eyebrow{margin-bottom:18px}.lede{font-size:19px}.feature-art,.page-insights .feature-art{padding-top:39px;padding-bottom:50px}.detail-interlude{padding-block:56px}.page-insights .page-head h1{font-size:43px}
 .page-sections .split{grid-template-columns:1fr;gap:24px;padding-block:42px}.split h2{font-size:32px}.person h3{font-size:25px}.section-copy .text-link{font-size:11px;letter-spacing:.06em}.insights-list{padding-top:48px;padding-bottom:70px}
 .work-display{font-size:20px}.work-closing{padding-bottom:42px}.founder-portrait{margin-top:24px}
 .article-lead{padding-top:12px;padding-inline:0}.article-lead figcaption{padding-inline:var(--pad)}.article-column{padding-top:43px;padding-bottom:65px}.article-header h1{font-size:40px}.standfirst{font-size:21px;margin-top:23px}.article-section{margin-top:34px}.article-section h2{font-size:28px;margin-bottom:17px}.article-section p{font-size:19px;line-height:1.6}.article-foot{margin-top:42px;font-size:17px}.copyright{font-size:13px}
 .contact-page{padding-top:48px;padding-bottom:74px;min-height:560px}.contact-page h1{font-size:54px}.contact-content{margin-top:30px}.contact-intro{font-size:23px}.contact-links{font-size:17px}.contact-address{font-size:18px}
 .footer-inner{padding-block:33px}.footer-details{font-size:14px;margin-bottom:27px}.footer-contact a{display:inline-block}.image-credits{font-size:12px;line-height:1.7;padding-top:23px}
}

/* Brief 5 additions. */
.person-title{font-style:italic;color:var(--ink-soft);margin-top:8px;margin-bottom:20px}
#our-team .person + .person{margin-top:40px}
.sales-art{padding-block:96px;margin:0}.sales-art img{width:100%;height:auto;object-fit:contain}.sales-art figcaption{margin-top:16px}
.marble-interlude .article-detail{width:min(100%,620px);margin:60px 0 60px auto}
@media(max-width:860px){.work-display{font-size:20px}}

/* Brief 6: four services, whole-painting article headers, one inset per article. */
@media(min-width:601px) and (max-width:1100px){
 .services-inner{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
 .service:nth-child(odd){border-left:0;padding-left:0;padding-right:28px}
 .service:nth-child(even){padding-left:28px;padding-right:0;border-left:1px solid var(--rule)}
 .service:nth-child(n+3){border-top:1px solid var(--rule);padding-top:32px}
}
@media(min-width:861px){.article-lead picture,.article-lead figcaption{width:min(100%,var(--lead-width,1100px))}}
.article-interlude .article-detail{width:min(100%,var(--detail-width,620px));margin:60px 0 60px auto}
.article-interlude figcaption{text-align:left}

/* Updated Brief 6: scientific-investigation artwork within Due diligence. */
.diligence-interlude .article-detail{width:min(100%,620px);margin:40px 0 40px auto}
.diligence-interlude figcaption{text-align:left}

/* Brief 7: email addresses retain lower case, including Contact section links. */
a[href^="mailto:"]{text-transform:none}

/* Brief 8: a plain, article-width Legal page. */
.legal-column{padding-top:76px}
.legal-jump-links{font-size:16px;line-height:1.9;margin-top:30px}
.legal-jump-links a{display:inline-block;text-underline-offset:4px}
.legal-section{scroll-margin-top:32px;border-top:1px solid var(--rule);padding-top:36px;margin-top:56px}
.legal-section h3{font-size:27px;line-height:1.25;margin:34px 0 18px;font-weight:400}
.legal-section h4{font-size:23px;line-height:1.3;margin:28px 0 18px;font-weight:400}
.legal-section ul,.legal-section ol{font-size:20px;line-height:1.65;padding-left:24px;margin:20px 0}
.legal-section li{margin-bottom:16px}
.legal-section a{overflow-wrap:anywhere;text-underline-offset:3px}
.legal-section .policy-numbered{list-style:none;padding-left:0}
.policy-marker{font-variant-numeric:tabular-nums}
.sar-fields{margin-block:12px!important}
.sar-fields li{margin-bottom:8px}
.credit-group ul{font-size:17px;line-height:1.65}
@media(max-width:600px){.legal-column{padding-top:43px}.legal-jump-links{font-size:16px;margin-top:24px}.legal-section{margin-top:42px;padding-top:28px}.legal-section h3{font-size:25px}.legal-section ul,.legal-section ol{font-size:19px;line-height:1.6}.credit-group ul{font-size:17px}}

/* Updated Brief 8: match Contact top spacing at each breakpoint. */
.legal-column{padding-top:210px}
@media(max-width:860px){.legal-column{padding-top:65px}}
@media(max-width:600px){.legal-column{padding-top:48px}}

/* Brief 9: supplied photographs and left-aligned Boudin detail. */
.photograph{margin:0}.photograph picture{display:block}.photograph img{display:block;width:100%;height:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none;filter:none;transform:none}

.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;margin-top:42px}
.contact-layout .contact-content{margin:0;max-width:none}
@media(min-width:861px){.article-interlude .private-sale-detail{margin-left:0;margin-right:auto}}
@media(max-width:860px){.contact-layout{grid-template-columns:1fr;gap:60px}}
@media(max-width:600px){.contact-layout{margin-top:30px;gap:50px}}

/* Brief 10: original logo in footer only. */
.footer-company{display:flex;align-items:center;gap:18px}
.footer-mark{display:block;width:48px;height:48px;flex:0 0 48px;object-fit:contain}
@media(max-width:600px){.footer-company{flex-direction:column;align-items:flex-start}}

/* Brief 12: artwork replaces Contact photograph in the established layout. */
.contact-artwork{margin:0}.contact-artwork img{display:block;width:100%;height:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none;filter:none;transform:none}.contact-artwork figcaption{margin-top:14px}

/* Final Brief 11: smaller relief; text column remains in its existing grid track. */
.generations-art{max-width:620px}
@media(min-width:861px){.generations-art{width:min(620px,calc(100% - var(--pad)));margin:48px 0 48px var(--pad)}.generations-art figcaption{margin:12px 0 0}}
.article-body em{font-style:italic;font-weight:400}

/* Brief 16: desktop sales painting and readable mobile captions. */
@media(min-width:861px){.sales-art{width:min(100%,820px)}}
@media(max-width:600px){figcaption{font-size:14px;color:#454548}}

/* Brief 18 section 1: article sizes only; site-wide section 0 deferred. */
@media(min-width:861px){.article-lead picture,.article-lead figcaption{margin-left:auto;margin-right:auto}.article-interlude .article-detail{width:min(100%,480px)}}

/* Brief 19: standing image placement rules, retaining established spacing. */
.page-about .feature-art picture,.page-about .feature-art figcaption{width:min(100%,760px);margin-inline:auto}
.page-our-work .feature-art picture,.page-our-work .feature-art figcaption{margin-inline:auto}
.diligence-interlude .article-detail{width:min(100%,448.8484848484849px)}
@media(min-width:861px){.sales-art{width:min(100%,620px)}.article-interlude .private-sale-detail{margin-left:auto;margin-right:0}}
.diligence-interlude .article-detail img{max-height:420px}

/* Brief 20: match the text column's right edge, allowing for its 700px cap
   within the 60% grid track (after subtracting 60% of the column gap). */
@media(min-width:861px){.page-our-work .sales-art{margin-left:auto;margin-right:max(0px,calc(60% - clamp(19.2px,3.6vw,54px) - 700px))}}
