:root{--green:#143a32;--lime:#e7f36a;--cream:#f7f8f2;--ink:#1b342e;--muted:#64716a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #80a938;outline-offset:5px}.skip{position:absolute;top:-60px;left:20px;padding:12px;background:var(--lime);z-index:20}.skip:focus{top:10px}.topbar{background:var(--green);color:#e5ebe6;display:flex;justify-content:space-between;padding:11px 6%;font-size:11px;letter-spacing:.5px}.topbar a span{margin:0 12px;color:var(--lime)}header{height:102px;padding:0 6%;display:flex;align-items:center;gap:30px;border-bottom:1px solid #dee3d9}.logo{display:flex;gap:10px;align-items:center;font-family:Manrope,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1.5px;white-space:nowrap}.logo small{font-family:'DM Sans',sans-serif;display:block;font-size:8px;letter-spacing:2.3px;margin-top:3px}.logo-mark{font-size:46px;line-height:1;color:var(--green);transform:rotate(8deg)}.logo-dash{color:#879755}nav{display:flex;gap:29px;margin-left:auto;font-size:13px}nav a:hover{color:#728b27}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--lime);color:var(--green);padding:19px 24px;font-size:13px;font-weight:700;border:0;border-radius:4px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#d5e251;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button.small{background:var(--green);color:white;padding:14px 20px;margin-left:12px}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;padding:48px 6% 64px;gap:50px;max-width:1600px;margin:auto}.hero-copy{padding-top:24px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;background:#a0ae37;border-radius:50%}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(48px,5.4vw,79px);font-weight:800;letter-spacing:-4px;line-height:1.1;margin:27px 0 24px}h1>span{color:#7b8e43}p{line-height:1.75} .hero-copy>p{font-size:15px;color:var(--muted);max-width:390px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.text-link{font-size:12px;font-weight:600}.text-link span{margin-left:13px}.hero-note{margin-top:40px;display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);line-height:1.8}.hero-note strong{font-weight:500;color:var(--green)}.circle-check{display:grid;place-items:center;border:1px solid #ccd4bd;border-radius:50%;width:31px;height:31px;color:var(--green);font-size:14px}.hero-visual{min-height:548px;position:relative;border-radius:9px;isolation:isolate;margin-bottom:0}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover;border-radius:9px;filter:saturate(.7)}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0e2b243d 0%,transparent 30%,#0e2b24b5 100%);border-radius:9px}.visual-top{position:absolute;top:25px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;color:white;font-size:9px;letter-spacing:1.5px}.sun-icon{font-size:31px;color:var(--lime)}.visual-bottom{position:absolute;bottom:30px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;color:white;font-size:24px;line-height:1.5}.visual-bottom strong{font-weight:500}.round-arrow{border:1px solid #ffffff70;border-radius:50%;width:43px;height:43px;display:grid;place-items:center}.solar-tag{position:absolute;right:-17px;top:57%;display:flex;align-items:center;gap:14px;background:var(--lime);padding:22px 25px;border-radius:4px;box-shadow:0 8px 25px #0002}.solar-tag>span{font-size:35px}.solar-tag strong{display:block;font-size:25px;letter-spacing:-1px}.solar-tag small{font-size:8px;letter-spacing:1px;display:block;margin-top:5px}.service-strip{display:flex;align-items:center;justify-content:space-between;padding:24px 6%;border-top:1px solid #dbe2d3;border-bottom:1px solid #dbe2d3;gap:25px}.service-strip>span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.service-strip p{font-family:Manrope;font-weight:600;font-size:22px;margin:0;letter-spacing:-.7px}.service-strip b{font-size:18px;color:#93a84b;margin:0 24px}.section{padding:85px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:43px}h2{font-size:42px;line-height:1.2;letter-spacing:-1.8px;margin:17px 0 0;font-weight:700}.section-heading>p{max-width:320px;font-size:14px;color:var(--muted);margin-bottom:2px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{background:#fff;border:1px solid #e2e7db;position:relative;border-radius:5px;padding:29px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:#91a955}.service-icon{width:49px;height:49px;background:#f0f3e9;border-radius:4px;display:grid;place-items:center;font-size:33px}.service-icon svg{width:31px;height:31px;fill:none;stroke:var(--green);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-number{position:absolute;right:29px;top:29px;color:#8e9b88;font-size:10px}.service-card h3{font-size:19px;letter-spacing:-.5px;margin:24px 0 5px}.service-card p{font-size:13px;color:var(--muted);margin:0 0 25px;max-width:290px}.card-link{font-size:11px;font-weight:600;border-top:1px solid #e4e8df;padding-top:17px;margin-top:auto;display:flex;justify-content:space-between}.card-link b{font-size:17px}.solar{background:var(--green);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:62px;padding-bottom:62px}.solar-photo{position:relative;min-height:410px;border-radius:6px;overflow:hidden}.solar-photo img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.photo-label{position:absolute;bottom:20px;left:20px;background:var(--lime);padding:13px 16px;font-size:8px;color:var(--green);letter-spacing:1px}.solar-copy{padding:15px 0}.solar-copy .eyebrow{color:#b7c7a7}.solar h2{font-size:46px;line-height:1.25}.solar h2 span{color:var(--lime)}.solar-copy p{font-size:13px;max-width:420px;color:#c2cfc9;margin:22px 0}.power-range{display:flex;align-items:center;gap:30px;margin:28px 0 34px;max-width:420px}.power-range strong{font-family:Manrope;font-size:39px;font-weight:500;white-space:nowrap}.power-range strong small{font-size:16px}.power-range div>span{display:block;font-size:8px;letter-spacing:1px;margin-top:7px;color:#bdcbc3}.range-line{height:1px;background:#7a8f66;flex:1;position:relative}.range-line span{position:absolute;top:-15px;left:40%;background:var(--green);padding:0 7px;font-size:20px!important;color:var(--lime)!important}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;border-top:1px solid #dce2d7;padding-top:30px}.steps>div>span{font-size:12px;color:#839344}.steps h3{font-size:18px;letter-spacing:-.4px}.steps p{font-size:13px;color:var(--muted);max-width:290px}.contact{background:#eaf0df;display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:70px;padding-bottom:70px}.contact h2{font-size:46px}.contact h2 span{color:#7d9140}.contact-copy>p{max-width:340px;font-size:13px;color:var(--muted);margin-top:23px}.contact-line{display:flex;gap:14px;align-items:center;margin-top:30px}.contact-line>span{border:1px solid #bbc7a6;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:21px}.contact-line small{display:block;font-size:8px;letter-spacing:1.5px;margin-bottom:4px}.contact-line strong{font-family:Manrope;font-size:23px;letter-spacing:-.5px}.contact-email{display:block;font-size:13px;margin:18px 0 0 56px}.contact-email span{margin-left:15px}form{padding:30px;background:white;border-radius:6px}form h3{font-size:21px;letter-spacing:-.5px;margin:0}form>p{font-size:12px;color:var(--muted);margin:8px 0 23px}label{display:block;font-size:11px;font-weight:600;margin:17px 0 8px}input,select,textarea{width:100%;background:#f8faf5;border:1px solid #dfe5d7;color:var(--green);border-radius:3px;padding:12px;font-size:12px;min-height:42px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .button{width:100%;margin-top:20px;background:var(--green);color:white}form .button:hover{background:#275749}.email-option{border:0;background:none;display:block;width:100%;font-size:11px;color:var(--green);text-decoration:underline;padding:15px 0 7px;cursor:pointer}.form-note{display:block;text-align:center;color:#7a8478;font-size:9px;line-height:1.6}#form-status{margin:10px 0 0;font-size:11px}footer{background:var(--green);color:#e5ebe6;padding:45px 6% 22px;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:25px}footer .logo{font-size:23px}footer .logo-mark{color:var(--lime)}footer .logo small{font-size:7px}footer>p{font-size:12px;color:#b3c2b8}footer>a:last-of-type{font-size:11px}.footer-bottom{width:100%;display:flex;justify-content:space-between;border-top:1px solid #ffffff21;padding-top:22px;margin-top:18px;font-size:9px;color:#aabdb1}
@media(min-width:1600px){.topbar,header,.service-strip,footer{padding-left:calc((100vw - 1408px)/2);padding-right:calc((100vw - 1408px)/2)}}@media(max-width:1100px){nav{gap:16px}.hero{gap:30px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}h1{font-size:60px}.hero-visual{min-height:540px}.service-strip b{margin:0 15px}.solar,.contact{gap:35px}.solar h2,.contact h2{font-size:38px}.service-card{padding:23px}.service-card h3{font-size:17px}}@media(max-width:760px){.topbar{padding:10px 5%;font-size:9px}.topbar>a{font-size:0}.topbar a span{font-size:13px}header{height:82px;padding:0 5%;gap:14px}.logo{font-size:23px}.logo-mark{font-size:39px}header>.small{margin-left:auto;padding:12px;font-size:11px;gap:12px}.menu{display:block;border:0;background:none;color:var(--green);font-size:24px;padding:4px}nav{display:none;position:absolute;top:116px;left:0;right:0;z-index:10;background:var(--cream);padding:25px 5%;border-bottom:1px solid #dce2d7}nav.open{display:flex;flex-direction:column;gap:20px}.hero{grid-template-columns:1fr;padding:25px 5% 40px;gap:32px}.hero-copy{padding:10px 0 0}h1{font-size:clamp(48px,10vw,70px);letter-spacing:-3px}.hero-copy>p{max-width:450px}.hero-actions{flex-direction:row;align-items:center;gap:18px}.hero-actions .button{padding:17px;font-size:11px;gap:14px}.text-link{font-size:10px}.hero-note{margin-top:25px}.hero-visual{min-height:400px;margin-right:10px}.solar-tag{right:-10px;padding:17px;top:48%}.visual-bottom{font-size:22px}.service-strip{padding:20px 5%;align-items:flex-start;flex-direction:column;gap:10px}.service-strip p{font-size:19px}.service-strip b{margin:0 12px;font-size:12px}.section{padding:55px 5%}.section-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:28px}h2{font-size:34px}.section-heading>p{max-width:440px;font-size:13px}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card{padding:20px}.service-card h3{font-size:17px}.service-card p{font-size:12px}.service-number{top:22px;right:20px}.card-link{font-size:10px}.solar{grid-template-columns:1fr;gap:30px}.solar-photo{min-height:300px}.solar-copy{padding:0}.solar h2{font-size:38px}.steps{gap:20px}.steps h3{font-size:16px}.steps p{font-size:12px}.contact{grid-template-columns:1fr;gap:32px}.contact h2{font-size:39px}form{padding:25px}footer{padding:32px 5% 20px}footer>p{width:100%;order:2;margin:0}.footer-bottom{order:3;gap:15px;font-size:8px}.footer-bottom>span:last-child{display:none}}@media(max-width:420px){.hero-actions{flex-wrap:wrap}.service-grid{grid-template-columns:1fr}.service-card p{max-width:none}.steps{grid-template-columns:1fr;gap:15px}.steps>div{border-bottom:1px solid #dce2d7;padding-bottom:10px}.steps p{max-width:none}.service-strip b{margin:0 6px}.service-strip p{font-size:17px}.form-row{grid-template-columns:1fr;gap:0}.logo{font-size:20px}.logo small{font-size:7px}.logo-mark{font-size:33px}header>.small{font-size:10px;padding:11px}.solar-tag strong{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Service photography with a dark reading surface. */
.service-card{min-height:350px;background-color:var(--green);background-size:cover;background-position:center;color:#fff;border-color:#244d40;overflow:hidden;isolation:isolate;padding-top:28px}
.service-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,31,25,.28) 0%,rgba(9,31,25,.48) 27%,rgba(9,31,25,.9) 56%,rgba(9,31,25,.97) 100%);z-index:-1;transition:background .2s}
.service-card[data-service="Electrical projects and maintenance"]{background-image:url('assets/wiring.jpg')}
.service-card[data-service="CCTV installations"]{background-image:url('assets/cctv.jpg')}
.service-card[data-service="UPS and solar installation"]{background-image:url('assets/solar.jpg')}
.service-card[data-service="Single-phase and three-phase COCs"]{background-image:url('assets/coc.jpg')}
.service-card[data-service="Earthing commissioning and COC"]{background-image:url('assets/earthing.jpg')}
.service-card[data-service="Electric fencing"]{background-image:url('assets/fencing.jpg')}
.service-card .service-icon{background:var(--lime);color:var(--green);box-shadow:0 3px 15px #0002}
.service-card .service-number{color:white;background:#143a3280;padding:5px 7px;border-radius:3px}
.service-card h3{margin-top:92px;text-shadow:0 1px 6px #0005}
.service-card p{color:#e3ece6}
.service-card .card-link{color:var(--lime);border-top-color:#ffffff38}
.service-card:hover{border-color:#aabd51}
@media(max-width:760px){.service-card{min-height:350px}.service-card h3{margin-top:85px}}
@media(max-width:420px){.service-card{min-height:340px;background-position:center 40%}.service-card h3{margin-top:105px}}

.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center;gap:11px;padding:15px 20px;background:#167a45;color:#fff;border:1px solid #ffffff5c;border-radius:50px;box-shadow:0 5px 22px #082e2740;font-size:13px;font-weight:700;transition:background .2s,transform .2s}
.whatsapp-float svg{width:25px;height:25px;flex-shrink:0}
.whatsapp-float:hover{background:#116337;transform:translateY(-3px)}
.whatsapp-float:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
footer{padding-bottom:100px}
@media(max-width:760px){.whatsapp-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:14px 17px;font-size:12px}.whatsapp-float svg{width:24px;height:24px}footer{padding-bottom:100px}}

/* Customer supplied TIM-ELECT brand artwork. */
.brand-logo{display:block;flex-shrink:0;line-height:0;letter-spacing:normal}
.brand-logo img{display:block;width:132px;height:132px;object-fit:contain;border-radius:5px}
header{height:154px}
footer .brand-logo img{width:150px;height:150px}
@media(max-width:760px){header{height:124px}.brand-logo img{width:104px;height:104px}nav{top:158px}footer .brand-logo img{width:140px;height:140px}}
@media(max-width:420px){header{gap:12px}.brand-logo img{width:100px;height:100px}}

.service-card[data-service="Standby generator installation"]{background-image:url('assets/generator.jpg')}
.service-card[data-service="Lightning protection system installation"]{background-image:url('assets/lightning.jpg')}
.service-card[data-service="Fault finding and electrical contracting"]{background-image:url('assets/wiring.jpg')}
