@font-face{font-family:Garden Serif;src:url(/fonts/bitter-latin.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Garden Sans;src:url(/fonts/source-sans-3-latin.woff2)format("woff2");font-style:normal;font-weight:200 900;font-display:swap}:root{--paper:#faf6ed;--ink:#203d32;--body:#36463b;--rust:#963f29;--olive:#5c6644;--line:#c8cbb9;--wash:#ece6d6;--serif:"Garden Serif",Georgia,serif;--sans:"Garden Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{background:var(--paper);color:#25382d;font:18px/1.6 var(--sans);-webkit-font-smoothing:auto;margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--rust);outline-offset:5px}img{max-width:100%;display:block}figure,h1,h2,h3,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--rust);color:var(--paper)}.page-shell{width:min(1280px,100% - 112px);margin-inline:auto}.skip-link{background:var(--paper);z-index:100;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}h2{font:600 clamp(38px, 3.6vw, 52px)/1.12 var(--serif);letter-spacing:-1.6px}.eyebrow{letter-spacing:.9px;text-transform:uppercase;font-size:14px;font-weight:650;line-height:1.5}.site-header{background:var(--paper);border-bottom:1px solid var(--line);z-index:20;position:sticky;top:0}.header-inner{align-items:center;gap:28px;max-width:1440px;margin:auto;padding:22px 40px;display:flex}.brand{flex-shrink:0;align-items:center;gap:13px;display:flex}.brand-mark{width:44px;height:44px;color:var(--rust);flex:none}.brand-type{flex-direction:column;display:flex}.brand-name{font:650 26px/1.2 var(--serif);letter-spacing:-.7px}.brand-service{color:var(--body);letter-spacing:.15px;font-size:13px;line-height:1.5}.site-nav{white-space:nowrap;gap:25px;margin-left:auto;font-size:17px;font-weight:600;display:flex}.site-nav a{padding-block:10px}.site-nav a:hover,.header-email:hover{text-underline-offset:4px;text-decoration:underline}.header-contacts{flex-direction:column;align-items:flex-end;margin-left:auto;line-height:1.4;display:flex}.header-phone{letter-spacing:.2px;font-size:20px;font-weight:700;font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums}.header-email{font-size:16px}.button{white-space:normal;border:1px solid #0000;border-radius:2px;justify-content:space-between;align-items:center;gap:24px;min-width:0;min-height:54px;padding:12px 23px;font-size:18px;font-weight:650;line-height:1.35;transition:background .15s,color .15s;display:inline-flex}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#355848}.button-cream{background:var(--paper);color:var(--ink)}.button-cream:hover{background:#e7dfcc}.button-light-outline{color:var(--paper);border-color:#adbea5}.button-light-outline:hover{background:#355848}.header-text{gap:14px;min-height:48px;padding:10px 17px;font-size:16px}.action-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:21px;height:21px}.button .action-icon{width:22px;height:22px}.header-text .action-icon{width:20px;height:20px}.text-link{border-bottom:1px solid;justify-content:space-between;align-items:center;gap:22px;min-height:48px;padding:9px 0 7px;font-size:18px;font-weight:600;line-height:1.4;display:inline-flex}.text-link:hover{color:var(--rust)}.hero{grid-template:"intro portrait"min-content"description portrait"min-content"contact portrait"1fr/1.08fr .88fr;align-items:start;column-gap:10%;padding-block:52px 68px;display:grid}.hero-intro{grid-area:intro}.hero-intro .eyebrow{letter-spacing:.1px;text-transform:none;color:var(--rust);align-items:center;gap:10px;font-size:15px;font-weight:650;display:flex}.hero-intro h1{font:600 clamp(54px, 5.3vw, 76px)/1.03 var(--serif);letter-spacing:-2.9px;margin:19px 0 24px}.hero-description{max-width:520px;color:var(--body);grid-area:description;font-size:21px;line-height:1.55}.hero-portrait{grid-area:portrait;align-self:start;margin:0;padding-bottom:0;position:relative}.hero-portrait>img{aspect-ratio:4/5;object-fit:cover;border-radius:3px;width:100%;height:auto}.hero-portrait figcaption{flex-direction:column;gap:1px;padding:16px 0 0;font-size:16px;line-height:1.5;display:flex}.hero-portrait figcaption strong{font-weight:700}.hero-portrait figcaption span{color:var(--body);font-size:15px}.hero-contact{background:var(--ink);color:var(--paper);border-radius:3px;grid-area:contact;align-self:start;max-width:525px;margin-top:28px;padding:21px 25px 24px}.hero-contact>p{color:#e2e9db;margin-bottom:5px;font-size:16px;line-height:1.4}.hero-phone{min-height:44px;font:700 37px/1.3 var(--sans);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.5px;white-space:normal;align-items:center;gap:10px;width:max-content;max-width:100%;display:flex}.hero-email{overflow-wrap:anywhere;width:max-content;max-width:100%;padding-block:9px 5px;font-size:20px;line-height:1.5;display:block}.hero-actions{display:flex}.hero-contact .hero-actions{gap:12px;margin-top:17px}.hero-contact .button{flex:1;justify-content:center;gap:10px;padding:12px 16px;font-size:18px}.hero-contact a:focus-visible{outline-color:var(--paper)}.services{background:var(--wash);border-top:1px solid #d8d0bd;border-bottom:1px solid #d8d0bd;padding:75px 0 82px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:43px;display:flex}.section-heading h2{margin-top:0}.section-heading>p{color:var(--body);font-size:18px;line-height:1.55}.service-grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.service{border-right:0;flex-direction:column;align-items:flex-start;padding-right:17px;display:flex}.service:last-child{border:0;padding-right:0}.service-glyph{fill:none;width:104px;height:86px;stroke:var(--rust);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}.service h3{font:600 28px/1.22 var(--serif);letter-spacing:-.75px;max-width:290px;margin:0 0 17px}.service p{color:var(--body);margin-bottom:17px;font-size:18px;line-height:1.65}.service-detail{color:#475237;margin-bottom:24px;font-size:15px;font-weight:600;line-height:1.5}.service .text-link{border-color:#829079 #829079 currentColor;border-bottom-style:none;border-bottom-width:0;justify-content:flex-start;gap:12px;width:100%;margin-top:auto;font-size:17px}.service .text-link:hover{text-underline-offset:5px;text-decoration:underline}.approach{grid-template-columns:.86fr 1.14fr;align-items:start;gap:8%;padding-block:96px;display:grid;position:relative}.approach-copy{padding:17px 0 0}.approach-copy .eyebrow{text-transform:none;letter-spacing:0;color:var(--rust);font-size:16px}.approach-copy h2{letter-spacing:-1.5px;margin:17px 0 27px;font-size:46px;line-height:1.13}.approach-copy>p:not(.eyebrow){color:#344437;max-width:610px;margin-bottom:20px;font-size:19px;line-height:1.65}.approach-copy .text-link{border-bottom:0;gap:17px;margin-top:4px}.experience-photos{grid-template-columns:1.4fr 1fr;align-items:start;gap:14px;display:grid;position:relative}.experience-photos img{object-fit:cover;width:100%;height:100%}.experience-wide{grid-column:1/-1;height:335px}.experience-wide img{object-position:center 58%}.experience-detail{border:7px solid var(--paper);grid-area:2/2;height:210px;margin-top:-60px;position:relative}.experience-detail img{object-position:35% center}.experience-caption{color:var(--body);grid-area:2/1;padding-top:6px;font-size:15px;line-height:1.6}.experience-caption a{text-underline-offset:3px;min-height:30px;text-decoration:underline;display:inline-block}.contact{background:var(--ink);color:var(--paper);padding:78px 0 74px}.contact-inner{grid-template-columns:1.1fr 1fr;align-items:center;gap:11%;display:grid}.contact h2{letter-spacing:-1.8px;margin:0 0 23px;font-size:52px}.contact-intro>p:not(.eyebrow){color:#e0e8d9;max-width:500px;font-size:19px;line-height:1.6}.contact-actions{gap:14px;margin-top:27px;display:flex}.contact .button{justify-content:center;gap:12px}.contact .button .action-icon{width:21px;height:21px}.contact a:focus-visible{outline-color:var(--paper)}.contact-label{color:#d5dfcb;margin-bottom:9px;font-size:15px;line-height:1.4}.phone-link{font:700 clamp(28px, 3vw, 42px)/1.3 var(--sans);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.1px;white-space:normal;justify-content:flex-start;align-items:center;gap:12px;max-width:100%;display:flex}.email-label{margin-top:30px}.email-link{overflow-wrap:anywhere;justify-content:flex-start;align-items:center;gap:15px;min-height:44px;font-size:21px;line-height:1.5;display:flex}.save-contact{border-color:#a6b998;margin-top:25px;font-size:17px}.save-contact:hover{color:#fff}.contact-location{color:#d5dfcb;margin-top:30px;font-size:15px;line-height:1.5}.site-footer{justify-content:space-between;align-items:center;gap:25px;padding-block:28px 32px;display:flex}.footer-name{font:600 22px var(--serif);letter-spacing:-.5px}.site-footer>p{color:var(--body);font-size:15px}.site-footer>div{flex-direction:column;align-items:flex-end;gap:4px;font-size:14px;display:flex}.site-footer a{text-underline-offset:3px;min-height:28px;text-decoration:underline}.contact-dock,.contact-dock[hidden]{display:none}@media (width<=1199px){.page-shell{width:calc(100% - 72px)}.header-inner{gap:20px;padding-inline:30px}.site-nav,.header-text{display:none}.hero{column-gap:8%}.hero-intro h1{font-size:62px}.hero-description{font-size:20px}.hero-contact{padding:20px}.hero-phone{font-size:33px}.hero-email{font-size:19px}.hero-contact .button{padding-inline:12px;font-size:17px}.hero-portrait figcaption{padding-left:0}.hero-portrait{align-self:center}.service-grid{gap:30px}.service h3{font-size:25px}.service-detail{font-size:14px}.approach-copy h2{font-size:40px}.experience-wide{height:315px}.experience-detail{height:180px}.experience-caption{font-size:14px}.contact-inner{gap:7%}.email-link{font-size:19px}.site-footer>p{display:none}}@media (width<=899px){html{scroll-padding-top:24px;scroll-padding-bottom:96px}body{padding-bottom:82px}.page-shell{width:calc(100% - 48px)}.site-header{position:relative}.header-inner{flex-wrap:wrap;justify-content:space-between;gap:15px;padding:17px 24px}.brand-name{font-size:25px}.header-contacts{margin-left:0}.header-phone{font-size:18px}.hero{grid-template:"intro portrait"min-content"description portrait"1fr"contact contact"min-content/1.08fr .9fr;column-gap:8%;padding-block:40px 55px}.hero-intro h1{max-width:660px;font-size:56px}.hero-description{align-self:start;max-width:410px;font-size:19px}.hero-portrait{align-self:start}.hero-portrait figcaption{padding-left:0;font-size:15px}.hero-portrait figcaption span{font-size:14px}.hero-contact{grid-template-columns:1fr 1fr;column-gap:30px;max-width:none;margin-top:30px;padding:23px 25px;display:grid}.hero-contact>p,.hero-phone,.hero-email{grid-column:1}.hero-contact .hero-actions{flex-direction:column;grid-area:1/2/4;justify-content:center;gap:9px;margin-top:0}.hero-contact .button{flex:none;min-height:49px;font-size:18px}.hero-phone{font-size:35px}.services{padding-block:61px}.section-heading{align-items:start;gap:20px}.section-heading h2{font-size:39px}.service-grid{gap:21px}.service{padding-right:0}.service h3{letter-spacing:-.5px;font-size:23px}.service-glyph{width:87px;height:73px}.approach{grid-template-columns:1fr;gap:29px;padding-block:65px}.approach-copy{max-width:650px;padding:0}.approach-copy h2{font-size:43px}.experience-photos{grid-template-columns:1.3fr 1fr;max-width:720px}.experience-wide{height:380px}.experience-detail{height:220px}.experience-caption{font-size:15px}.contact{padding-block:63px}.contact-inner{grid-template-columns:1fr;gap:39px}.contact h2{font-size:46px}.contact-details{border-top:1px solid #6c846c;max-width:620px;padding-top:29px}.phone-link{justify-content:flex-start;font-size:38px}.email-link{justify-content:flex-start;font-size:21px}.contact-location{font-size:16px}.site-footer{flex-wrap:wrap;gap:18px;padding-block:27px 25px}.site-footer>div{align-items:start}.contact-dock{padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:var(--paper);z-index:30;border-top:1px solid #b7c0ab;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:7px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #203d320c}.contact-dock a{border:1px solid var(--ink);border-radius:2px;justify-content:center;align-items:center;gap:13px;min-height:48px;font-size:17px;font-weight:650;display:flex}.contact-dock .dock-text{background:var(--rust);border-color:var(--rust);color:var(--paper);gap:9px}.contact-dock a .action-icon{width:19px;height:19px}}@media (width<=600px){.page-shell{width:calc(100% - 40px)}.header-inner{grid-template-columns:1fr;gap:12px;padding:17px 20px 14px;display:grid}.brand{gap:11px}.brand-mark{width:40px;height:40px}.header-contacts{flex-flow:wrap;align-items:flex-start;gap:0 19px}.header-phone{line-height:1.5}.header-email{line-height:1.7}.hero{grid-template-columns:1fr 36%;grid-template-areas:"intro portrait""description description""contact contact";gap:0 18px;padding-block:26px 39px}.hero-intro .eyebrow{letter-spacing:0;max-width:180px;font-size:14px;line-height:1.4;display:none}.hero-intro h1{letter-spacing:-1.5px;margin:13px 0 0;font-size:37px;line-height:1.08}.hero-portrait{align-self:center;padding:0}.hero-portrait>img{border-radius:2px}.hero-portrait figcaption{display:none}.hero-description{max-width:none;margin-top:24px;font-size:19px}.hero-contact{border-radius:2px;margin-top:23px;padding:18px 19px 20px;display:block}.hero-contact>p{margin-bottom:3px;font-size:15px}.hero-phone{letter-spacing:.2px;font-size:32px;line-height:1.25}.hero-email{padding-block:9px 0;font-size:18px}.hero-contact .hero-actions{flex-direction:row;gap:10px;margin-top:16px}.hero-contact .button{flex:1;gap:8px;min-height:50px;padding:11px 10px;font-size:17px}.hero-contact .action-icon{width:20px;height:20px}.services{padding-block:45px 48px}.section-heading{margin-bottom:32px;display:block}.section-heading h2{letter-spacing:-1.3px;font-size:36px;line-height:1.14}.section-heading>p{margin-top:15px;font-size:18px;line-height:1.55}.section-heading>p br:after{content:" "}.service-grid{flex-direction:column;gap:28px;display:flex}.service{border:0;border-bottom:1px solid #b6bfaa;grid-template-columns:69px 1fr;align-items:start;column-gap:15px;padding:0 0 26px;display:grid}.service:last-child{border:0;padding:0}.service-glyph{grid-area:1/1/4;width:69px;height:66px;margin-top:0}.service h3{letter-spacing:-.65px;grid-column:2;margin-bottom:13px;font-size:25px;line-height:1.2}.service p{grid-column:2;margin-bottom:14px;line-height:1.6}.service-detail{grid-column:2;margin-bottom:13px;font-size:15px}.service .text-link{grid-column:2;padding-bottom:0;font-size:18px}.approach{flex-direction:column;gap:31px;padding-block:52px;display:flex}.approach-copy{width:100%}.approach-copy h2{letter-spacing:-1.2px;margin:16px 0 23px;font-size:37px}.approach-copy>p:not(.eyebrow){font-size:18px}.experience-photos{grid-template-columns:1.05fr 1fr;gap:10px}.experience-wide{height:260px}.experience-detail{border-width:5px;height:164px;margin-top:-36px}.experience-caption{font-size:14px;line-height:1.55}.contact{padding-block:53px 50px}.contact h2{letter-spacing:-1.3px;font-size:38px;line-height:1.12}.contact-intro>p:not(.eyebrow){font-size:18px}.contact-actions{gap:10px;margin-top:26px}.contact-actions .button{flex:1;gap:9px;padding:13px 15px;font-size:17px}.contact-inner{gap:35px}.contact-label{font-size:16px}.phone-link{justify-content:flex-start;gap:10px;font-size:32px}.email-link{justify-content:flex-start;gap:10px;font-size:18px}.contact-location{font-size:15px}.footer-name{font-size:24px}.site-footer>div{flex-direction:row;justify-content:space-between;align-items:start;gap:16px;width:100%;font-size:13px}.site-footer>div>span{text-align:right;max-width:120px}.contact-dock{gap:6px;padding-inline:12px}.contact-dock a{font-size:16px}.contact-dock a .action-icon{display:none}}@media (width<=359px){.page-shell{width:calc(100% - 36px)}.header-inner{padding-inline:18px}.brand-name{font-size:23px}.brand-service{font-size:13px}.hero{grid-template-columns:1fr 35%;column-gap:14px;padding-top:23px}.hero-intro h1{letter-spacing:-1.4px;font-size:32px}.hero-intro .eyebrow{font-size:13px}.hero-description{margin-top:22px;font-size:18px}.hero-contact{padding:16px}.hero-phone{font-size:29px}.hero-email{font-size:17px}.hero-contact .button{gap:7px;padding-inline:8px;font-size:16px}.hero-contact .action-icon{width:18px;height:18px}.hero-contact .hero-actions{gap:9px}.section-heading h2{font-size:33px}.service{grid-template-columns:54px 1fr;gap:13px 12px}.service-glyph{width:54px;height:56px}.service h3{font-size:24px}.service-detail{font-size:14px}.service .text-link{font-size:17px}.approach-copy h2{font-size:34px}.experience-wide{height:235px}.experience-detail{height:145px}.experience-caption{font-size:13px}.contact h2{font-size:35px}.phone-link{font-size:30px}.email-link{font-size:17px}.contact-actions .button{padding-inline:13px;font-size:16px}.contact-dock{padding-inline:9px}.contact-dock a{gap:5px;font-size:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.header-inner>*,.brand-type,.header-contacts,.hero>*,.contact-inner>*,.service>*{min-width:0}.header-inner{flex-wrap:wrap}.header-contacts{max-width:100%}.header-email,.hero-email,.email-link{overflow-wrap:anywhere;max-width:100%}h1,h2,h3{overflow-wrap:break-word}.contact-dock a{min-width:0}@media (width<=600px){.brand{flex-wrap:wrap;max-width:100%}.brand-type{flex:12em}.hero{flex-wrap:wrap;display:flex}.hero-intro{order:0;flex:1 1 min-content;min-width:0;max-width:100%}.hero-portrait{flex:0 0 36%;order:1;max-width:36%;margin-inline:auto}.hero-description{flex:1 0 100%;order:2;min-width:0}.hero-contact{flex:1 0 100%;order:3;min-width:0}}@media (width<=359px){.hero-portrait{flex-basis:35%;max-width:35%}}
