:root{--brand:#9b173d;--brand-dark:#641027;--brand-soft:#fff1f4;--ink:#182326;--muted:#68777c;--paper:#fffaf8;--white:#ffffff;--line:#ead7dc;--safety:#f5b71b;--teal:#007f7a;--green:#0f7a4b;--shadow:0 18px 50px rgba(24,35,38,0.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.siteHeader{position:fixed;top:0;left:0;right:0;z-index:10;justify-content:space-between;gap:24px;padding:14px clamp(18px,4vw,56px);background:rgba(255,250,248,.94);border-bottom:1px solid rgba(155,23,61,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand,.siteHeader{display:flex;align-items:center}.brand{width:min(178px,43vw)}.brand img{width:100%;height:auto}.navLinks{display:flex;align-items:center;gap:clamp(14px,3vw,34px);color:var(--ink);font-size:.94rem;font-weight:700}.navLinks a{border-bottom:2px solid transparent;padding-block:8px}.navLinks a:hover{color:var(--brand);border-color:var(--safety)}.hero{position:relative;min-height:84svh;display:grid;align-items:center;overflow:hidden;padding:132px clamp(20px,6vw,72px) 76px;background:linear-gradient(90deg,rgba(24,35,38,.88),rgba(24,35,38,.56) 42%,rgba(24,35,38,.16)),url(/images/hero-electrical-service.png) 100% /cover no-repeat;color:var(--white)}.heroOverlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(100,16,39,.18),rgba(0,127,122,.16));pointer-events:none}.heroContent{position:relative;z-index:1;width:min(740px,100%)}.eyebrow{margin:0 0 14px;color:var(--safety);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.eyebrow.dark{color:var(--brand)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,8vw,6.8rem);line-height:.95}h1,h2{margin-bottom:18px;font-family:Georgia,Times New Roman,serif;letter-spacing:0}h2{font-size:clamp(2rem,4vw,4rem);line-height:1.04}h3{margin-bottom:10px;font-size:1.05rem;line-height:1.2;letter-spacing:0}.heroLead{max-width:650px;margin-bottom:30px;color:rgba(255,255,255,.9);font-size:clamp(1.08rem,2vw,1.35rem)}.heroActions{display:flex;flex-wrap:wrap;gap:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid transparent;border-radius:6px;padding:0 20px;font-weight:800;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.button:hover{transform:translateY(-1px)}.button.primary,.formButton{background:var(--safety);color:#221800}.button.secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);color:var(--white)}.statsBand{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--brand-dark);color:var(--white)}.statsBand div{min-height:128px;display:grid;align-content:center;grid-gap:6px;gap:6px;padding:26px clamp(20px,4vw,48px);background:var(--brand)}.statsBand strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,3rem);line-height:1}.statsBand span{color:rgba(255,255,255,.82)}.section{padding:clamp(68px,9vw,118px) clamp(20px,6vw,72px)}.introSection{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.7fr);grid-gap:clamp(32px,6vw,80px);gap:clamp(32px,6vw,80px);align-items:end}.introCopy{margin-bottom:16px;color:var(--muted);font-size:1.08rem}.sectionHeading{max-width:820px;margin-bottom:clamp(28px,5vw,52px)}.serviceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.serviceCard{min-height:268px;display:grid;align-content:start;grid-gap:16px;gap:16px;border:1px solid var(--line);border-radius:8px;padding:26px;background:var(--white);box-shadow:var(--shadow)}.serviceCard span{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:900}.processGrid p,.proofGrid p,.serviceCard p{margin-bottom:0;color:var(--muted)}.splitSection{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1fr);grid-gap:clamp(28px,6vw,72px);gap:clamp(28px,6vw,72px);align-items:center;padding:clamp(68px,9vw,118px) clamp(20px,6vw,72px);background:var(--ink);color:var(--white)}.splitContent p:not(.eyebrow){color:rgba(255,255,255,.76)}.splitVisual{min-height:420px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(155,23,61,.26),rgba(0,127,122,.24)),#233235}.panelDiagram{width:min(340px,84%);aspect-ratio:.78;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px;padding:28px;border:10px solid rgba(255,255,255,.18);background:#f7f3ed;box-shadow:0 24px 70px rgba(0,0,0,.24)}.panelDiagram span{border-radius:5px;background:linear-gradient(180deg,#2d3a3f 0 24%,#ffffff 24% 100%);border:1px solid #cfd7d9;position:relative}.panelDiagram span:after{content:"";position:absolute;left:18%;right:18%;bottom:14%;height:6px;border-radius:999px;background:var(--safety)}.productList{display:grid;grid-gap:14px;gap:14px;margin:28px 0 0;padding:0;list-style:none}.productList li{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.84);font-weight:700}.productList li:before{content:"";width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:var(--safety);box-shadow:0 0 0 5px rgba(245,183,27,.16)}.processGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:18px;gap:18px}.processGrid article{min-height:180px;padding:24px;border-top:4px solid var(--teal);background:var(--white);box-shadow:var(--shadow)}.processGrid span{display:block;margin-bottom:34px;color:var(--brand);font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:700}.proofSection{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr);grid-gap:clamp(28px,5vw,64px);gap:clamp(28px,5vw,64px);align-items:start;background:#f1f7f5}.proofGrid{display:grid;grid-gap:16px;gap:16px}.proofGrid article{padding:24px;border-left:4px solid var(--brand);background:var(--white)}.contactSection{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);grid-gap:clamp(28px,6vw,72px);gap:clamp(28px,6vw,72px);padding:clamp(68px,9vw,118px) clamp(20px,6vw,72px);background:var(--brand-dark);color:var(--white)}.contactIntro p:not(.eyebrow){color:rgba(255,255,255,.8)}.contactDetails{display:grid;grid-gap:10px;gap:10px;margin-top:30px;font-weight:800}.contactDetails a:hover{color:var(--safety)}.contactForm{display:grid;grid-gap:16px;gap:16px;padding:clamp(20px,4vw,32px);border-radius:8px;background:var(--white);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.22)}.formRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}label{display:grid;grid-gap:8px;gap:8px;font-size:.88rem;font-weight:800}input,select,textarea{width:100%;border:1px solid #d8c9cd;border-radius:6px;padding:13px 14px;background:#ffffff;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(245,183,27,.34);border-color:var(--brand)}textarea{resize:vertical}.formButton{width:100%;margin-top:4px;font-size:1rem}.formButton:disabled{cursor:wait;opacity:.7}.formStatus{margin-bottom:0;padding:12px 14px;border-radius:6px;font-weight:700}.formStatus.success{background:rgba(15,122,75,.12);color:var(--green)}.formStatus.error{background:rgba(155,23,61,.1);color:var(--brand)}.formStatus.loading{background:rgba(0,127,122,.1);color:var(--teal)}.footer{display:grid;grid-template-columns:180px minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:center;padding:28px clamp(20px,6vw,72px);background:var(--paper);border-top:1px solid var(--line);color:var(--muted)}.footer p,.footer span{margin:0;font-size:.92rem}@media (max-width:960px){.contactSection,.footer,.introSection,.processGrid,.proofSection,.serviceGrid,.splitSection,.statsBand{grid-template-columns:1fr}.splitVisual{min-height:320px}.footer{align-items:start}}@media (max-width:680px){.siteHeader{position:absolute;align-items:flex-start;padding:12px 16px}.brand{width:138px}.navLinks{gap:10px;font-size:.84rem}.hero{min-height:82svh;padding:124px 18px 56px;background-position:62%}.button,.heroActions{width:100%}.formRow{grid-template-columns:1fr}.serviceCard{min-height:auto}}.adminPage{min-height:100svh;display:grid;grid-template-columns:260px minmax(0,1fr);background:#f6f8f8}.adminSidebar{position:-webkit-sticky;position:sticky;top:0;height:100svh;display:grid;grid-template-rows:auto 1fr auto;grid-gap:24px;gap:24px;padding:22px;background:var(--ink);color:var(--white)}.adminBrand{display:block;padding:8px;border-radius:8px;background:var(--paper)}.adminBrand img{width:100%}.adminNav{display:grid;align-content:start;grid-gap:8px;gap:8px}.adminLogout,.adminNav a{border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:12px 14px;background:rgba(255,255,255,.06);color:var(--white);font:inherit;font-weight:800;text-align:left;cursor:pointer}.adminLogout:hover,.adminNav a:hover{border-color:var(--safety);background:rgba(245,183,27,.12)}.adminMain{padding:clamp(24px,5vw,56px)}.adminHeader{max-width:900px;margin-bottom:28px}.adminHeader h1,.adminLoginCard h1{margin-bottom:10px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1}.adminHeader p:not(.eyebrow),.adminLoginCard p:not(.eyebrow),.adminPanel p{color:var(--muted)}.adminLoginCard,.adminPanel{margin-bottom:24px;border:1px solid #dfe8e8;border-radius:8px;padding:clamp(20px,3vw,30px);background:var(--white);box-shadow:var(--shadow)}.adminPanel h2{margin:24px 0 14px;color:var(--ink);font-size:1.12rem}.adminPanel h2:first-child{margin-top:0}.adminPanelHeader{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.adminForm{display:grid;grid-gap:16px;gap:16px}.adminInlineForm,.adminThreeCol,.adminTwoCol{display:grid;grid-gap:14px;gap:14px;align-items:end}.adminTwoCol{grid-template-columns:repeat(2,minmax(0,1fr))}.adminThreeCol{grid-template-columns:repeat(3,minmax(0,1fr))}.adminInlineForm{grid-template-columns:96px minmax(180px,1fr) minmax(140px,auto) 120px}.adminCheck,.adminInlineForm textarea{min-height:48px}.adminCheck{display:flex;align-items:center;gap:8px}.adminCheck input{width:18px;height:18px}.adminList{display:grid;grid-gap:16px;gap:16px}.adminListItem{display:grid;grid-gap:10px;gap:10px;border:1px solid #dfe8e8;border-radius:8px;padding:16px;background:#fbfdfd}.adminDanger{min-height:42px;border:1px solid rgba(155,23,61,.28);border-radius:6px;padding:0 16px;background:rgba(155,23,61,.08);color:var(--brand);font:inherit;font-weight:800;cursor:pointer}.adminDanger:hover{background:rgba(155,23,61,.14)}.adminAlert{margin:0 0 18px;border-radius:6px;padding:14px 16px;font-weight:800}.adminAlert.success{background:rgba(15,122,75,.12);color:var(--green)}.adminAlert.warning{background:rgba(245,183,27,.18);color:#6b4b00}.adminAlert.error{background:rgba(155,23,61,.1);color:var(--brand)}.adminStatGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.adminStatGrid article{display:grid;grid-gap:8px;gap:8px;border:1px solid #dfe8e8;border-radius:8px;padding:24px;background:var(--white);box-shadow:var(--shadow)}.adminStatGrid strong{color:var(--brand);font-family:Georgia,Times New Roman,serif;font-size:2.6rem;line-height:1}.adminStatGrid span{color:var(--muted);font-weight:800}.adminLoginPage{min-height:100svh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(155,23,61,.12),rgba(0,127,122,.12)),var(--paper)}.adminLoginCard{width:min(460px,100%);display:grid;grid-gap:20px;gap:20px}.adminLoginCard img{width:210px}.adminEnquiry,.adminEnquiryList{display:grid;grid-gap:16px;gap:16px}.adminEnquiry{border:1px solid #dfe8e8;border-radius:8px;padding:20px;background:#fbfdfd}.adminEnquiryEdit{display:grid;grid-gap:16px;gap:16px}.adminEnquiryFooter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.92rem;font-weight:800}.adminEnquiryActions{width:min(220px,100%)}.adminDeleteForm{display:flex;justify-content:flex-end}.adminEmpty{margin:0}@media (max-width:980px){.adminPage{grid-template-columns:1fr}.adminSidebar{position:static;height:auto;grid-template-rows:auto}.adminBrand{width:180px}.adminNav{grid-template-columns:repeat(2,minmax(0,1fr))}.adminEnquiry,.adminInlineForm,.adminStatGrid,.adminThreeCol,.adminTwoCol{grid-template-columns:1fr}}