@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--bg:#f7f3eb;--surface:#fbf8f1;--line:#dcd2c1;--ink:#302c25;--muted:#70685b;--mint:#86652f;--gutter:clamp(24px,5.2vw,88px);color-scheme:light;font-family:'DM Sans',Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--mint);outline-offset:7px}::selection{background:var(--mint);color:var(--bg)}.skip-link{position:fixed;left:20px;top:-80px;background:var(--mint);color:var(--bg);padding:16px;z-index:100}.skip-link:focus{top:12px}.header{height:104px;margin:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:15px}.monogram{font-family:Arial,sans-serif;font-weight:500;letter-spacing:-10px;font-size:42px;width:57px;line-height:1}.monogram span{color:var(--mint)}.brand-name{font-size:12px;letter-spacing:1.2px;font-weight:650;line-height:1.5}.brand-name>span{display:block;font-weight:400;letter-spacing:5.5px;font-size:12px;color:var(--muted)}.nav{display:flex;align-items:center;gap:34px;font-size:14px}.nav>a:not(.nav-contact){color:#61594c;transition:color .2s}.nav>a:hover{color:var(--mint)}.nav-contact{border:1px solid #b5a17c;border-radius:4px;padding:13px 20px;display:flex;gap:30px;align-items:center}.nav-contact span{font-size:21px;line-height:1}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;min-height:724px;padding:72px var(--gutter) 0;overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:730px}.eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.65px;font-weight:550;margin:0 0 29px;display:flex;align-items:center;gap:11px}.eyebrow>span:empty{height:1px;width:24px;background:var(--mint)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(58px,6.35vw,100px);font-weight:450;line-height:1.04;letter-spacing:-5px;margin:0 0 28px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;color:var(--mint)}.hero-description{font-size:17px;line-height:1.8;max-width:450px;color:#6e6558;margin:0 0 31px}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:54px;padding:0 22px;border-radius:3px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button-primary{background:var(--mint);color:#302619}.button-primary:hover{background:#ead9b5;transform:translateY(-2px)}.button span{font-size:22px}.text-link{font-size:14px;display:inline-flex;align-items:center;gap:13px}.text-link:hover{color:var(--mint)}.hero-art{position:absolute;z-index:0;right:-7%;top:26px;width:67%;height:630px;pointer-events:none;animation:art-enter 1.5s ease both}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;mix-blend-mode:lighten;mask-image:linear-gradient(to right,transparent 0%,#000 25%,#000 92%,transparent 100%);opacity:.88}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,var(--bg) 0%,transparent 35%),linear-gradient(to top,var(--bg),transparent 22%,transparent 87%,var(--bg));pointer-events:none}.art-caption{position:absolute;bottom:29px;right:21%;left:26%;display:flex;align-items:center;justify-content:space-between;font-family:monospace;font-size:12px;letter-spacing:1.4px;color:#796847;z-index:1}.caption-cross{font-size:23px;color:var(--mint)}.hero-foot{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2;margin-top:60px;padding:26px 0 23px;font-size:12px;font-weight:500;letter-spacing:1.5px;color:#776b56;border-top:1px solid #dcd0b8}.hero-foot a{display:flex;align-items:center;gap:34px}.hero-foot a span{font-size:20px;color:var(--ink)}.principles-strip{display:flex;align-items:center;justify-content:space-between;padding:26px var(--gutter);background:#eee5d4;border-top:1px solid #d8c9ac;border-bottom:1px solid #d8c9ac;font-size:12px;letter-spacing:1.35px;color:#63553d;gap:18px}.strip-plus{font-size:20px;color:var(--mint);font-weight:400}.section{padding:110px var(--gutter)}.section-label{color:var(--mint);margin-bottom:27px;letter-spacing:1.6px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:50px}.section-heading>div{flex:1}h2{font-weight:450;letter-spacing:-2.9px;font-size:clamp(40px,4.2vw,63px);line-height:1.13;margin:0}.muted{color:#776b55}.section-intro{width:345px;margin:0 0 4px;color:var(--muted);line-height:1.8;font-size:16px}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:5px;overflow:hidden}.business-card{padding:31px 31px 0;display:flex;flex-direction:column;position:relative;background:linear-gradient(150deg,#faf6ef,#f2ecdf);transition:background .25s}.business-card+.business-card{border-left:1px solid var(--line)}.business-card:hover{background:linear-gradient(150deg,#efe3cd,#f4ede0)}.card-top{display:flex;gap:13px;align-items:center;min-height:29px;margin-bottom:39px}.card-number{font-size:12px;color:#776a53;font-family:monospace}.card-category{font-size:12px;color:var(--mint);letter-spacing:1.5px}.card-icon{margin-left:auto;color:#6b604e}.business-card h3{font-size:34px;line-height:1.15;letter-spacing:-1.2px;font-weight:500;margin-bottom:20px}.business-card>p{font-size:16px;line-height:1.75;color:var(--muted);margin-bottom:24px}.card-tags{display:flex;gap:8px;align-items:center;margin-bottom:37px;margin-top:auto}.card-tags span{font-size:12px;border:1px solid #d1c2a5;border-radius:3px;padding:5px 9px;color:#5c5346}.card-tags .development-tag{color:var(--mint);background:#e6d7bb;border-color:#ccb994}.card-link{padding:23px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:500;gap:12px}.card-link>span{font-size:24px;transition:transform .2s}.card-link:hover{color:var(--mint)}.card-link:hover>span{transform:translate(3px,-3px)}.approach{padding-top:13px}.journey{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:62px;padding:34px 0}.journey-tabs{display:flex;flex-direction:column}.journey-tabs button{background:transparent;color:#796c55;border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:23px;text-align:left;padding:28px 18px;cursor:pointer;font-size:23px;font-weight:450;min-height:84px;transition:background .2s,color .2s}.journey-tabs button:last-child{border-bottom:0}.journey-tabs button>span{font-family:monospace;font-size:12px}.journey-tabs button svg{margin-left:auto;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.2;opacity:0}.journey-tabs button[aria-selected=true]{background:var(--mint);color:#eee1c7;border-radius:3px;border-bottom-color:transparent}.journey-tabs button[aria-selected=true] svg{opacity:1}.journey-tabs button:hover:not([aria-selected=true]){background:#f0e7d7;color:var(--ink)}.journey-panel{padding:13px 0 0;min-height:405px}.panel-top{display:flex;justify-content:space-between;margin-bottom:25px;font-family:monospace;font-size:12px;letter-spacing:1.2px}.panel-category{color:var(--mint)}.panel-counter{color:#756950}.journey-panel h3{font-size:39px;letter-spacing:-1.4px;line-height:1.17;font-weight:450;margin-bottom:18px}.journey-description{max-width:570px;color:var(--muted);line-height:1.75;font-size:16px;margin-bottom:24px}.panel-details{display:grid;grid-template-columns:1fr 1fr;gap:29px;border-top:1px solid var(--line);padding-top:23px}.panel-details>div>span{font-size:12px;letter-spacing:1.2px;color:#70624a}.panel-details p{font-size:14px;color:#655a48;line-height:1.7;margin:9px 0 0}.panel-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;font-size:12px}.panel-footer>span{color:#75684f}.panel-footer>a{color:var(--mint);display:flex;align-items:center;gap:13px}.panel-footer>a span{font-size:18px}.vision{display:grid;grid-template-columns:1.15fr 1fr;gap:12%;padding-top:0;padding-bottom:115px}.vision h2{margin-bottom:30px}.vision-lead>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted);max-width:435px;margin-bottom:15px}.location-stamp{display:block;margin-top:34px;font-size:12px;line-height:1.7;letter-spacing:1.5px;color:#70634d}.location-stamp>span:first-child{font-size:18px;margin-right:10px;color:var(--mint)}.stamp-line{padding-left:26px}.vision-values{align-self:center}.vision-values article{display:flex;align-items:flex-start;gap:25px;padding:30px 0;border-top:1px solid var(--line)}.vision-values article:last-child{border-bottom:1px solid var(--line)}.vision-values article>span{font-size:12px;color:var(--mint);font-family:monospace;padding-top:5px}.vision-values h3{font-size:22px;letter-spacing:-.4px;font-weight:500;margin-bottom:10px}.vision-values p{margin:0;font-size:16px;line-height:1.75;color:var(--muted)}.contact-section{margin:0 var(--gutter) 0;padding:59px 55px 63px;background:var(--mint);color:#efe3ca;display:flex;align-items:center;justify-content:space-between;gap:40px;border-radius:4px;position:relative;overflow:hidden}.contact-section .eyebrow{font-size:12px;letter-spacing:1.4px;margin-bottom:28px}.contact-section h2{font-size:clamp(42px,4.6vw,70px);line-height:1.07;letter-spacing:-3px;margin-bottom:22px}.contact-section em{color:#b69761}.contact-section p:not(.eyebrow){font-size:15px;line-height:1.7;color:#c4af85;max-width:380px;margin-bottom:0}.contact-button{position:relative;border-top:1px solid #a8874a;border-bottom:1px solid #a8874a;padding:22px 0;width:260px;flex-shrink:0;display:grid;grid-template-columns:1fr 40px;gap:24px;align-items:center;font-size:23px;font-weight:500}.contact-button svg{width:36px;height:36px;transition:transform .2s}.contact-button:hover svg{transform:translate(4px,-4px)}.contact-email{grid-column:1/-1;font-size:15px;letter-spacing:0;color:#bd9b5c}.contact-section a:focus-visible{outline-color:#e9d8b5}.footer{margin:0 var(--gutter);padding:45px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .monogram{font-size:32px;width:46px;letter-spacing:-8px}.footer .brand-name{font-size:12px;letter-spacing:.8px}.footer .brand-name>span{font-size:12px;letter-spacing:4.1px}.footer p{font-size:12px;color:#74664e;margin:0}.back-top{display:flex;gap:25px;align-items:center;font-size:12px;color:#706552}.back-top>span{font-size:21px;color:var(--mint)}@keyframes art-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-enter{from{opacity:.45;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.journey-panel.is-changing{animation:panel-enter .3s ease}
@media(min-width:1700px){body{max-width:1920px;margin:auto}.hero-art{right:0}.hero-copy{max-width:800px}.hero{min-height:780px}.hero-foot{margin-top:100px}}
@media(max-width:1120px){.brand-name{font-size:12px}.brand-name>span{font-size:12px}.nav{gap:22px}.header{height:92px}.hero{padding-top:61px;min-height:670px}h1{font-size:74px;letter-spacing:-4px}.hero-art{right:-14%;width:76%;height:575px;top:27px}.hero-description{max-width:390px}.hero-foot{margin-top:50px}.hero-actions{gap:20px}.section{padding-top:83px;padding-bottom:83px}.approach{padding-top:0}.business-card{padding:25px 23px 0}.business-card h3{font-size:29px}.card-link{font-size:12px}.section-heading{gap:35px}.section-intro{width:310px}.journey{gap:35px}.vision{gap:7%;padding-top:0}.contact-section{padding:45px 35px}.contact-button{width:235px}.principles-strip{font-size:12px;letter-spacing:1px}.footer{gap:15px}.footer p{font-size:12px}}
@media(max-width:800px){.header{height:83px}.brand-name{font-size:12px}.brand-name>span{font-size:12px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;gap:7px;align-items:center;justify-content:center;border:1px solid #b8a786;background:transparent;border-radius:3px;color:var(--ink)}.menu-toggle span{width:18px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav{display:none;position:absolute;top:82px;left:calc(var(--gutter) * -1);right:calc(var(--gutter) * -1);padding:23px var(--gutter) 30px;background:#f6efe3;border-bottom:1px solid #c7b797;align-items:stretch;gap:0}.nav.is-open{display:flex;flex-direction:column}.nav>a:not(.nav-contact){padding:15px 0;font-size:16px}.nav-contact{margin-top:13px;justify-content:space-between}.hero{padding-top:45px;min-height:auto}.hero-copy{max-width:100%}h1{font-size:clamp(52px,9.4vw,75px);letter-spacing:-3px}.hero-description{max-width:450px}.hero-art{top:168px;right:-38%;width:104%;height:580px;opacity:.5}.hero-art:after{background:linear-gradient(to right,var(--bg),transparent 80%),linear-gradient(to top,var(--bg),transparent 30%,transparent 70%,var(--bg))}.hero-art img{mask-image:linear-gradient(to right,transparent,#000 60%)}.art-caption{display:none}.hero-foot{margin-top:55px;gap:25px;font-size:12px;letter-spacing:1px}.hero-foot>span{max-width:180px;line-height:1.8}.hero-foot a{gap:15px}.principles-strip{padding:20px var(--gutter);font-size:12px;line-height:1.6;gap:20px}.principles-strip>span:not(.strip-plus){flex:1}.strip-plus{font-size:16px}.section-heading{align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:34px}.section-intro{width:auto;max-width:550px}h2{font-size:45px;letter-spacing:-2px}.business-grid{grid-template-columns:1fr}.business-card{padding:29px 29px 0}.business-card+.business-card{border-left:0;border-top:1px solid var(--line)}.card-top{margin-bottom:24px}.business-card h3{font-size:34px}.business-card h3 br{display:none}.business-card>p{max-width:560px}.card-tags{margin-bottom:24px}.card-link{font-size:14px}.journey{grid-template-columns:1fr;gap:24px;padding-top:20px}.journey-tabs{flex-direction:row;gap:6px}.journey-tabs button{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:15px 12px;gap:10px;min-height:77px;font-size:16px;border-bottom:0}.journey-tabs button svg{display:none}.journey-tabs button>span{font-size:12px}.journey-panel{min-height:405px}.journey-panel h3{font-size:36px}.vision{grid-template-columns:1fr;gap:40px}.vision-lead>p:not(.eyebrow){max-width:560px}.vision h2{font-size:50px}.contact-section{flex-direction:column;align-items:flex-start;gap:34px;padding:40px 30px}.contact-section h2{font-size:52px}.contact-button{width:100%;max-width:360px;font-size:22px;gap:16px}.contact-email{font-size:14px}.footer{flex-wrap:wrap;padding:30px 0;row-gap:27px}.footer p{order:3;width:100%;font-size:12px}.footer .brand-name{font-size:12px}.footer .brand-name>span{font-size:12px}.footer-brand{gap:9px}}
@media(max-width:480px){.hero{padding-top:36px}.hero .eyebrow{font-size:12px;letter-spacing:1.2px;margin-bottom:26px;gap:8px}.hero .eyebrow>span:empty{width:16px}h1{font-size:clamp(45px,11.25vw,54px);letter-spacing:-2.7px;line-height:1.08;margin-bottom:24px}.hero-description{font-size:16px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:22px}.button{min-height:52px}.hero-art{top:180px;right:-73%;width:159%;height:460px;opacity:.37}.hero-foot{margin-top:39px;font-size:12px;letter-spacing:.7px}.hero-foot>span{max-width:135px}.principles-strip{gap:12px;padding-top:17px;padding-bottom:17px}.principles-strip>span{font-size:12px;letter-spacing:.6px}.principles-strip .strip-plus{font-size:15px}.principles-strip>span:nth-last-child(-n+2){display:none}.section{padding-top:65px;padding-bottom:65px}.section-label{font-size:12px;margin-bottom:23px}h2{font-size:39px;letter-spacing:-1.8px}.section-intro{font-size:16px}.business-card{padding:25px 23px 0}.business-card h3{font-size:30px}.business-card h3 br{display:block}.approach{padding-top:0}.journey-tabs{gap:3px}.journey-tabs button{font-size:14px;padding:13px 9px;gap:8px}.journey-panel h3{font-size:31px}.panel-details{gap:20px}.panel-details p{font-size:14px}.panel-details>div>span{font-size:12px;line-height:1.5;display:block;min-height:27px}.panel-footer{align-items:flex-start;gap:15px;flex-direction:column}.vision{padding-top:0;gap:30px}.vision h2{font-size:43px}.vision-values article{gap:20px}.vision-values h3{font-size:20px}.contact-section{padding:34px 24px}.contact-section .eyebrow{font-size:12px;letter-spacing:1.1px}.contact-section h2{font-size:43px;letter-spacing:-2px}.contact-section p:not(.eyebrow){font-size:14px}.footer-brand .brand-name{font-size:12px}.footer-brand .brand-name>span{font-size:12px;letter-spacing:3.5px}.back-top{font-size:12px;gap:12px}.footer p{font-size:12px}}
/* A personal message within About us, using the existing cream/gold palette. */
/* The extra home link uses the existing menu pattern on narrower tablets. */
@media(min-width:801px) and (max-width:1023px){
  .holdings-home .menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;gap:7px;align-items:center;justify-content:center;border:1px solid #b8a786;background:transparent;border-radius:3px;color:var(--ink)}
  .holdings-home .menu-toggle span{width:18px;height:1px;background:currentColor;transition:transform .2s}
  .holdings-home .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .holdings-home .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .holdings-home .nav{display:none;position:absolute;top:91px;left:calc(var(--gutter) * -1);right:calc(var(--gutter) * -1);padding:23px var(--gutter) 30px;background:#f6efe3;border-bottom:1px solid #c7b797;align-items:stretch;gap:0}
  .holdings-home .nav.is-open{display:flex;flex-direction:column}
  .holdings-home .nav>a:not(.nav-contact){padding:15px 0;font-size:16px}
  .holdings-home .nav-contact{margin-top:13px;justify-content:space-between}
}
.about-us{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(40px,7vw,110px);background:#f0e8d9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:100px}
.about-heading h2{font-size:clamp(34px,3.5vw,53px);line-height:1.17;letter-spacing:-2px;max-width:430px}
.about-byline{margin:28px 0 0;padding-top:18px;border-top:1px solid #c6b593;color:#685434;font-size:14px;max-width:270px}
.about-message{min-width:0;max-width:720px;color:#50483c;font-size:17px;line-height:1.85}
.about-message p{margin:0 0 24px}
.about-message .about-opening{color:#705329;font-family:Georgia,'Times New Roman',serif;font-size:clamp(23px,2vw,29px);line-height:1.5;letter-spacing:-.35px}
.about-message .about-closing{margin-bottom:0;padding-top:24px;border-top:1px solid #c6b593;color:#3f513b;font-weight:500}
@media(max-width:1120px){.about-us{margin-bottom:83px;gap:44px}}
@media(max-width:800px){.about-us{grid-template-columns:1fr;gap:32px;margin-bottom:65px}.about-heading h2{max-width:550px;font-size:40px;letter-spacing:-1.5px}.about-byline{margin-top:20px}.about-message{font-size:16px;line-height:1.85}}
@media(max-width:480px){.about-heading h2{font-size:34px;letter-spacing:-1.2px}.about-message .about-opening{font-size:24px}}

/* Shared director contact details on the group and business pages. */
.contact-details{width:280px;max-width:100%;min-width:0;flex-shrink:0}
.contact-details .contact-button{width:100%;min-width:0;max-width:none}
.director-contact{padding-bottom:25px}
.contact-section .director-contact .director-name{font-size:20px;font-weight:600;line-height:1.3;margin:0 0 22px;color:#302619}
.director-name span{display:block;margin-top:5px;font-size:14px;font-weight:400;color:#665337}
.direct-dial{display:inline-flex;flex-direction:column;gap:5px;min-height:48px}
.direct-dial>span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#665337}
.direct-dial strong{font-size:26px;font-weight:500;letter-spacing:.2px;color:#3f513b}
.direct-dial:hover strong{text-decoration:underline;text-underline-offset:5px}
.contact-details a:focus-visible{outline:2px solid #3f513b;outline-offset:6px}
.contact-details .contact-email{overflow-wrap:anywhere}
@media(max-width:800px){.contact-details{width:100%;max-width:360px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
