@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f7f7f2;--ink:#26312f;--teal:#193e3c;--mint:#c8e7da;--line:#d8ded6;--muted:#5b6964}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #247f77;outline-offset:5px}button{cursor:pointer}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.topline{background:var(--teal);color:#e3eee8;text-align:center;padding:8px 20px;font-size:12px;letter-spacing:.06em}header{height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px;background:rgba(247,247,242,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;line-height:1}.brand strong{font-size:51px;letter-spacing:-5px;font-family:'Manrope',sans-serif;font-weight:800}.brand strong span{color:#58a394}.brand>span{font-size:16px;letter-spacing:.2em;border-left:1px solid #a9bbb1;padding-left:15px;line-height:1.7}.brand small{font-size:9px;letter-spacing:.12em}nav{display:flex;gap:28px;font-size:14px}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-8px;left:0;width:0;height:2px;background:var(--teal);transition:width .3s}nav a:hover:after{width:100%}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;border:1px solid var(--teal);background:var(--teal);color:white;border-radius:4px;padding:17px 23px;font-size:14px;font-weight:500;transition:background .25s,transform .25s}.button:hover{background:#2b5952;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.compact{padding:13px 18px}.text-link{display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid #a0b4aa;padding:8px 0;font-size:14px;font-weight:600}.menu-button{display:none;background:transparent;border:0;font-size:25px}.hero{display:grid;grid-template-columns:1.02fr 1fr;min-height:695px;padding:22px 2.5% 25px 6%;gap:4%}.hero-copy{padding:44px 0 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;margin:0 0 25px;color:#466c60}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500;line-height:1.12}h1{font-size:clamp(48px,5.2vw,82px);letter-spacing:-.06em;margin-bottom:26px}em{font-family:Georgia,serif;font-weight:400;color:#527e6d}h1 em{color:#477b68}.lead{max-width:390px;color:var(--muted);font-size:16px;margin-bottom:30px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.hero-bottom{display:flex;gap:25px;margin-top:auto;padding-top:48px;padding-bottom:21px;letter-spacing:.08em;font-size:10px}.hero-image{position:relative;overflow:hidden;border-radius:140px 8px 8px 8px;margin:0;min-height:650px;background:#cad8ce}.hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 42%;animation:heroDrift 18s ease-in-out infinite alternate}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 48%,rgba(11,39,31,.64))}.hero-image figcaption{position:absolute;left:42px;bottom:45px;z-index:2;color:#fff;font-size:33px;line-height:1.25}.hero-image figcaption em{color:#e9f4eb}.hero-image figcaption small{display:block;font-family:'DM Sans',sans-serif;font-size:11px;line-height:1.5;margin-top:16px;color:#ebeee9}.image-index{position:absolute;right:25px;top:28px;z-index:2;font-size:10px;letter-spacing:.12em;background:rgba(255,255,255,.87);padding:7px 12px;border-radius:30px}.ribbon{padding:26px 6%;display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:Georgia,serif;font-style:italic;font-size:22px;color:#577565}.section{padding:110px 7%;scroll-margin-top:20px}h2{font-size:clamp(34px,3.5vw,53px);letter-spacing:-.045em;margin-bottom:28px}h3{font-size:25px;letter-spacing:-.025em}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%}.approach p:not(.eyebrow){color:var(--muted)}.approach .large-text{font-size:23px;line-height:1.55;color:var(--ink)!important}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:40px}.section-heading h2{margin:0}.section-heading>p{color:var(--muted);max-width:300px;margin:0}.section-heading small{font-size:13px}.services{padding-top:10px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);padding:34px 30px;background:#efF2eb;transition:background .3s,transform .3s}.service-card:nth-child(2){background:var(--mint);border-color:var(--mint)}.service-card:hover{transform:translateY(-6px);background:#d8e9df}.number{display:block;font-size:12px;letter-spacing:.1em;color:#5d7e70;margin-bottom:49px}.service-card h3{font-size:27px;line-height:1.2}.service-card p{color:var(--muted);font-size:15px;min-height:80px}.service-card a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #b9ccc0;padding-top:18px;margin-top:24px;font-size:14px}.fineprint{font-size:12px;color:var(--muted);line-height:1.6;margin-top:20px}.movement{display:grid;grid-template-columns:1fr 1fr;background:var(--teal);color:white;min-height:590px}.movement figure{margin:0;position:relative;min-height:590px;overflow:hidden}.movement img{height:100%;width:100%;position:absolute;object-fit:cover;object-position:center 55%}.movement figcaption{position:absolute;bottom:14px;left:22px;font-size:11px;background:#ffffffdd;color:var(--ink);padding:3px 9px}.movement>div{padding:95px 14%;align-self:center}.movement .eyebrow{color:#c0dccc}.movement h2{font-size:48px}.movement em{color:#bbd6c5}.movement p:not(.eyebrow){color:#d4e0d8;margin-bottom:30px}.light{background:#c9e6d9;color:var(--teal);border-color:#c9e6d9}.light:hover{background:white}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.profile{border-top:1px solid var(--line);padding-top:30px;display:flex;gap:25px}.monogram{width:100px;height:133px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#e2e8de;font-family:Georgia,serif;font-style:italic;font-size:38px;color:#627765;border-radius:50px 50px 3px 3px}.monogram.second{background:#d3e1dc;color:#4b6e67}.profile .eyebrow{font-size:10px}.profile h3{margin:9px 0 15px}.profile p{color:var(--muted);font-size:15px}.source-link{font-size:13px;border-bottom:1px solid var(--line)}.profile small{display:block;color:var(--muted);font-size:12px;margin-top:16px}.experience{background:#e9eee5;display:grid;grid-template-columns:1fr 1fr;gap:8%}.experience-intro{color:var(--muted)}.steps article{display:flex;gap:27px;border-bottom:1px solid #cbd6ca;padding:24px 0}.steps article:first-child{padding-top:0}.steps article>span{font-size:13px;color:#54725f}.steps h3{font-size:22px;margin-bottom:10px}.steps p{font-size:15px;color:var(--muted);margin-bottom:0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:23px 34px 23px 0;list-style:none;position:relative;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:23px;top:18px;color:#567a66}details[open] summary:after{content:'−'}details p{font-size:15px;color:var(--muted);padding-right:30px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#edf0e8}.contact-copy>p:not(.eyebrow){color:var(--muted)}dl{margin-top:38px}dl>div{padding:16px 0;border-bottom:1px solid #d2dace}dt{font-size:11px;letter-spacing:.12em;color:#617568;margin-bottom:9px}dd{margin:0;font-size:16px}dd small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.form-wrap{background:var(--paper);padding:40px;border-radius:6px;align-self:start;scroll-margin-top:130px}.form-wrap h3{font-size:28px}.form-note{font-size:13px;line-height:1.6;background:#e9eee4;padding:13px;color:#51644f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;margin:20px 0}label span{color:var(--muted);font-size:12px}input,select{width:100%;display:block;background:transparent;border:0;border-bottom:1px solid #aebdaf;padding:12px 0;border-radius:0;color:var(--ink);font-size:16px;min-width:0}select{font-size:14px}.privacy-note{font-size:12px;color:var(--muted)}form .button{width:100%;margin-top:10px}#form-status{font-size:14px;margin-top:15px}footer{padding:48px 7% 25px;background:#173a37;color:#e1eee4}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #40605a;padding-bottom:35px}.footer-top p{font-family:Georgia,serif;font-size:25px;font-style:italic;margin:0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:23px;font-size:12px;color:#b7ccc0}.footer-bottom button{background:none;border:0;padding:0;color:inherit;font-size:12px;text-decoration:underline}.reveal{opacity:1}.motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.motion .reveal.visible{opacity:1;transform:none}dialog{width:min(640px,90vw);max-height:85vh;border:1px solid var(--line);border-radius:8px;padding:40px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#173a37aa;backdrop-filter:blur(5px)}dialog h2{font-size:32px}dialog p{font-size:14px}dialog a{text-decoration:underline}.dialog-close{float:right;font-size:30px;background:none;border:0}.dialog-close:hover{color:#247f77}#mobile-menu{position:fixed;z-index:29;top:102px;left:0;right:0;background:var(--paper);padding:25px 7%;box-shadow:0 18px 22px #173a371a;animation:menuIn .25s ease}#mobile-menu a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:20px}@keyframes heroDrift{from{transform:scale(1)}to{transform:scale(1.065)}}@keyframes menuIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1100px){nav{gap:17px}.hero{gap:3%;padding-left:5%}h1{font-size:61px}.hero-bottom{gap:12px;font-size:9px}.movement>div{padding:60px 10%}.movement h2{font-size:42px}.section{padding:85px 6%}.services{padding-top:0}.profile{gap:16px}.monogram{width:75px;height:110px;font-size:30px}.form-wrap{padding:28px}}@media(max-width:850px){header{height:85px;padding:0 5%}nav{display:none}.menu-button{display:block}header .compact{margin-left:auto}.brand strong{font-size:43px}.brand>span{font-size:13px}#mobile-menu{top:85px}.hero{min-height:0;padding:25px 5% 30px;gap:25px}.hero-copy{padding-top:12px}h1{font-size:50px}.hero-image{min-height:560px;border-top-left-radius:85px}.hero-image figcaption{font-size:26px;left:25px;bottom:30px}.hero-bottom{flex-wrap:wrap;padding-top:30px;gap:7px 13px}.actions{gap:16px}.ribbon{font-size:18px}.approach{gap:7%}.section-heading{gap:35px}.section-heading>p{font-size:14px}.service-card{padding:25px 20px}.service-card h3{font-size:23px}.service-card p{min-height:120px}.team-grid{grid-template-columns:1fr}.profile{gap:28px}.monogram{width:105px;height:135px}.experience,.contact{gap:6%}.form-row{grid-template-columns:1fr;gap:0}.form-row label{margin-bottom:0}.movement figure{min-height:500px}.movement{min-height:500px}.movement>div{padding:45px 10%}.movement h2{font-size:37px}.button{gap:16px}}@media(max-width:620px){.topline{font-size:10px}header{height:77px;gap:14px}header .compact{display:none}.brand>span{font-size:12px}.brand small{font-size:8px}.brand strong{font-size:42px}#mobile-menu{top:77px}.hero{grid-template-columns:1fr;padding:33px 6% 23px}.hero-copy{padding:0}h1{font-size:clamp(48px,12vw,68px);margin-bottom:23px}.eyebrow{font-size:10px;margin-bottom:22px}.hero h1 br:first-of-type{display:none}.lead{font-size:16px;max-width:340px}.hero-bottom{padding-top:28px;padding-bottom:4px;font-size:9px;gap:15px}.hero-image{height:440px;min-height:0;border-radius:90px 5px 5px 5px}.hero-image img{object-position:center 40%}.hero-image figcaption{font-size:29px}.ribbon{gap:12px;padding:20px 6%;font-size:15px;align-items:center}.ribbon span{max-width:100px}.section{padding:70px 6%}h2{font-size:37px}.approach,.experience,.faq,.contact{grid-template-columns:1fr;gap:25px}.approach .large-text{font-size:20px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.services{padding-top:0}.service-grid{grid-template-columns:1fr}.service-card{padding:28px}.number{margin-bottom:23px}.service-card h3{font-size:28px}.service-card p{min-height:0}.service-card a{margin-top:22px}.movement{grid-template-columns:1fr}.movement figure{height:390px;min-height:0}.movement>div{padding:55px 7%}.movement h2{font-size:40px}.profile{gap:20px}.monogram{width:67px;height:90px;font-size:26px}.profile h3{font-size:25px}.profile .eyebrow{font-size:9px}.experience h2{font-size:35px}.faq h2{margin-bottom:5px}.form-wrap{padding:25px 22px}.form-wrap h3{font-size:25px}.footer-top{flex-wrap:wrap;gap:25px}.footer-top p{font-size:21px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}.footer-top .text-link{font-size:12px}dialog{padding:25px}html{scroll-padding-top:85px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
