
:root{--green:#71854a;--green2:#8ea662;--ink:#20231f;--sand:#d3c8b8;--cream:#f5f2ec;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}a{text-decoration:none;color:inherit}
.site-header{height:88px;background:rgba(248,246,241,.96);backdrop-filter:blur(12px);display:flex;align-items:center;padding:0 5vw;gap:30px;position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(32,35,31,.08)}
.brand{margin-right:auto;display:flex;align-items:center}.brand img{height:62px;max-width:250px;object-fit:contain;transform:scale(2.6);transform-origin:left center;will-change:transform}.brand-fallback{display:none;align-items:center;gap:10px}.brand-fallback.visible{display:flex}.footer-logo{display:block;height:140px;max-width:560px;object-fit:contain}
nav{display:flex;gap:28px;font-weight:600;font-size:14px}nav a:hover{color:var(--green)}.header-call{font-weight:700;font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;padding:16px 24px;border:0;font-weight:700;letter-spacing:.02em;cursor:pointer}.btn:hover{background:#5f713d}.btn-small{padding:12px 18px;font-size:13px}.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.5)}.menu{display:none;background:none;border:0;font-size:24px}
.hero{height:780px;position:relative;background:url('assets/40797137-e7b4-47ce-a230-01924e3ff153.png') center/cover;display:flex;align-items:center;padding:8vw;color:white;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,23,19,.92) 0%,rgba(18,23,19,.68) 48%,rgba(18,23,19,.18) 78%)}
.hero-content{position:relative;z-index:2;max-width:760px}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700;color:#c8d9a4;margin-bottom:24px}.eyebrow.dark{color:var(--green)}.quote .eyebrow{color:#000}
h1,h2,h3{font-family:Manrope,sans-serif;margin:0}h1{font-size:clamp(54px,7vw,104px);line-height:.95;letter-spacing:-.055em}h1 em{font-style:normal;color:#becf93}.hero-content>p{font-size:20px;line-height:1.6;max-width:630px;margin:30px 0}.hero-actions{display:flex;gap:12px}.trust-row{display:flex;gap:24px;margin-top:30px;font-size:13px;color:#e4e8df}
.hero-card{position:absolute;right:5vw;bottom:0;width:360px;padding:40px;background:rgba(104,124,70,0.72);z-index:3}.card-kicker{font-size:10px;letter-spacing:.18em}.hero-card h2{font-size:43px;line-height:1.02;margin:18px 0}.hero-card p{line-height:1.65;color:#edf1e7}
.section{padding:110px 6vw}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:12vw;align-items:end}.intro h2,.projects h2,.about h2,.quote h2{font-size:clamp(38px,5vw,68px);letter-spacing:-.04em;line-height:1.05}.intro p{font-size:18px;line-height:1.8;color:#60645e}
.services-grid{padding-top:20px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-card{min-height:440px;position:relative;background-image:var(--bg);background-size:cover;background-position:center;overflow:hidden}.service-card.large{grid-column:span 2;min-height:560px}.service-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,24,20,.9),rgba(20,24,20,.05) 70%)}.service-copy{position:absolute;left:32px;right:32px;bottom:30px;color:white}.service-copy span{font-size:12px;color:#cad9a5}.service-copy h3{font-size:32px;margin:8px 0}.service-copy p{max-width:470px;color:#e4e8df}.service-copy a{font-size:13px;font-weight:700;color:#d4e1b2}
.dark-section{background:#20231f;color:white}.projects-head{display:grid;gap:20px}.projects-head p{line-height:1.8;color:#b9beb7;margin:0;max-width:100%}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:55px}.project-grid figure{margin:0;background:#2a2e29}.project-grid img{width:100%;height:420px;object-fit:cover;display:block}.project-grid .empty-slot{display:grid;align-items:start;justify-items:start;padding:0;min-height:420px;background:transparent}.project-grid .empty-slot .projects-head{display:grid;gap:18px;padding:24px 0;width:100%}.project-grid .empty-slot h2{font-family:Manrope,sans-serif;margin:0;font-weight:800;font-size:clamp(42px,4vw,60px);letter-spacing:-.04em;line-height:1.05;color:white;max-width:15ch}.project-grid .empty-slot .eyebrow{color:#c8d9a4;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:6px}.project-grid .empty-slot p{color:#d8d9d1;line-height:1.9;margin:0;max-width:28rem;font-size:15px}.project-grid figcaption{display:flex;justify-content:space-between;padding:20px}.project-grid figcaption span{color:#aeb5aa;font-size:13px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-image{position:relative}.about-image img{width:100%;height:690px;object-fit:cover}.experience-badge{position:absolute;bottom:28px;right:-35px;background:var(--green);color:white;padding:24px;max-width:270px}.experience-badge b,.experience-badge span{display:block}.experience-badge span{font-size:13px;margin-top:5px;color:#edf1e6}.about-copy>p{line-height:1.8;color:#60645e;font-size:17px}
.quote{background:var(--sand);display:grid;grid-template-columns:1fr 1fr;gap:9vw}.quote>div>p{line-height:1.8;max-width:580px}.contact-links{display:flex;flex-direction:column;gap:8px;margin-top:28px;font-weight:700}.quote form{background:#f7f5f0;padding:35px}.quote label{display:block;font-size:12px;font-weight:700;margin-bottom:17px}.quote input,.quote select,.quote textarea{width:100%;margin-top:7px;border:1px solid #cfcbc1;background:white;padding:14px;font:inherit}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
footer{background:#171a17;color:white;padding:26px 6vw 12px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4vw;align-items:start}
footer p,footer span{color:#b8bfb7}
footer>div{display:flex;flex-direction:column;gap:8px}
footer .footer-brand{gap:10px;align-items:flex-start}
footer .footer-logo{height:80px;max-width:240px;object-fit:contain}
footer b{margin-bottom:6px;font-size:13px;letter-spacing:.01em}
footer a{color:#f4f6f1;text-decoration:none;display:block;line-height:1.25;font-size:13px}
footer a:hover{color:#dbe1d3}
footer span{display:block;line-height:1.25;font-size:13px}
footer p{max-width:220px;line-height:1.4;font-size:13px}
footer .footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:12px;color:#8f958e;font-size:12px}
.footer-bottom .abn{color:#9aa097;font-size:12px;font-weight:400;opacity:0.95;display:inline-block;margin-left:10px}

.modal-overlay{position:fixed;inset:0;display:grid;place-items:center;background:rgba(6,10,14,0.5);padding:2rem;z-index:50}
.modal-overlay[hidden]{display:none!important}
.modal-content{width:min(660px,82vw);max-height:calc(100vh - 48px);overflow:visible;background:rgba(255,255,255,0.6);backdrop-filter:blur(10px) saturate(120%);border:1px solid rgba(15,23,21,0.06);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,0.18);padding:0.9rem;position:relative;color:#071011}
.modal-content::-webkit-scrollbar{display:none}
.modal-content{scrollbar-width:none}
.modal-close{position:absolute;top:1rem;right:1rem;border:none;background:transparent;color:#111;font-size:1.75rem;cursor:pointer}
.modal-content h2{margin-bottom:0.65rem}
.modal-content p{margin:0 0 1.1rem;color:rgba(12,20,18,0.8)}
.fence-types{margin:0.4rem 0 0;padding:0;list-style:none}
.fence-types li{margin-bottom:0.6rem;padding:0.35rem 0;border-bottom:1px solid rgba(255,255,255,0.06);background:transparent}
.fence-type{display:flex;align-items:center;gap:0.6rem;padding:0;border:none;transition:background .25s ease,border .25s ease,transform .25s ease}
.fence-type:hover{background:rgba(118,138,80,0.08);border-radius:14px}
.fence-type.active{background:rgba(118,138,80,0.16);border:1px solid rgba(118,138,80,0.28);transform:scale(1.01)}
.fence-type img{width:110px;height:auto;object-fit:cover;border-radius:10px;box-shadow:0 10px 22px rgba(0,0,0,0.12);flex-shrink:0}
.fence-type div{flex:1;min-width:0}
.fence-type strong{display:block;font-size:1rem;line-height:1.15;margin-bottom:0.15rem}
.fence-type p{margin:0;color:rgba(12,18,16,0.86);line-height:1.35;font-size:0.92rem;text-align:justify}
.fence-types li:last-child{border-bottom:none}
.fence-card{cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}

@media(max-width:950px){
	.modal-content{width:min(92vw,680px);padding:1.25rem}
	.fence-type img{width:180px}
	.fence-type div{max-width:380px}
}

@media(max-width:600px){
	.modal-content{width:94vw;padding:1rem}
	.fence-type{flex-direction:column;align-items:center}
	.fence-type img{width:80%;max-width:420px}
	.fence-type div{text-align:center}
}
.fence-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,0.12)}
@media(max-width:950px){nav,.header-call,.site-header>.btn{display:none}.menu{display:block}.hero{height:720px;padding:10vw 6vw}.hero-card{display:none}.intro,.projects-head,.about,.quote{grid-template-columns:1fr;gap:50px}.project-grid{grid-template-columns:1fr}.project-grid img{height:360px}.about-image img{height:520px}.experience-badge{right:18px}.services-grid{grid-template-columns:1fr}.service-card.large{grid-column:span 1}.trust-row{flex-wrap:wrap}}
@media(max-width:600px){.site-header{height:74px}.section{padding:78px 22px}.hero{height:660px}.hero-content>p{font-size:17px}.hero-actions{flex-direction:column;align-items:flex-start}.trust-row{gap:10px 18px}.services-grid{padding-top:0}.service-card,.service-card.large{min-height:390px}.project-grid img{height:320px}.two{grid-template-columns:1fr}footer{grid-template-columns:1fr}}

/* WhatsApp floating button */
.whatsapp-float{position:fixed;right:20px;bottom:20px;width:56px;height:56px;background:#25D366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(39,174,96,0.18);z-index:9999;transition:transform .18s ease,box-shadow .18s ease}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 12px 22px rgba(39,174,96,0.2)}
.whatsapp-float svg{width:28px;height:28px;display:block}
@media(max-width:600px){.whatsapp-float{right:16px;bottom:16px;width:50px;height:50px}}
