:root{--green:#86BB43;--pale:#F7FAF2;--ink:#252D27;--muted:#677263;--line:#E5EBDF}
body{background:#FFFFFF}
.header{background:rgba(255,255,255,.96);border-bottom-color:#EDF1E8}
.hero{padding-block:96px 100px}
.hero-art{background:#F7FAF2;border:1px solid #EDF2E6;border-radius:12px;padding:72px 24px 80px}
.art-grid{opacity:.45}
.app-window{border-color:#E4EBDB;box-shadow:0 20px 45px -24px #38512636;transform:rotate(-1.25deg)}
.floating-tag{color:#6D805F}
.button{background:#456C2D;color:#FFFFFF;border-color:#456C2D}
.button:hover{background:#355523;color:#FFFFFF;border-color:#355523}
nav .button{background:white;color:#345527;border-color:#C8DBB3}
nav .button:hover{background:#F2F8EA;border-color:var(--green)}
.service-strip{background:white;border-color:#EBF0E5}
.service-strip .wrap{padding-block:25px;color:#68795C}
.section{padding-block:116px}
.services .section-intro{margin-bottom:54px}
.service-list{border-color:#E5EBDF}
details{border-color:#E5EBDF}
.service-tags span{background:#F7FAF2;color:#647857}
.approach{background:#FAFCF7;border-top:1px solid #F0F4EA;border-bottom:1px solid #F0F4EA}
.steps{gap:26px}
.steps article{padding:28px;background:white;border:1px solid #E7EDDF;border-radius:6px}
.steps h3{margin-top:36px}
.step-no{color:#87A270}
.about{background:white;color:var(--ink)}
.about .eyebrow{color:#6C7B61}
.about h2 em{color:#6D9F3E}
.about-copy .large{color:#354331}
.about-copy p{color:var(--muted)}
.about-note{border-top-color:#E1E9D8;color:#6E805F}
.about-note .dot{box-shadow:0 0 0 5px #F2F7EB}
.contact{border-top:1px solid #EDF2E6}
.enquiry{background:#FAFCF7;border-color:#E6EDDE;padding:34px;border-radius:7px}
.enquiry input,.enquiry select,.enquiry textarea{background:white;border-color:#DEE7D5}
.enquiry h3{margin-bottom:29px}
.footer{background:white;border-top:1px solid #E6EDDE}
.footer-top{padding-block:48px}
.footer-bottom{border-top-color:#E9EFE2;color:#7D8B74}
@media(max-width:1100px){.hero{padding-block:78px 84px}.section{padding-block:94px}.steps{gap:20px}.steps article{padding:24px}.enquiry{padding:28px}}
@media(max-width:800px){nav{background:white;border-bottom-color:#E5EBDF}.hero{padding-block:58px 65px;gap:50px}.hero-art{padding:70px 40px 76px}.section{padding-block:78px}.steps{grid-template-columns:1fr;gap:18px}.steps article{padding:26px}.steps h3{font-size:22px;margin-top:22px}.steps p{max-width:none;font-size:14px}.about-grid{gap:28px}.enquiry{padding:30px}.footer-top{padding-block:36px}}
@media(max-width:480px){.hero{padding-block:50px 58px}.hero-art{padding:64px 16px 70px;border-radius:9px}.section{padding-block:65px}.services .section-intro{margin-bottom:35px}.steps article{padding:24px}.enquiry{padding:26px 20px}.footer-top{padding-block:32px}}
/* Compact global navigation with generous page space below it. */
html{scroll-padding-top:76px}
.header{background:rgba(255,255,255,.94)}
.header .nav-wrap{min-height:44px;max-width:1120px;justify-content:center;gap:40px}
.header .brand{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center}
.header .brand-icon{display:block;width:18px;height:18px}
.header .brand-icon img{display:block;width:18px;height:18px}
.header nav{font-size:12px;font-weight:400;gap:40px}
.header nav>a:not(.button){padding-block:12px}
.header nav>a:not(.button):after{height:1px;bottom:12px}
.header nav .button{background:transparent;border:0;border-radius:0;color:#456C2D;padding:12px 0;font-size:12px;font-weight:500;gap:8px;line-height:1.65;transform:none}
.header nav .button:hover{background:transparent;color:#2D4D1C}
.header nav .button>span{font-size:16px}
@media(max-width:800px){
 html{scroll-padding-top:72px}
 .header .nav-wrap{min-height:52px;justify-content:space-between}
 .header .brand{width:44px}
 .header .menu-toggle{min-width:44px;min-height:44px;justify-content:center;align-items:center;padding:10px;gap:6px}
 .header .menu-toggle>span:not(.sr-only){width:20px;height:1.5px}
 .header nav{top:52px;padding:12px 24px 20px;gap:0;font-size:14px}
 .header nav>a:not(.button),.header nav .button{padding:13px 0;min-height:46px;font-size:14px}
 .header nav>a:not(.button):after{display:none}
}
