@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";:root{color:#29372f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--color-paper:#f8f7f2;--color-white:#fffefa;--color-ink:#29372f;--color-muted:#70756d;--color-olive:#75816a;--color-olive-dark:#606d57;--color-line:#e6e5dc;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", sans-serif;background:#f8f7f2;font-family:DM Sans,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;scroll-padding-top:24px}body{min-width:320px;margin:0}body,button,a{font-family:var(--font-body)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--color-olive-dark);outline-offset:4px}::selection{color:var(--color-white);background:var(--color-olive-dark)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{overflow:hidden}.section-shell{width:min(1120px,100% - 96px);margin-inline:auto}.site-header{z-index:2;background:var(--color-paper);border-bottom:1px solid #29372f12;justify-content:space-between;align-items:center;gap:28px;min-height:100px;padding:18px max(48px,50vw - 640px);display:flex;position:relative}.brand{flex-direction:column;flex-shrink:0;gap:6px;width:fit-content;display:inline-flex}.brand-name{font-family:var(--font-display);letter-spacing:-.8px;font-size:24px;line-height:1}.brand-name span{color:var(--color-olive);font-style:italic}.brand-description{letter-spacing:2.7px;font-size:10px;font-weight:600}.navigation{align-items:center;gap:clamp(24px,3.2vw,48px);display:flex}.navigation a,.back-to-top{color:var(--color-muted);font-size:14px;transition:color .18s}.navigation a:hover,.back-to-top:hover{color:var(--color-olive-dark)}.button{letter-spacing:.1px;justify-content:center;align-items:center;gap:26px;min-height:52px;padding:0 22px;font-size:13px;font-weight:600;transition:background-color .18s,color .18s,border-color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button span,.text-link span{font-size:17px;line-height:0}.button-outline{border:1px solid #d6d8ce;min-height:44px}.button-outline:hover{border-color:var(--color-olive);color:var(--color-olive-dark)}.button-primary{color:var(--color-white);background:var(--color-olive)}.button-primary:hover{background:var(--color-olive-dark)}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(48px,8vw,112px);min-height:670px;padding-block:74px 88px;display:grid}.hero-copy{padding-block:12px;animation:.7s both rise-in}.eyebrow{color:var(--color-olive-dark);letter-spacing:1.65px;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 26px;font-size:11px;font-weight:700;line-height:1.5;display:flex}.eyebrow-mark{background:var(--color-olive);border-radius:50%;width:7px;height:7px}.hero h1,.section-heading h2,.services h2,.approach h2,.contact h2{font-family:var(--font-display);letter-spacing:-1.65px;margin:0;font-weight:400}.hero h1{max-width:610px;font-size:clamp(52px,5.2vw,72px);line-height:1.08}.hero h1 em,.section-heading h2 em,.approach h2 em,.contact h2 em{color:var(--color-olive);font-weight:400}.hero-description{max-width:460px;color:var(--color-muted);margin:25px 0 29px;font-size:16px;line-height:1.9}.hero-actions{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.text-link{color:var(--color-ink);align-items:center;gap:10px;font-size:13px;font-weight:600;display:inline-flex}.text-link span{color:var(--color-olive)}.hero-note{color:var(--color-muted);font-family:var(--font-display);align-items:center;gap:12px;margin-top:58px;font-size:15px;font-style:italic;display:flex}.hero-note-line{background:var(--color-olive);width:34px;height:1px}.hero-visual{justify-self:end;width:min(100%,430px);padding:0 18px 34px 0;animation:.85s .1s both rise-in;position:relative}.hero-image-frame{background:#e8e4d8;border-radius:220px 220px 2px 2px;height:clamp(410px,43vw,530px);overflow:hidden}.hero-image{object-fit:cover;object-position:center 38%;width:100%;height:100%}.hero-image-caption{background:var(--color-white);flex-direction:column;gap:10px;width:min(300px,76%);padding:23px 25px 24px;display:flex;position:absolute;bottom:8px;left:-55px;box-shadow:0 14px 40px #222b2217}.caption-kicker{color:var(--color-olive-dark);letter-spacing:1.45px;font-size:10px;font-weight:700}.caption-title{font-family:var(--font-display);font-size:19px;line-height:1.35}.hero-decoration{z-index:-1;color:#d7c8ac;font-family:var(--font-display);font-size:112px;line-height:1;position:absolute;top:-34px;right:-40px}.hero-image-index{color:var(--color-muted);letter-spacing:1px;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:2px;right:0}.hero-image-index span{background:#b8b9ae;width:26px;height:1px}.intro-strip{border-block:1px solid var(--color-line);background:#f3f2eb}.intro-strip-inner{color:#555d53;min-height:78px;font-family:var(--font-display);flex-wrap:wrap;justify-content:center;align-items:center;gap:22px 42px;padding:18px 48px;font-size:15px;font-style:italic;display:flex}.strip-dot{background:var(--color-olive);border-radius:50%;width:4px;height:4px}.about{grid-template-columns:1fr .83fr;gap:12%;padding-block:130px 138px;display:grid}.section-heading .eyebrow,.services-heading .eyebrow{margin-bottom:24px}.section-heading h2,.services h2{max-width:540px;font-size:clamp(39px,4.5vw,57px);line-height:1.16}.about-copy{align-self:end;padding-bottom:4px}.about-copy p,.services-heading>p{color:var(--color-muted);margin:0 0 18px;font-size:15px;line-height:1.95}.about-copy .text-link{margin-top:12px}.services{padding-block:0 132px}.services-heading{justify-content:space-between;align-items:end;gap:48px;margin-bottom:42px;display:flex}.services h2{max-width:560px}.services-heading>p{max-width:330px;margin-bottom:5px}.service-grid{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(3,1fr);display:grid}.service-card{border-right:1px solid var(--color-line);flex-direction:column;justify-content:space-between;min-height:270px;padding:25px 30px 26px;transition:background-color .18s;display:flex}.service-card:first-child{padding-left:0}.service-card:last-child{border-right:0;padding-right:0}.service-card:hover{background:#ecece18c}.service-number,.step-number{color:var(--color-olive);letter-spacing:1px;font-size:12px;font-weight:600}.service-card h3,.approach-step h3{font-family:var(--font-display);margin:0 0 13px;font-size:24px;font-weight:400;line-height:1.25}.service-card p,.approach-step p{max-width:285px;color:var(--color-muted);margin:0;font-size:14px;line-height:1.8}.service-arrow{width:34px;height:34px;color:var(--color-olive-dark);border:1px solid #d9dbd1;border-radius:50%;place-items:center;transition:color .18s,background-color .18s,border-color .18s;display:grid}.service-arrow:hover{border-color:var(--color-olive);color:#fff;background:var(--color-olive)}.approach{color:var(--color-white);background:var(--color-ink)}.approach-inner{grid-template-columns:.9fr 1fr;gap:12%;padding-block:112px 120px;display:grid}.eyebrow-light{color:#b9c3aa}.approach h2{max-width:450px;font-size:clamp(40px,4.3vw,56px);line-height:1.15}.approach h2 em{color:#c3cdb5}.approach-intro>p:not(.eyebrow){color:#c2c8bf;max-width:370px;margin:22px 0 27px;font-size:14px;line-height:1.9}.button-light{color:var(--color-ink);background:#f1f0e9}.button-light:hover{background:#fff}.approach-steps{border-top:1px solid #fff3;align-self:center}.approach-step{border-bottom:1px solid #fff3;grid-template-columns:34px 1fr 18px;align-items:start;gap:15px;padding:23px 0 25px;display:grid}.step-number{color:#b9c3aa;padding-top:6px}.approach-step h3{margin-bottom:8px;font-size:21px}.approach-step p{color:#c2c8bf;max-width:360px;font-size:13px}.step-arrow{color:#b9c3aa;padding-top:3px;font-size:13px}.contact{isolation:isolate;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:450px;padding-block:88px;display:flex;position:relative;overflow:hidden}.contact .eyebrow{justify-content:center;margin-bottom:21px}.contact h2{max-width:720px;font-size:clamp(40px,5vw,62px);line-height:1.16}.contact h2 em{color:var(--color-olive)}.contact>p:not(.eyebrow){max-width:440px;color:var(--color-muted);margin:18px 0 25px;font-size:14px;line-height:1.8}.contact-mark{z-index:-1;color:#eeede5;font-family:var(--font-display);font-size:clamp(160px,25vw,300px);line-height:1;position:absolute;top:31px;right:3%}.site-footer{border-top:1px solid var(--color-line);grid-template-columns:1fr 1fr auto;align-items:center;gap:18px 32px;padding:32px max(48px,50vw - 640px);display:grid}.footer-brand .brand-name{font-size:20px}.footer-brand .brand-description{font-size:9px}.site-footer>p,.copyright{color:var(--color-muted);font-size:12px}.site-footer>p{justify-self:center}.back-to-top{justify-self:end;align-items:center;gap:9px;display:inline-flex}.copyright{border-top:1px solid var(--color-line);grid-column:1/-1;padding-top:17px;font-size:11px}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.section-shell{width:min(100% - 64px,720px)}.site-header{min-height:88px;padding-inline:32px}.navigation{gap:20px}.hero{gap:42px;min-height:590px;padding-block:65px 76px}.hero h1{font-size:clamp(47px,6vw,60px)}.hero-image-frame{height:440px}.hero-image-caption{left:-35px}.intro-strip-inner{gap:16px 25px;padding-inline:25px;font-size:14px}.about{gap:8%;padding-block:100px}.service-card{min-height:280px;padding-inline:20px}.approach-inner{gap:8%;padding-block:90px}.site-footer{padding-inline:32px}}@media (width<=680px){.section-shell{width:calc(100% - 44px)}.site-header{flex-wrap:wrap;gap:18px;min-height:auto;padding:20px 22px 17px}.brand-name{font-size:21px}.brand-description{letter-spacing:2.25px;font-size:10px}.header-cta{gap:12px;min-height:40px;padding-inline:12px;font-size:12px}.navigation{order:3;justify-content:space-between;gap:12px;width:100%;padding-top:2px}.navigation a{font-size:12px}.hero{grid-template-columns:1fr;gap:45px;padding-block:67px 78px}.hero h1{max-width:540px;font-size:clamp(49px,11vw,65px)}.hero-description{max-width:510px;font-size:15px}.hero-note{margin-top:38px}.hero-visual{justify-self:center;width:min(100% - 18px,440px);padding-right:12px}.hero-image-frame{border-radius:190px 190px 2px 2px;height:min(112vw,500px)}.hero-image-caption{width:min(285px,78%);padding:19px 20px;left:-12px}.hero-decoration{font-size:90px;right:-15px}.intro-strip-inner{flex-direction:column;gap:12px;min-height:auto;padding-block:22px;font-size:14px}.about{grid-template-columns:1fr;gap:25px;padding-block:84px 90px}.section-heading h2,.services h2{font-size:clamp(39px,10vw,52px)}.about-copy{max-width:560px}.about-copy p,.services-heading>p{font-size:14px}.services{padding-bottom:88px}.services-heading{flex-direction:column;align-items:start;gap:16px;margin-bottom:25px}.services-heading>p{max-width:460px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child,.service-card:last-child{border-right:0;border-bottom:1px solid var(--color-line);min-height:225px;padding:22px 0}.service-card:last-child{border-bottom:0}.service-card>div{margin-block:26px 19px}.service-card h3{font-size:23px}.approach-inner{grid-template-columns:1fr;gap:46px;padding-block:79px 85px}.approach h2{max-width:550px;font-size:clamp(40px,10vw,53px)}.contact{min-height:410px;padding-block:75px}.contact h2{font-size:clamp(39px,10vw,55px)}.contact-mark{font-size:190px;top:65px;right:-2%}.site-footer{grid-template-columns:1fr auto;gap:16px 10px;padding:26px 22px}.site-footer>p{grid-area:2/1/auto/-1;justify-self:start;margin:0}.back-to-top{grid-area:1/2;font-size:12px}.copyright{grid-row:3}}@media (width<=370px){.site-header{padding-inline:16px}.header-cta{padding-inline:9px;font-size:11px}.navigation a{font-size:11px}.hero-actions{flex-direction:column;align-items:flex-start}}
