@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{--ink:#203b32;--paper:#f7f6f0;--lime:#dceba0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #7a9c34;outline-offset:5px}.top{padding:9px 5%;background:var(--ink);color:#fff;font-size:11px;letter-spacing:1.5px;display:flex;justify-content:space-between}header{display:flex;align-items:center;justify-content:space-between;padding:22px 5%;gap:20px}.brand{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:23px;letter-spacing:2px;line-height:1.15}.brand span{display:block;font-size:10px;letter-spacing:3.2px;margin-top:7px}nav{display:flex;align-items:center;gap:30px;font-size:14px}.button,.outline{display:inline-block;padding:16px 24px;background:var(--lime);color:var(--ink);font-size:14px;font-weight:700;border-radius:3px}.button:hover{background:#c9dd85;text-decoration:none}.small{padding:12px 18px;background:var(--ink);color:white}.hero{position:relative;min-height:720px;color:white;display:flex;align-items:center;background:#314b39}.hero>img,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,rgba(12,34,23,.86),rgba(12,34,23,.33) 65%,rgba(12,34,23,.1))}.hero-inner{position:relative;padding:60px 8% 100px;max-width:900px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.4px;margin:0 0 22px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500;line-height:1.12;margin:0}h1{font-size:clamp(52px,6.6vw,94px);letter-spacing:-4px}h1 em{color:var(--lime);font-weight:400;font-family:Georgia,serif}h2{font-size:clamp(36px,4vw,56px);letter-spacing:-2px}h3{font-size:23px;letter-spacing:-.6px}.hero-inner>p:not(.eyebrow){max-width:420px;font-size:17px;margin:26px 0 30px}.text-link{margin-left:25px;font-size:14px}.hero-foot{position:absolute;bottom:22px;left:5%;right:5%;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:18px;font-size:10px;letter-spacing:1.5px}.intro-bar{display:flex;justify-content:space-between;padding:27px 8%;font-size:13px;border-bottom:1px solid #d6dbcf}.section{padding:100px 8%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px;gap:40px}.section-head>p{max-width:355px;font-size:15px;color:#5e6a60;margin:0}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.services article{border-top:1px solid #aebba8;padding-top:24px}.services article>span{font-size:12px;color:#6c7b5d}.services h3{margin:30px 0 15px}.services p,.steps p{font-size:14px;color:#5e6a60}.work{background:#e9eddf}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px}.project{padding:0;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink);font:inherit}.project img{width:100%;aspect-ratio:1.15;object-fit:cover;display:block;transition:filter .2s}.project:hover img{filter:brightness(.87)}.project span{display:flex;justify-content:space-between;font-size:13px;padding-top:12px;gap:10px}.project:first-child{grid-column:span 2;grid-row:span 2}.project:first-child img{aspect-ratio:1.08}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.about>img{width:100%;height:100%;max-height:670px;object-fit:cover}.about>div{padding:85px 14%}.about p:not(.eyebrow){color:#c9d2c8;font-size:15px}.about .button{margin-top:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.steps span{font-family:Georgia,serif;font-size:44px;color:#879c66}.steps h3{margin-top:18px}.reviews{text-align:center;padding:75px 8%;background:#dce6ca}.reviews p{margin-bottom:26px}.outline{background:none;border:1px solid var(--ink);margin-left:12px}.contact{display:grid;grid-template-columns:1.15fr 1fr;gap:100px}.contact>div>p:not(.eyebrow){max-width:440px}.contact-label{font-size:10px;letter-spacing:2px;margin:22px 0 2px}.number{font-size:29px;line-height:1.2}.email-card{align-self:center;padding:40px;background:#e9eddf}.email-card h3{font-size:28px}.email-card p{font-size:15px}.email-card .fine{font-size:12px;color:#5e6a60;margin-top:20px}.area{border-top:1px solid #bbc7af;margin-top:35px;padding-top:30px}.area .eyebrow{font-size:10px;margin-bottom:10px}footer{background:var(--ink);color:var(--paper);padding:40px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer>a:last-child{font-size:12px}dialog{max-width:95vw;max-height:95vh;border:0;background:#f7f6f0;padding:16px}dialog::backdrop{background:#000d}dialog img{display:block;max-width:85vw;max-height:75vh;object-fit:contain}dialog button{position:absolute;right:20px;top:20px;font-size:30px;background:white;border:0;cursor:pointer;width:44px;height:44px}dialog p{margin:12px 0 0}.skip{position:fixed;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:0}.mobile-call{display:none}@media(max-width:800px){nav{gap:15px}nav>a:not(.button){display:none}.section{padding:65px 6%}.hero{min-height:650px}.hero-inner{padding:60px 6% 100px}h1{letter-spacing:-2px}.hero-foot{font-size:8px}.intro-bar{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:11px}.section-head{display:block}.section-head>p{margin-top:25px}.services{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr;gap:24px 14px}.project:first-child{grid-column:span 2;grid-row:auto}.project:first-child img{aspect-ratio:1.5}.about{grid-template-columns:1fr}.about>img{max-height:450px}.about>div{padding:60px 6%}.steps{gap:25px}.contact{grid-template-columns:1fr;gap:35px}footer{padding-bottom:90px;flex-wrap:wrap}.mobile-call{position:fixed;bottom:0;display:flex;width:100%;z-index:4;box-shadow:0 -2px 10px #0002}.mobile-call a{width:50%;text-align:center;padding:14px;background:var(--ink);color:white;font-size:14px}.mobile-call a:last-child{background:var(--lime);color:var(--ink)}}@media(max-width:480px){.top{font-size:8px}.brand{font-size:18px}.brand span{font-size:8px;letter-spacing:2px}.small{font-size:11px;padding:10px}.text-link{display:block;margin:22px 0 0}.services{gap:20px}.services h3{font-size:20px}.services p{font-size:13px}.steps{grid-template-columns:1fr;gap:18px}.steps article{border-top:1px solid #bcc5b1;padding-top:15px}.steps h3{margin-top:5px}.outline{margin:12px 0 0}.hero-foot span:last-child{display:none}.email-card{padding:26px}.project span{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Contemporary redesign */
:root{--ink:#163f35;--paper:#fafaf5;--lime:#d7fa76}body{background:var(--paper)}header{padding:24px 5%;background:#fff}header .button{border-radius:40px}.hero{margin:0 18px;border-radius:20px;overflow:hidden;min-height:760px}.hero-inner{padding-left:7%}.hero-inner .button{border-radius:40px;padding:19px 28px;box-shadow:0 5px 30px #0002}.hero h1{font-weight:600}.hero .shade{background:linear-gradient(90deg,#092e24e8,#092e2470 62%,#092e2410)}.intro-bar{border:0;padding:30px 8%;font-weight:600}.section-head h2 em,.areas h2 em,#quote-title em{font-family:Georgia,serif;font-weight:400}.trust-strip{display:flex;align-items:center;justify-content:center;gap:38px;padding:22px 6%;background:#edf3e5;flex-wrap:wrap}.trust-strip>span{font-size:11px;text-transform:uppercase;letter-spacing:1.4px}.trust-strip strong{font-family:Manrope,Arial,sans-serif;font-size:24px;letter-spacing:-1px}.trust-strip>a:last-child{font-size:13px;font-weight:700}.services article{border:1px solid #dce3d3;border-radius:18px;padding:28px;background:white;transition:transform .2s,box-shadow .2s}.services article:hover{transform:translateY(-5px);box-shadow:0 15px 35px #163f3510}.services article>span{display:inline-block;border-radius:50px;background:#ecf4dd;padding:5px 12px}.project img{border-radius:14px}.work{background:#eff3e8}.project:first-child img{border-radius:20px}.button,.outline{border-radius:40px}.email-card{border-radius:22px;background:#eaf3dd;padding:44px}.about .button{box-shadow:0 10px 30px #0002}.areas{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.areas>div>p:not(.eyebrow){max-width:460px}.areas .button{margin-top:15px}.area-panel{position:relative;background:var(--ink);color:white;padding:48px;border-radius:24px;overflow:hidden}.area-panel:after{content:'';position:absolute;width:240px;height:240px;border:1px solid #ffffff18;border-radius:50%;right:-70px;top:-80px;pointer-events:none}.area-panel p:last-child{font-size:14px;color:#c5d5ca}.area-panel h3{font-size:29px}.area-tags{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}.area-tags span{border:1px solid #ffffff40;padding:7px 14px;border-radius:50px;font-size:12px}.area-dot{display:block;background:var(--lime);height:12px;width:12px;border-radius:50%;margin-bottom:25px;box-shadow:0 0 0 8px #d7fa7615}.reviews{background:#d7fa76}.whatsapp-float{position:fixed;right:25px;bottom:25px;z-index:7;display:flex;align-items:center;gap:10px;background:#147d46;color:white;padding:14px 20px;border-radius:50px;box-shadow:0 6px 25px #0003;font-size:14px;font-weight:700}.whatsapp-float:hover{background:#0f6337;text-decoration:none}.whatsapp-float svg{width:30px;height:30px}.quote-tab{position:fixed;right:0;top:48%;z-index:5;background:var(--lime);color:var(--ink);border:0;border-radius:12px 0 0 12px;padding:18px 12px;writing-mode:vertical-rl;font:700 13px 'DM Sans',Arial;cursor:pointer;box-shadow:0 4px 20px #0002}#quote-modal{padding:0;max-width:850px;width:92vw;border-radius:24px;overflow:auto;color:var(--ink)}#quote-modal[open]{display:grid;grid-template-columns:.8fr 1fr}#quote-modal::backdrop{background:#071e17bb;backdrop-filter:blur(5px)}#quote-modal .quote-close{z-index:2;right:14px;top:14px;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 2px 10px #0001}.quote-photo{position:relative;min-height:530px}.quote-photo img{width:100%;height:100%;max-height:none;max-width:none;object-fit:cover}.quote-photo span{position:absolute;bottom:25px;left:25px;right:25px;color:white;font-size:11px;letter-spacing:2px;text-shadow:0 1px 8px black}.quote-content{padding:60px 36px 35px}.quote-content .eyebrow{font-size:9px;letter-spacing:1.5px}.quote-content h2{font-size:44px}.quote-content>p{font-size:14px;margin:20px 0}.quote-whatsapp{display:block;text-align:center;background:#147d46;color:white;margin-top:25px}.quote-whatsapp:hover{background:#0f6337}.quote-secondary{display:block;text-align:center;font-size:13px;margin-top:16px}.quote-content .fine{font-size:11px;color:#667367;margin-top:25px}.mobile-call button{border:0;width:50%;background:var(--lime);color:var(--ink);font:600 14px 'DM Sans',Arial;cursor:pointer}@media(max-width:1000px){.services{grid-template-columns:1fr 1fr}.areas{gap:35px}.trust-strip{gap:22px}}@media(max-width:800px){.hero{margin:0 10px;min-height:680px;border-radius:16px}.hero-inner{padding-left:6%}.areas{grid-template-columns:1fr;gap:30px}.area-panel{padding:30px}.trust-strip{gap:15px 25px;padding:22px}.trust-strip>span{width:100%;text-align:center}.trust-strip strong{font-size:22px}.whatsapp-float{bottom:72px;right:14px;padding:12px}.whatsapp-float span{display:none}.quote-tab{display:none}.services article{padding:22px}.quote-photo{min-height:470px}.quote-content{padding:58px 25px 25px}#quote-modal{max-height:88vh}.email-card{padding:30px}}@media(max-width:560px){#quote-modal[open]{display:block}.quote-photo{height:140px;min-height:0}.quote-photo img{object-position:center 60%}.quote-photo span{bottom:14px;font-size:9px}.quote-content{padding:28px}.quote-content h2{font-size:36px}.quote-content .eyebrow{margin-bottom:16px}.quote-content>p{margin:15px 0}.services{grid-template-columns:1fr}.services h3{margin-top:20px}.hero h1{font-size:56px}.hero-foot{left:6%;right:6%}.trust-strip>a:last-child{width:100%;text-align:center}}

#quote-form{scroll-margin-top:30px}form{margin-top:25px}form label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}form input,form select,form textarea{display:block;width:100%;min-width:0;margin-top:7px;padding:13px 14px;border:1px solid #b5c6a8;border-radius:8px;background:#fff;color:var(--ink);font:400 16px 'DM Sans',Arial;line-height:1.4}form input:focus,form select:focus,form textarea:focus{outline:2px solid #397654;outline-offset:2px}form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-submit{border:0;cursor:pointer;width:100%;font:700 15px 'DM Sans',Arial;padding:18px}.fine a{text-decoration:underline}.quote-form-link{display:block;text-align:center;margin-top:12px}.contact{gap:65px;grid-template-columns:1fr 1.2fr}@media(max-width:800px){.contact{grid-template-columns:1fr;gap:30px}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}}


.gt-enquiry-card{max-width:820px;margin:auto;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.gt-enquiry-card .head{display:block;margin-bottom:18px}.gt-enquiry-card .head h2{font-size:clamp(28px,4vw,42px)}.gt-enquiry-card .head p{margin:6px 0 0}
.gt-enquiry-form{display:grid;gap:16px}.gt-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gt-enquiry-form label,.gt-fieldset legend{display:grid;gap:6px;font-weight:800;color:#eaffea}
.gt-enquiry-form small{font-weight:400;color:var(--muted);font-size:14px}
.gt-enquiry-form input[type=text],.gt-enquiry-form input[type=email],.gt-enquiry-form input[type=tel],.gt-enquiry-form select,.gt-enquiry-form textarea{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:13px 14px;background:rgba(255,255,255,.94);color:#06140b;font:inherit;font-size:16px}
.gt-enquiry-form input[type=file]{width:100%;border:1px dashed rgba(255,255,255,.35);border-radius:14px;padding:14px;background:rgba(255,255,255,.05);color:#eaffea;font:inherit;font-weight:400}
.gt-enquiry-form textarea{min-height:140px;resize:vertical}
.gt-enquiry-form input:focus,.gt-enquiry-form select:focus,.gt-enquiry-form textarea:focus{outline:3px solid rgba(53,211,95,.55);outline-offset:1px}
.gt-enquiry-form .gt-invalid{border-color:#ff6b6b!important;box-shadow:0 0 0 2px rgba(255,107,107,.45)}
.gt-fieldset{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.gt-fieldset legend{padding:0 6px}.gt-enquiry-form .gt-choice{display:flex;align-items:center;gap:8px;font-weight:700}
.gt-choice input{width:18px;height:18px;accent-color:var(--green)}
.gt-req{color:var(--gold)}.gt-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gt-form-error{margin:0;background:rgba(255,107,107,.14);border:1px solid rgba(255,107,107,.5);color:#ffe1e1;border-radius:14px;padding:12px 14px;font-weight:700}
.gt-enquiry-form button[disabled]{opacity:.65;cursor:wait}.gt-enquiry-form .btn{border:0;cursor:pointer;font:inherit;font-weight:900;font-size:17px;padding:15px 18px}
.gt-small{margin:0;color:var(--muted);font-size:14px;text-align:center}
.gt-thanks{text-align:center;outline:none}.gt-thanks h2{font-size:clamp(28px,4vw,44px);margin:14px 0 8px}.gt-thanks .actions{justify-content:center}
@media(max-width:640px){.gt-row{grid-template-columns:1fr}.gt-enquiry-card{padding:20px 16px}.gt-thanks .actions{flex-direction:column}}
.sticky{transition:opacity .2s ease,transform .2s ease,visibility .2s}
.sticky.gt-sticky-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(140%)}

#quote-form{background:#163f35;color:#fff}#quote-form>p{color:#dce9de}#quote-form h3{color:#fff}.gt-enquiry-form{margin-top:25px}.gt-enquiry-form label{margin-bottom:0}.gt-enquiry-form .gt-hp{display:none}.gt-enquiry-form input,.gt-enquiry-form select,.gt-enquiry-form textarea{margin-top:0}.gt-enquiry-form .gt-choice input{width:auto;margin:0;min-width:0}.gt-enquiry-form .gt-fieldset{border:1px solid #ffffff35;border-radius:14px;padding:18px;margin:0;min-width:0}.gt-enquiry-form .gt-choice{margin:8px 0}.gt-enquiry-form small,.gt-enquiry-form .gt-small{color:#cfdfd2}.gt-enquiry-form .gt-small{font-size:12px}.gt-enquiry-form .btn{border-radius:40px;background:var(--lime);color:var(--ink)}.gt-form-error{color:#ffbdbd;font-size:14px}.gt-enquiry-form [hidden]{display:none!important}.gt-enquiry-form input[type=file]{font-size:13px}.gt-enquiry-form a{text-decoration:underline}
