@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f6f3eb;--green:#293f35;--muted:#687167;--gold:#b49a65;--line:#dcded1;--serif:'Libre Caslon Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--green);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:2px solid #9a7133;outline-offset:5px}.skip{position:fixed;left:15px;top:-80px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}header{height:112px;padding:0 4%;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand svg{width:34px;height:50px;color:#7c865e}.brand span{font-family:var(--serif);font-size:26px;line-height:1.1}.brand small{font:8px 'DM Sans',sans-serif;letter-spacing:2px;display:block;margin-top:10px}nav{display:flex;align-items:center;gap:23px;margin-left:auto;font-size:12px;white-space:nowrap}nav>a:not(.button){padding:8px 0;position:relative}nav>a[aria-current=page]:not(.button):after{content:'';position:absolute;bottom:0;left:0;width:24px;height:1px;background:var(--gold)}nav a:hover{color:#8c7548}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;background:var(--green);color:white;padding:14px 24px;border:1px solid var(--green);font-size:13px;cursor:pointer;transition:.2s}.button:hover{background:#40594b;color:#fff}.button.light{background:transparent;color:var(--green);border-color:#bec4b6}.nav-cta{padding:13px 18px;font-size:12px;margin-left:5px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:76px 8% 58px 12%;position:relative}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase;display:flex;gap:12px;align-items:center}.eyebrow:before{content:'';width:28px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.07}h1{font-size:clamp(52px,5.4vw,85px);margin:25px 0}h1 em,h2 em{font-weight:400;color:#7d886b}h2{font-size:48px;margin:18px 0 24px}h3{font-size:28px;margin-bottom:15px}p{color:var(--muted)}.hero-copy>p{max-width:420px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:24px;margin:30px 0}.text-link{font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:5px;display:inline-block}.location{display:flex;gap:10px;align-items:center;font-size:10px;color:var(--muted);margin-top:45px;letter-spacing:.8px}.location:before{content:'◌';font-size:20px;color:var(--gold)}.hero-photo{position:relative;background:url('assets/forest.jpg') center center/cover;min-height:580px;margin:24px 24px 24px 0}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#182d2580,transparent 60%)}.photo-caption{position:absolute;bottom:32px;left:35px;right:35px;color:white;z-index:1;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.quote{max-width:950px;margin:0 auto;text-align:center;padding:66px 30px}.quote .mark{font:60px var(--serif);color:var(--gold);line-height:1}.quote blockquote{font:30px/1.4 var(--serif);margin:4px 0 18px}.quote cite{font-style:normal;font-size:10px;letter-spacing:1.8px;color:var(--muted)}.section{max-width:1200px;margin:auto;padding:75px 35px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head h2{margin-bottom:0}.section-head>p{max-width:310px;font-size:13px;margin:0}.tinted{background:#eaece3}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.service{padding:30px 25px;border:1px solid #cdd3c3;margin-left:-1px;display:flex;flex-direction:column}.service .number{font-family:var(--serif);font-size:22px;color:#9b875d;margin-bottom:35px}.service p{font-size:13px}.service .text-link{align-self:start;margin-top:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.nature-art{min-height:400px;background:url('assets/forest.jpg') 25% center/cover;position:relative}.nature-art .inset{position:absolute;bottom:25px;right:-20px;background:var(--paper);padding:24px;font:29px/1.2 var(--serif);max-width:210px;border-left:2px solid var(--gold)}.closing{background:var(--green);text-align:center;padding:65px 25px;color:var(--paper)}.closing h2{font-size:44px}.closing p{color:#ccd4c9}.closing .button{background:var(--paper);color:var(--green);border-color:var(--paper)}footer{padding:55px 5% 20px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:35px}.footer-name{font:30px var(--serif)}.footer-name span{display:block;font:12px 'DM Sans',sans-serif;color:var(--muted);margin-top:8px}.footer-top p{font-size:12px;margin:0}.footer-top>a:last-child{font-size:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:var(--muted)}.page-title{max-width:1200px;margin:auto;padding:65px 35px 45px;border-bottom:1px solid var(--line)}.page-title h1{font-size:70px;max-width:850px}.page-title p{max-width:670px}.prose{max-width:780px;margin:auto;padding:55px 30px}.prose p{line-height:1.95}.prose h2{font-size:38px;margin-top:35px}.approach-list{counter-reset:a}.approach-list details{border-top:1px solid var(--line);padding:20px 0}.approach-list summary{cursor:pointer;font:25px var(--serif);padding:10px 0}.approach-list details p{margin:15px 0;font-size:14px}.anchor-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.anchor-nav a{font-size:12px;padding:8px 16px;border:1px solid #c8cdbe}.session{display:grid;grid-template-columns:100px 1fr 240px;gap:30px;padding:42px 0;border-bottom:1px solid var(--line);scroll-margin-top:25px}.session>span{font:40px var(--serif);color:var(--gold)}.session h2{font-size:38px;margin-top:0}.session p{margin-bottom:12px}.session aside{padding:20px;background:#eceee5;height:fit-content;font-size:13px}.session aside p{font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:22px 15px;border-bottom:1px solid var(--line)}th{font-size:10px;letter-spacing:1px;text-transform:uppercase;background:#eaece3}td:first-child{font-weight:500}.notice{font-size:12px;border-left:2px solid var(--gold);padding:10px 18px;background:#eeeee5;margin-top:25px}.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.place{padding:28px;border:1px solid var(--line)}.place h3{font-size:30px}.place p{font-size:14px}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.contact-details a{font-family:var(--serif);font-size:30px;display:block;margin-bottom:16px;overflow-wrap:anywhere}.contact-form{background:#eaece3;padding:32px}.contact-form h2{font-size:34px;margin-top:0}label{display:block;font-size:12px;margin:14px 0 5px}input,select,textarea{width:100%;border:1px solid #cdd3c4;padding:12px;background:var(--paper);color:var(--green);border-radius:0}textarea{min-height:120px;resize:vertical}.form-help{font-size:11px;margin-top:15px}.contact-form .button{width:100%;margin-top:20px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.post{border:1px solid var(--line);padding:30px}.post .tag{font-size:10px;letter-spacing:1px;color:#8a7652}.post h2{font-size:33px;margin:25px 0 20px}.post p{font-size:13px}.post details summary{cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:5px}.post details p{margin-top:20px}.blog-note{font-size:12px;margin-top:25px}.small-quote{font:30px/1.4 var(--serif);border-left:2px solid var(--gold);padding:20px 30px;color:var(--green)}
@media(min-width:1500px){header{padding-left:6%;padding-right:6%}nav{gap:28px;font-size:13px}}@media(max-width:1180px){header{gap:15px;padding:0 3%}.brand span{font-size:23px}nav{gap:13px;font-size:11px}.nav-cta{padding:12px}.hero-copy{padding-left:9%;padding-right:8%}.hero-actions{gap:15px;flex-wrap:wrap}.grid{grid-template-columns:1fr 1fr}.session{grid-template-columns:65px 1fr 210px}}@media(max-width:960px){header{height:90px;flex-wrap:wrap;position:relative;z-index:5}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);background:transparent;padding:8px 12px;color:var(--green);font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:90px;background:var(--paper);padding:25px;box-shadow:0 15px 20px #223b3020;white-space:normal}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:10px}nav .nav-cta{margin:10px 0 0}.hero{min-height:550px}.hero-copy{padding:50px 8%}.hero h1{font-size:58px}.hero-photo{min-height:490px;margin:15px 15px 15px 0}.split{gap:40px}.contact-layout{gap:35px}.session{grid-template-columns:45px 1fr}.session aside{grid-column:2}.blog-grid{grid-template-columns:1fr}.footer-top{flex-wrap:wrap}}@media(max-width:640px){.brand span{font-size:25px}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 25px 30px}.hero h1{font-size:64px;margin:22px 0}.hero-copy>p{font-size:14px}.hero-actions{margin-top:25px}.location{margin-top:28px}.hero-photo{min-height:350px;margin:0 16px 16px}.quote{padding:45px 25px}.quote blockquote{font-size:26px}.section{padding:48px 24px}.section-head{display:block}.section-head>p{margin-top:20px;max-width:none}h2{font-size:40px}.grid{grid-template-columns:1fr}.service{padding:26px}.service .number{margin-bottom:20px}.split{grid-template-columns:1fr;gap:35px}.nature-art{min-height:300px;margin-right:15px}.closing h2{font-size:36px}.footer-top{display:block}.footer-top p{margin:25px 0}.footer-bottom{display:block;line-height:2}.footer-bottom span{display:block}.page-title{padding:45px 25px 30px}.page-title h1{font-size:54px}.session{gap:15px;grid-template-columns:30px 1fr}.session>span{font-size:28px}.session h2{font-size:32px}.contact-layout,.two-grid{grid-template-columns:1fr}.contact-form{padding:25px}.contact-details a{font-size:26px}.table-wrap td,.table-wrap th{padding:18px 10px;font-size:12px}.eyebrow{font-size:9px;letter-spacing:2px}}

.contact-locations{display:grid;gap:40px;margin-top:35px}.contact-locations h3{font-size:30px;margin-bottom:15px}.contact-locations p{font-size:14px;margin-bottom:0}

