:root{--ink:#1e2923;--muted:#68716a;--paper:#f6f5ef;--white:#fffefa;--green:#344d3e;--green-dark:#263c30;--clay:#c8774e;--line:#d9ddd5;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--display:Manrope,'Arial',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit}a:focus-visible{outline:3px solid var(--clay);outline-offset:4px}.skip-link{position:absolute;left:-9999px;top:1rem;background:#fff;padding:.7rem 1rem;z-index:10}.skip-link:focus{left:1rem}.site-header{height:88px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--white)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:42px;height:42px;background:var(--green);color:#fff;display:grid;place-items:center;font:700 14px var(--display);letter-spacing:.06em}.brand strong,.brand small{display:block}.brand strong{font:700 15px var(--display);letter-spacing:.01em}.brand small{font-size:11px;color:var(--muted);letter-spacing:.06em}.site-header nav{display:flex;align-items:center;gap:34px}.site-header nav a{text-decoration:none;font-size:14px}.site-header nav a:hover,.site-footer a:hover,.text-link:hover{color:var(--clay)}.site-header nav .nav-contact{background:var(--green);color:white;padding:11px 22px}.hero{min-height:590px;display:grid;grid-template-columns:1.03fr .97fr;background:var(--white);padding:70px max(8vw,32px) 75px;gap:5vw;align-items:center}.hero-copy{max-width:560px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--clay);margin:0 0 18px}.hero h1,.page-hero h1{font:700 clamp(46px,6vw,78px)/1.04 var(--display);letter-spacing:-.06em;margin:0 0 25px}.hero h1 em{font:italic 400 1em var(--serif);letter-spacing:-.04em;color:var(--green)}.intro{font-size:18px;line-height:1.7;color:#555f57;max-width:510px}.actions{display:flex;align-items:center;gap:27px;margin-top:34px}.button{background:var(--green);color:white;text-decoration:none;padding:14px 23px;font-size:14px;font-weight:700}.button:hover{background:var(--green-dark)}.text-link{display:inline-flex;gap:12px;color:var(--green);font-weight:700;font-size:14px;text-decoration:none;border-bottom:1px solid #aab5aa;padding-bottom:4px}.hero-art{height:410px;position:relative;overflow:hidden;background:#e9e8dc}.hero-art:before{content:'';position:absolute;left:0;right:0;bottom:0;height:37%;background:#d2d8cb}.sun{position:absolute;width:128px;height:128px;background:#d6aa72;border-radius:50%;right:18%;top:15%}.roof{position:absolute;z-index:1;background:var(--green)}.roof-back{width:74%;height:12px;top:31%;left:13%;transform:rotate(-27deg);transform-origin:left}.roof-front{width:70%;height:12px;top:31%;left:50%;transform:rotate(27deg);transform-origin:left}.beam{position:absolute;z-index:2;width:10px;background:#8c6849;transform-origin:top}.beam-one{height:195px;left:24%;top:33%}.beam-two{height:195px;left:76%;top:33%}.beam-three{height:157px;left:38%;top:28%;transform:rotate(60deg)}.beam-four{height:157px;left:63%;top:28%;transform:rotate(-60deg)}.art-caption{position:absolute;bottom:23px;right:25px;font:italic 17px/1.3 var(--serif);color:var(--green);text-align:right}.section{padding:86px max(12vw,32px)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.intro-grid h2,.contact-panel h2,.service-card h2{font:600 clamp(28px,3.5vw,42px)/1.2 var(--display);letter-spacing:-.04em;margin:0}.intro-grid p:not(.eyebrow){color:var(--muted);margin:0 0 21px}.service-band{background:#e9eae2;padding:54px max(8vw,32px);display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.service-card{padding:18px 32px 20px;border-right:1px solid #d0d6cb}.service-card:last-child{border:0}.service-card>span{font-size:11px;letter-spacing:.12em;color:var(--clay);font-weight:700}.service-card h2{font-size:25px;margin:18px 0 12px}.service-card p{color:var(--muted);font-size:14px;margin:0}.contact-panel{display:flex;justify-content:space-between;align-items:center;padding:72px max(12vw,32px);background:var(--green);color:white}.contact-panel .eyebrow{color:#e1aa84}.contact-panel h2{max-width:510px}.contact-details{display:flex;flex-direction:column;gap:5px;font-size:14px}.contact-details a{color:#fff;text-decoration:none}.contact-details a:hover{text-decoration:underline}.contact-details p{color:#d2d9d1;font-size:13px;margin:13px 0 0}.site-footer{min-height:88px;padding:22px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#202b24;color:#d4d9d3;font-size:12px}.site-footer a{text-decoration:none}.footer-brand{font:700 14px var(--display);color:white}.site-footer div{display:flex;gap:22px}.page-hero{padding:75px max(12vw,32px) 60px;background:var(--white)}.page-hero h1{font-size:clamp(42px,5vw,64px);max-width:850px}.page-hero .intro{max-width:700px}.content-wrap{max-width:940px;margin:auto;padding:56px 32px 90px}.content-wrap h2{font:600 25px var(--display);letter-spacing:-.03em;margin:38px 0 10px}.content-wrap h2:first-child{margin-top:0}.content-wrap p,.content-wrap li{color:#566057}.content-wrap a{color:var(--green)}.content-wrap ul{padding-left:1.3rem}.notice{background:#fff2dc;border-left:4px solid #c8774e;padding:16px 20px;margin:22px 0;color:#543f32}.contact-inline{display:flex;gap:24px;flex-wrap:wrap}.contact-inline a{font-weight:700}.legal-draft{border:1px solid #d9a366;background:#fff8ec;padding:16px 20px;margin:0 0 28px;color:#593d25}.site-footer span{color:#b3bdb4}
@media(max-width:760px){.site-header{height:auto;min-height:76px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:12px}.site-header nav{gap:16px}.site-header nav a{font-size:12px}.site-header nav .nav-contact{padding:8px 12px}.hero{grid-template-columns:1fr;padding:55px 26px;gap:38px}.hero-art{height:300px}.hero h1{font-size:54px}.intro-grid{grid-template-columns:1fr;gap:18px;padding:60px 28px}.service-band{grid-template-columns:1fr;padding:30px 25px}.service-card{border-right:0;border-bottom:1px solid #d0d6cb;padding:22px 5px}.service-card:last-child{border:0}.contact-panel{display:block;padding:55px 28px}.contact-details{margin-top:28px}.site-footer{flex-wrap:wrap}.site-footer span{order:3;flex-basis:100%}.page-hero{padding:55px 28px 40px}.content-wrap{padding:40px 28px 65px}}

