@import url('fonts/fonts.css');
:root{--primary:#28483f;--sage:#dfe8df;--bg:#f8f7f2;--paper:#fffefa;--text:#25332d;--muted:#65736b;--line:#d8ded6;--accent:#a6b8a4;--font-heading:'DM Serif Display',Georgia,serif;--font-body:'DM Sans',sans-serif;--measure:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.7}a{color:inherit}img{display:block;max-width:100%}.site-header{max-width:1440px;margin:auto;padding:23px clamp(22px,6vw,88px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid rgba(40,72,63,.12)}.wordmark{text-decoration:none;font-family:var(--font-heading);font-size:23px;line-height:1.1;color:var(--primary);white-space:nowrap}.wordmark span{display:block;margin-top:5px;font:500 9px var(--font-body);letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}nav{display:flex;gap:clamp(18px,3vw,42px)}nav a,.header-cta{font-size:13px;text-decoration:none}nav a{color:var(--muted)}nav a:hover,.text-link:hover{color:var(--primary)}.header-cta{border:1px solid var(--primary);padding:11px 16px;color:var(--primary);transition:.2s}.header-cta:hover{background:var(--primary);color:#fff}.header-cta span{padding-left:8px}.hero{max-width:1440px;margin:0 auto;padding:66px clamp(22px,8vw,118px) 72px;display:grid;grid-template-columns:1fr .86fr;gap:7vw;align-items:center;position:relative;min-height:600px;overflow:hidden;background:linear-gradient(115deg,var(--bg) 0%,var(--bg) 53%,#e8eee6 53%,#e8eee6 100%)}.hero-copy{max-width:570px;position:relative;z-index:2;animation:rise .7s ease-out both}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--primary);margin:0 0 20px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8ca78d;margin:0 9px 1px 0}.hero h1,.section-heading h2,.intro-band h2,.approach h2,.contact-section h2{font:400 clamp(55px,7vw,92px)/.98 var(--font-heading);letter-spacing:-.035em;color:var(--primary);margin:0}.hero h1{font-size:clamp(62px,8vw,108px);line-height:.91;letter-spacing:-.045em}.intro{font-size:17px;line-height:1.8;color:#526259;max-width:485px;margin:27px 0 29px}.button{display:inline-flex;align-items:center;gap:25px;background:var(--primary);color:white;text-decoration:none;padding:15px 21px;font-size:13px;transition:transform .25s,background .25s}.button:hover{background:#1e392f;transform:translateY(-2px)}.quiet-note{font-size:12px;color:var(--muted);margin:14px 0 0}.hero-image{margin:0;position:relative;justify-self:end;width:min(100%,450px);transform:rotate(2deg);animation:rise .8s .1s ease-out both}.hero-image:before{content:"";position:absolute;inset:18px -18px -18px 18px;background:#aec2ad;z-index:0}.hero-image img{width:100%;height:470px;object-fit:cover;position:relative;z-index:1}.hero-image figcaption{position:absolute;z-index:2;left:-28px;bottom:24px;background:var(--paper);padding:13px 18px;box-shadow:0 12px 30px #1c30241c;font-size:13px;color:var(--primary)}.hero-image figcaption span{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.hero-stamp{position:absolute;left:50%;bottom:38px;z-index:2;border:1px solid #9bb09b;border-radius:50%;width:98px;height:98px;display:grid;place-content:center;text-align:center;font:18px/1.1 var(--font-heading);color:var(--primary);transform:rotate(-10deg);background:#f8f7f2d9}.hero-stamp span{font:18px var(--font-body)}.quick-strip{display:flex;justify-content:center;align-items:center;gap:30px;padding:17px 22px;background:var(--primary);color:#fff;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.quick-strip i{width:5px;height:5px;border-radius:50%;background:#b9cbb6}.intro-band{background:#eaf0e8;padding:79px max(24px,calc((100vw - 1140px)/2)) 84px}.intro-band>.eyebrow{margin-bottom:30px}.intro-band-content{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:start}.intro-band h2,.approach h2{font-size:clamp(42px,4.5vw,62px)}.intro-band-content>div{max-width:560px;color:#516057}.intro-band-content p:first-child{margin-top:4px}.section-wrap{max-width:1180px;margin:0 auto;padding:110px 25px}.section-heading{max-width:680px;margin:0 auto 52px;text-align:center}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2{font-size:clamp(48px,6vw,74px);line-height:.99}.section-heading h2 em{font-weight:400;color:#627965}.section-heading>p:last-child{color:var(--muted);max-width:470px;margin:18px auto 0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-card{position:relative;padding:29px 27px 34px;background:var(--paper);min-height:224px;border:1px solid #e3e7df;transition:transform .25s,box-shadow .25s,background .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #243a2b12;background:#fff}.service-index{color:#526d59;font-size:11px;letter-spacing:.13em}.service-card h3{font:400 25px/1.2 var(--font-heading);color:var(--primary);margin:20px 0 11px}.service-card p{font-size:13px;line-height:1.75;color:var(--muted);margin:0;max-width:310px}.service-card>a{position:absolute;right:23px;bottom:20px;text-decoration:none;color:var(--primary);font-size:18px}.topics{margin:32px auto 0;max-width:930px;text-align:center;color:var(--muted);font-size:13px}.topics strong{display:block;color:var(--primary);font-weight:600;margin-bottom:8px}.quote-section{background:var(--primary);color:#f8f7f2;text-align:center;padding:83px 24px 75px;position:relative;overflow:hidden}.quote-section:after{content:"";position:absolute;width:330px;height:330px;border:1px solid #ffffff20;border-radius:50%;right:-110px;top:-180px}.quote-mark{font:88px/.7 var(--font-heading);color:#adc0ac}.quote-section blockquote{font:italic 38px/1.3 var(--font-heading);max-width:760px;margin:25px auto}.quote-section p{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#c3d1c2}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;padding-top:112px;padding-bottom:112px}.approach-image{margin:0;max-width:485px;position:relative}.approach-image:before{content:"";position:absolute;inset:-13px 13px 13px -13px;background:#e2eade}.approach-image img{width:100%;height:400px;object-fit:cover;position:relative}.approach-image figcaption{position:relative;font-size:11px;color:var(--muted);padding-top:10px}.approach-copy{max-width:475px}.approach-copy .eyebrow{margin-bottom:16px}.approach h2{margin-bottom:23px}.approach-copy>p:not(.eyebrow){color:var(--muted);font-size:15px}.text-link{display:inline-block;margin-top:18px;color:var(--primary);text-decoration:none;border-bottom:1px solid #9eafa0;padding-bottom:5px;font-size:13px}.text-link span{padding-left:9px}.contact-section{background:#e4ece3;padding:83px 24px}.contact-inner{max-width:1080px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:12vw}.contact-section h2{font-size:clamp(45px,5.5vw,68px);max-width:560px}.contact-inner>div:first-child>p:not(.eyebrow){max-width:490px;color:#59685f;margin:21px 0 28px}.button-light{background:var(--primary)}.contact-details{border-left:1px solid #bdcbbd;padding:8px 0 0 42px;color:#4f5e55;font-size:14px}.contact-details p{margin:0 0 18px}.contact-details .eyebrow{margin-bottom:18px}.contact-details a{display:block;text-decoration:none;margin:10px 0;color:var(--primary)}.contact-details .transit{font-size:12px;color:#526057;margin-top:19px}.site-footer{max-width:1440px;padding:34px clamp(22px,6vw,88px);margin:auto;display:flex;align-items:center;gap:30px;flex-wrap:wrap}.footer-mark{font-size:20px}.site-footer>p{font-size:12px;color:var(--muted);margin-right:auto}.footer-links{display:flex;gap:18px}.footer-links a{font-size:12px;color:var(--muted);text-decoration:none}.site-footer small{font-size:10px;color:#65736b}.legal-main{max-width:850px;margin:0 auto;padding:80px 24px 120px}.legal-main h1{font:400 clamp(42px,6vw,64px)/1.1 var(--font-heading);color:var(--primary);margin:0 0 32px}.legal-main h2{font:400 26px var(--font-heading);color:var(--primary);margin:35px 0 10px}.legal-main p{color:#526057}.legal-top{display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:25px clamp(22px,6vw,88px);border-bottom:1px solid var(--line)}.legal-top a:last-child{font-size:13px;text-decoration:none;color:var(--primary)}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.site-header{padding:20px 22px;flex-wrap:wrap}.site-header nav{order:3;width:100%;justify-content:space-between;padding-top:12px}.header-cta{font-size:11px}.hero{grid-template-columns:1fr .82fr;gap:4vw;padding:56px 34px 70px;min-height:520px}.hero h1{font-size:clamp(58px,9vw,80px)}.hero-image img{height:370px}.hero-stamp{left:48%;width:78px;height:78px;font-size:15px}.intro-band-content{grid-template-columns:1fr;gap:20px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approach{gap:6vw}.contact-inner{gap:7vw}.site-footer{gap:18px}.site-footer>p{width:100%;order:3;margin:0}.footer-links{margin-left:auto}}@media(max-width:560px){body{font-size:15px}.wordmark{font-size:20px}.site-header{gap:12px}.site-header nav{gap:12px}.site-header nav a{font-size:11px}.header-cta{max-width:145px;text-align:right;line-height:1.4}.hero{grid-template-columns:1fr;padding:48px 22px 67px;gap:36px;background:linear-gradient(160deg,var(--bg) 0%,var(--bg) 53%,#e8eee6 53%,#e8eee6 100%)}.hero h1{font-size:clamp(58px,15vw,76px)}.intro{font-size:15px;margin:22px 0}.hero-image{width:82%;justify-self:end;margin-right:12px}.hero-image img{height:350px}.hero-image figcaption{left:-20px;bottom:18px}.hero-stamp{left:20px;bottom:28px}.quick-strip{gap:12px;flex-wrap:wrap;font-size:9px;letter-spacing:.08em}.quick-strip i{width:4px;height:4px}.intro-band{padding:61px 24px}.section-wrap{padding:77px 22px}.section-heading{margin-bottom:35px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:25px}.service-card h3{margin-top:12px}.quote-section{padding:65px 25px}.quote-section blockquote{font-size:29px}.approach{grid-template-columns:1fr;gap:36px;padding-top:73px;padding-bottom:73px}.approach-image img{height:310px}.contact-section{padding:66px 24px}.contact-inner{grid-template-columns:1fr;gap:45px}.contact-details{padding:24px 0 0;border-left:0;border-top:1px solid #bdcbbd}.site-footer{padding:27px 22px}.footer-links{margin-left:0}.site-footer small{margin-left:auto}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
