*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#2c302c;background:#fff;line-height:1.55;font-size:16px}
a{color:inherit}
.wrap{width:min(1050px,92%);margin:0 auto}
.topbar{background:#39483d;color:#fff;padding:9px 0;font-size:14px;border-bottom:3px solid #b88b54}
.topbar .wrap{display:flex;justify-content:space-between;gap:20px;align-items:center}
.topbar a{text-decoration:none;font-weight:700}
header{border-bottom:1px solid #d7d4cc;background:#fff}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{text-decoration:none;font-size:22px;font-weight:800;letter-spacing:.1px;color:#334138;line-height:1.1}
.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:1.1px;color:#77756f;margin-top:5px;text-transform:uppercase}
nav{display:flex;gap:23px;align-items:center}
nav a{text-decoration:none;color:#333;font-size:15px;padding:3px 0}
nav a:hover,nav a.active{color:#536f5d;border-bottom:2px solid #9d784c}
.menu-btn{display:none;border:1px solid #aaa;background:#f8f7f3;padding:7px 10px;font-size:15px}
.hero{padding:42px 0 46px;background:#fcfbf8}
.hero-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:40px;align-items:center}
.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#6e755f;font-weight:700;margin-bottom:8px}
h1{font-size:42px;line-height:1.1;margin:0 0 18px;color:#303b33;letter-spacing:-.4px}
h2{font-size:29px;line-height:1.2;margin:0 0 17px;color:#354238}
h3{font-size:20px;margin:0 0 9px;color:#344039}
p{margin:0 0 16px}
.lead{font-size:18px;color:#55574f;max-width:620px}
.btn{display:inline-block;background:#526c59;color:#fff;text-decoration:none;padding:11px 17px;border:1px solid #465d4c;font-weight:700;border-radius:2px}
.btn:hover{background:#455d4c}
.btn.secondary{background:#efede7;color:#333;border-color:#bbb8ae}
.btn.secondary:hover{background:#e4e1d9}
.text-link{margin-left:15px;font-weight:700;color:#3d5947}
.hero-actions{margin-top:23px}
.hero-photo{width:100%;height:380px;object-fit:cover;border:1px solid #bdbab2;display:block;background:#eee;padding:4px}
.strip{background:#eceae3;border-top:1px solid #d9d5cc;border-bottom:1px solid #d9d5cc;padding:21px 0;color:#494b46}
.strip .wrap{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
.strip strong{display:block;color:#344038;margin-bottom:2px}
.section{padding:50px 0}
.section.compact{padding:38px 0}
.section.alt{background:#f4f2ec;border-top:1px solid #e2ded4;border-bottom:1px solid #e2ded4}
.section-head{max-width:700px;margin-bottom:28px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service{border:1px solid #d0cdc5;background:#fff;padding:0 0 17px}
.service img{width:100%;height:190px;object-fit:cover;display:block;border-bottom:1px solid #d0cdc5;background:#eee}
.service h3,.service p{margin-left:17px;margin-right:17px}
.service h3{margin-top:15px}
.more-link{margin-top:22px}.more-link a{color:#466050}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}
.plain-photo{width:100%;height:330px;object-fit:cover;border:1px solid #bdbab2;background:#eee;display:block;padding:4px}
.checks{padding-left:20px;margin:14px 0 22px}.checks li{margin-bottom:8px}
.callout{border:1px solid #d2cdc1;border-left:5px solid #75836d;background:#f7f5ef;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.callout h2{font-size:25px;margin-bottom:7px}.callout p{margin-bottom:0}.callout a:not(.btn){color:#3f5f49}
.contact-buttons{min-width:230px}.simple-email{display:block;margin-top:9px;color:#3f5f49;font-weight:700}
.page-title{padding:36px 0;background:#e8e5dc;border-bottom:1px solid #d6d0c4}
.page-title h1{font-size:35px;margin-bottom:8px}
.page-title p{color:#565850;margin-bottom:0}
.rows{display:grid;gap:34px}
.row{display:grid;grid-template-columns:375px 1fr;gap:31px;align-items:center;padding-bottom:34px;border-bottom:1px solid #ddd8cf}
.row:nth-child(even){grid-template-columns:1fr 375px}
.row:nth-child(even) .row-photo{order:2}
.row-photo{width:100%;height:245px;object-fit:cover;border:1px solid #bdbab2;background:#eee;display:block;padding:3px}
.info-box{border:1px solid #cbc7bd;padding:20px;background:#f6f4ee;margin-top:22px}
.info-box p{margin:8px 0 0}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px}
.contact-grid.no-form{align-items:start}
.contact-list{list-style:none;padding:0;margin:20px 0}.contact-list li{margin:0 0 13px;padding-bottom:13px;border-bottom:1px solid #ddd8cf}
.contact-list a{color:#41614b}
.contact-photo-panel{border:1px solid #ccc8bd;background:#f6f4ee}
.contact-photo-panel img{width:100%;height:300px;object-fit:cover;display:block;border-bottom:1px solid #ccc8bd}
.contact-note{padding:22px}.contact-note h2{font-size:25px}.email-line{font-size:14px;color:#5b5c57}.email-line a{font-weight:700;color:#41614b}
.small-contact{border-top:1px solid #d6d1c7;margin-top:22px;padding-top:15px;color:#555852}.small-contact a{color:#41614b}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery img{width:100%;height:215px;object-fit:cover;border:1px solid #bdbab2;background:#eee;display:block;padding:3px}
footer{margin-top:30px;background:#39483d;color:#fff;padding:28px 0 18px;font-size:14px;border-top:4px solid #b88b54}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1.2fr;gap:30px}
.footer-note{margin-top:7px;color:#e7e9e5}
footer p{margin-top:7px}footer a{color:#fff}
.copy{margin-top:21px;padding-top:14px;border-top:1px solid rgba(255,255,255,.25);color:#dedfdb;font-size:12px}
.copy-notice{position:fixed;right:20px;bottom:20px;z-index:1000;max-width:min(390px,calc(100% - 40px));padding:14px 18px;color:#fff;background:#39483d;border:1px solid #b88b54;border-radius:4px;box-shadow:0 14px 35px rgba(0,0,0,.25);font-weight:700;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}
.copy-notice.visible{opacity:1;transform:translateY(0)}
a[href^="mailto:"]{cursor:pointer}
@media(max-width:800px){
 .menu-btn{display:block}.nav{position:relative}nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;border:1px solid #ccc;padding:15px;z-index:10;flex-direction:column;align-items:flex-start;gap:13px}nav.open{display:flex}
 .hero-grid,.two-col,.contact-grid,.row,.row:nth-child(even){grid-template-columns:1fr}.row:nth-child(even) .row-photo{order:0}
 .service-grid,.gallery{grid-template-columns:1fr 1fr}.hero-photo{height:310px}h1{font-size:35px}.footer-grid{grid-template-columns:1fr 1fr}.topbar .wrap{align-items:flex-start}.callout{align-items:flex-start;flex-direction:column}.contact-buttons{min-width:0}
}
@media(max-width:520px){.service-grid,.gallery,.footer-grid{grid-template-columns:1fr}.hero{padding-top:28px}.hero-grid{gap:24px}.hero-photo{height:260px}.plain-photo{height:250px}.row-photo{height:225px}.contact-photo-panel img{height:230px}h1{font-size:31px}.page-title h1{font-size:29px}.topbar .wrap{display:block}.topbar .right{margin-top:3px}.text-link{display:block;margin:12px 0 0}.callout{padding:19px}}
