/* Electricool Tanzania — site stylesheet */
:root{
  --bg:#f3f6f9; --surface:#fff; --ink:#0b1b2b; --muted:#53657a; --line:#d9e1e9;
  --accent:#1b4dff; --accent-ink:#fff; --volt:#ffb800; --deep:#0b1b2b; --deep-2:#14293d; --deep-ink:#eaf0f7; --deep-muted:#9db0c4;
  --display:"Space Grotesk",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
  --r:18px; color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#08121d; --surface:#0f1d2c; --ink:#e8eef6; --muted:#9aadc1; --line:#1f3247;
  --accent:#6b8cff; --accent-ink:#06101c; --deep:#0f1d2c; --deep-2:#162a3e; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#08121d; --surface:#0f1d2c; --ink:#e8eef6; --muted:#9aadc1; --line:#1f3247;
  --accent:#6b8cff; --accent-ink:#06101c; --deep:#0f1d2c; --deep-2:#162a3e; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);line-height:1.1;margin:0;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:1160px;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px))}
.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:18px;color:var(--muted);max-width:56ch}
section{padding-block:88px}
section.tight{padding-block:0 88px}
@media(max-width:700px){section{padding-block:60px}section.tight{padding-bottom:60px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:10px;background:var(--accent);color:var(--accent-ink);font:600 15px/1.2 var(--body);text-decoration:none;border:1px solid var(--accent);cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px var(--accent)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink);box-shadow:none}
.btn.volt{background:var(--volt);border-color:var(--volt);color:#251a00}
.btn.sm{padding:9px 16px;font-size:14px}
.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* header */
.top{background:var(--deep);color:var(--deep-muted);font-size:13px}
.top .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:8px;flex-wrap:wrap}
.top a{text-decoration:none;color:var(--deep-ink)}
.top .tel{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:700px){.top .loc{display:none}}
header.site{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 20px var(--display);letter-spacing:-.02em}
.brand i{width:30px;height:30px;border-radius:8px;background:var(--deep);display:grid;place-items:center}
.brand i svg{width:17px;height:17px;fill:var(--volt)}
.brand small{display:block;font:500 10px/1 var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-top:3px}
nav.main{display:flex;gap:6px;align-items:center}
nav.main a{text-decoration:none;font-weight:500;font-size:14.5px;color:var(--muted);padding:8px 12px;border-radius:8px}
nav.main a:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}
nav.main a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--volt);border-radius:0}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;color:var(--ink);place-items:center}
.menu-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.nav .btn{white-space:nowrap}
@media(max-width:900px){
  .menu-btn{display:grid}.nav .btn{display:none}
  nav.main{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-left,0px)) 18px;display:none}
  header.site.open nav.main{display:flex}
  nav.main a{padding:14px 4px;border-bottom:1px solid var(--line);border-radius:0}
  nav.main a[aria-current="page"]{box-shadow:none;color:var(--accent)}
  nav.main .m-cta{display:inline-flex;margin-top:14px;padding:13px 22px;border:0;border-radius:10px;background:var(--accent);color:var(--accent-ink);justify-content:center;font-weight:600}
}
@media(min-width:901px){nav.main .m-cta{display:none}}

/* hero (home) */
.hero{padding-block:72px 64px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(40px,6vw,70px);margin-block:18px 22px}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--volt) 62% 92%,transparent 92%)}
.hero .lead{margin-bottom:30px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.facts{display:flex;gap:34px;margin-top:44px;flex-wrap:wrap}
.facts div{font-size:13px;color:var(--muted)}
.facts b{display:block;font:700 24px var(--display);color:var(--ink);letter-spacing:-.02em}
.photo{margin:0;position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;background:var(--deep);min-width:0}
.photo img{width:100%;height:100%;object-fit:cover;object-position:42% 50%}
.photo figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:14px 18px;border-radius:14px;background:color-mix(in srgb,var(--deep) 86%,transparent);backdrop-filter:blur(8px);font-size:13px;color:var(--deep-muted)}
.photo figcaption b{display:block;font:600 16px var(--display);color:var(--deep-ink);margin-bottom:2px}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-block:44px 40px;gap:36px}.photo{aspect-ratio:4/3}}

/* inner page hero */
.page-hero{background:var(--deep);color:var(--deep-ink);padding-block:64px 56px;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;border:1px solid #223a52;box-shadow:0 0 0 60px #0f2236,0 0 0 61px #1b3249;opacity:.7;pointer-events:none}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .eyebrow{color:var(--volt)}
.page-hero h1{font-size:clamp(34px,5vw,56px);margin-block:14px 16px;max-width:20ch}
.page-hero p{color:var(--deep-muted);max-width:60ch;font-size:18px}
.crumbs{font-size:13px;color:var(--deep-muted);margin-bottom:22px}
.crumbs a{text-decoration:none;color:var(--deep-ink)}

/* trust strip */
.strip{background:var(--surface);border-block:1px solid var(--line)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:12px 38px;justify-content:space-between;padding-block:18px}
.strip span{font-size:13.5px;font-weight:500;color:var(--muted);display:flex;gap:9px;align-items:center}
.strip span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--volt)}

/* section head */
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.head h2{font-size:clamp(30px,4vw,46px);max-width:20ch;margin-top:12px}
.head p{max-width:46ch;color:var(--muted)}

/* cards */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.card h3{font-size:22px}.card p{color:var(--muted);font-size:15.5px}
.card .more{margin-top:auto;padding-top:10px;font-weight:600;font-size:14.5px;text-decoration:none;color:var(--accent);display:inline-flex;gap:6px;align-items:center}
.card .more:hover{text-decoration:underline}
a.card{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
a.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.ico{width:46px;height:46px;border-radius:12px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center}
.ico svg{width:23px;height:23px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card.dark{background:var(--deep);border-color:var(--deep);color:var(--deep-ink)}
.card.dark p{color:var(--deep-muted)}.card.dark .ico{background:var(--deep-2);border-color:#27405a}.card.dark .ico svg{stroke:var(--volt)}
.card.dark .more{color:var(--volt)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.pills li{font-size:13px;padding:5px 12px;border:1px solid var(--line);border-radius:99px;color:var(--muted)}
.card.dark .pills li,.band .pills li{border-color:#2a4057;color:var(--deep-muted)}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.top-align{align-items:start}
.split h2{font-size:clamp(28px,3.6vw,42px);margin-block:12px 18px}
.split p+p{margin-top:14px}
.split p{color:var(--muted)}
.frame{border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:var(--deep);margin:0}
.frame img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:32px}}
.ticks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.ticks li{display:flex;gap:12px;color:var(--ink);font-size:15.5px}
.ticks li:before{content:"";flex:none;width:20px;height:20px;border-radius:50%;margin-top:3px;background:var(--volt) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l3 3 5-6' fill='none' stroke='%23251a00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px}

/* service detail blocks */
.svc{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;padding-block:56px;border-top:1px solid var(--line)}
.svc:first-of-type{border-top:0;padding-top:0}
.svc h2{font-size:clamp(26px,3vw,36px);margin-block:14px 12px}
.svc .meta{font:500 12px var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.svc .tag{display:inline-block;margin-top:14px;font:500 12px var(--mono);background:var(--volt);color:#251a00;padding:4px 10px;border-radius:6px}
.svc p{color:var(--muted)}
.svc p+p,.svc p+.pills,.svc p+.ticks{margin-top:16px}
.svc h3{font-size:17px;margin:26px 0 12px}
@media(max-width:860px){.svc{grid-template-columns:1fr;gap:20px}}

/* gallery */
.gallery{columns:3;column-gap:18px}
.gallery figure{margin:0 0 18px;break-inside:avoid;border-radius:var(--r);overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.gallery img{width:100%;height:auto}
.gallery figcaption{padding:16px 18px;font-size:14.5px;color:var(--muted)}
.gallery figcaption b{display:block;font:600 17px var(--display);color:var(--ink);margin-bottom:3px;letter-spacing:-.01em}
@media(max-width:960px){.gallery{columns:2}}@media(max-width:640px){.gallery{columns:1}}

/* spec tables */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;min-width:0}
.panel h3{font-size:20px;margin-bottom:16px}
.rows{display:flex;flex-direction:column}
.row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid var(--line);font-size:14.5px;align-items:baseline}
.row:first-child{border-top:0;padding-top:0}
.row>span{color:var(--muted)}
.row b{font:500 13px var(--mono);text-align:right;overflow-wrap:anywhere}
.chip{font:500 11px var(--mono);padding:3px 8px;border-radius:6px;background:var(--volt);color:#251a00;white-space:nowrap;margin-left:6px}

/* band */
.band{background:var(--deep);color:var(--deep-ink);border-radius:26px;padding:60px;display:grid;grid-template-columns:1.2fr 1fr;gap:56px}
.band h2{font-size:clamp(26px,3.4vw,40px);margin-top:14px}
.band .eyebrow{color:var(--volt)}
.band p{color:var(--deep-muted)}
.band .pills{margin-top:22px}
@media(max-width:860px){.band{grid-template-columns:1fr;padding:34px 24px;gap:26px}}

/* cta */
.cta{background:var(--accent);color:var(--accent-ink);border-radius:26px;padding:56px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta h2{font-size:clamp(26px,3.4vw,40px);max-width:18ch}
.cta p{margin-top:10px;opacity:.88;max-width:48ch}
.cta .btn{background:#fff;color:#0b1b2b;border-color:#fff}
.cta .btn.ghost{background:transparent;color:inherit;border-color:rgba(255,255,255,.55)}
@media(max-width:700px){.cta{padding:34px 24px}}

/* contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
.big{font:600 clamp(21px,2.6vw,26px) var(--display);display:block;text-decoration:none;letter-spacing:-.02em;padding-block:6px}
.big:hover{color:var(--accent)}
.info+.info{margin-top:26px}
.info .eyebrow{display:block;margin-bottom:6px}
form{display:grid;gap:16px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.two{grid-template-columns:1fr}}
label{display:grid;gap:7px;font-size:13.5px;font-weight:500;color:var(--muted)}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:13px 14px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.status{font-size:14.5px;min-height:22px;color:var(--accent)}
.status.err{color:#d6293e}

/* footer */
footer.site{background:var(--deep);color:var(--deep-muted);padding-block:64px 28px;font-size:14.5px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
footer h4{color:var(--deep-ink);font:600 14px var(--display);letter-spacing:.02em;margin-bottom:14px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
footer a{text-decoration:none}footer a:hover{color:var(--deep-ink)}
footer .brand{color:var(--deep-ink);margin-bottom:14px}
footer .brand i{background:var(--deep-2)}
.legal{margin-top:48px;padding-top:22px;border-top:1px solid #213a52;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}

/* home slider */
.slider{position:relative;background:var(--deep);color:#fff;padding:0;overflow:hidden}
.slides{position:relative;height:clamp(520px,78vh,700px)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s .8s}
.slide.is-active{opacity:1;visibility:visible;transition:opacity .8s ease}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);transform:scale(1.06);transition:transform 7s ease-out}
.slide.is-active img{transform:scale(1)}
.slide:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,16,26,.9) 0%,rgba(7,16,26,.72) 38%,rgba(7,16,26,.18) 75%),linear-gradient(0deg,rgba(7,16,26,.75),transparent 40%)}
.slide .copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;padding-bottom:70px}
.slide .eyebrow{color:var(--volt)}
.slide h1,.slide h2{font-size:clamp(36px,5.6vw,66px);max-width:17ch;color:#fff}
.slide p{max-width:52ch;font-size:18px;color:#d3deea}
.slide .copy>*{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.slide.is-active .copy>*{opacity:1;transform:none}
.slide.is-active .copy>:nth-child(2){transition-delay:.12s}.slide.is-active .copy>:nth-child(3){transition-delay:.22s}.slide.is-active .copy>:nth-child(4){transition-delay:.32s}
.btn.ghost-light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.4)}
.btn.ghost-light:hover{border-color:#fff;box-shadow:none}
.controls{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:center;gap:20px;padding-block:22px;margin-inline:auto}
.bars{display:flex;gap:10px;flex:1;max-width:560px}
.bar{flex:1;height:30px;background:none;border:0;padding:0;cursor:pointer;display:flex;align-items:center;position:relative}
.bar i{display:block;width:100%;height:4px;border-radius:4px;background:rgba(255,255,255,.28);position:relative;overflow:hidden}
.bar i:after{content:"";position:absolute;inset:0;background:var(--volt);transform:scaleX(0);transform-origin:left}
.bar.is-done i:after{transform:scaleX(1)}
.bar.is-active i:after{animation:fill var(--dur,6500ms) linear forwards}
.slider.paused .bar.is-active i:after,.slider.static .bar.is-active i:after{animation-play-state:paused}
.slider.static .bar.is-active i:after{animation:none;transform:scaleX(1)}
@keyframes fill{to{transform:scaleX(1)}}
.arrows{display:flex;gap:8px;margin-left:auto}
.arrows button{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px)}
.arrows button:hover{background:rgba(255,255,255,.22)}
.arrows svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.arrows .i-play{display:none;fill:currentColor}.slider.paused .i-play,.slider.static .i-play{display:block}.slider.paused .i-pause,.slider.static .i-pause{display:none}
.slider :focus-visible{outline-color:var(--volt)}
@media(max-width:700px){
  .slides{height:clamp(560px,88vh,680px)}
  .slide:before{background:linear-gradient(0deg,rgba(7,16,26,.92) 0%,rgba(7,16,26,.7) 55%,rgba(7,16,26,.35) 100%)}
  .slide p{font-size:16px}.slide .copy{justify-content:flex-end;padding-bottom:96px}
  .arrows .prev,.arrows .next{display:none}
}
@media(prefers-reduced-motion:reduce){.slide,.slide.is-active,.slide img,.slide .copy>*{transition:none!important;transform:none!important}}

/* contact form extras */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{padding:12px 16px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--ink);margin-bottom:16px;font-size:14.5px}
.notice.err{background:color-mix(in srgb,#d6293e 14%,transparent)}
.btn:disabled{opacity:.65;cursor:progress;transform:none;box-shadow:none}

/* arrow icon inside "Learn more" links (fixes oversized black triangle) */
.more svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.more{transition:gap .15s}

/* services carousel */
.car-ctl{display:flex;gap:8px;align-items:center}
.car-ctl button{width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.car-ctl button:hover{border-color:var(--ink)}
.car-ctl svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.car-ctl .i-play{display:none;fill:currentColor}
.car-ctl.paused .i-play{display:block}.car-ctl.paused .i-pause{display:none}
.svc-carousel{margin-inline:calc(-1 * max(20px,env(safe-area-inset-left,0px)));}
.track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:6px max(20px,env(safe-area-inset-left,0px)) 14px;scroll-padding-inline:max(20px,env(safe-area-inset-left,0px))}
.track::-webkit-scrollbar{display:none}
.scard{flex:0 0 calc((100% - 36px - 2*max(20px,env(safe-area-inset-left,0px)))/3);scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s,border-color .2s}
.scard:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 40px -22px rgba(11,27,43,.5)}
.scard .pic{position:relative;aspect-ratio:4/3;background:var(--deep);overflow:hidden}
.scard .pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.scard:hover .pic img{transform:scale(1.05)}
.scard .pic svg:not(.chip2 svg){width:100%;height:100%;display:block}
.chip2{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:99px;background:rgba(7,16,26,.72);backdrop-filter:blur(6px);color:#fff;font:600 12.5px var(--body)}
.chip2 svg{width:15px;height:15px;stroke:var(--volt);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.scard .body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.scard h3{font-size:22px}
.scard p{color:var(--muted);font-size:15.5px}
.scard .more{margin-top:auto;padding-top:8px;font-weight:600;font-size:14.5px;color:var(--accent);display:inline-flex;align-items:center;gap:6px}
.scard:hover .more{gap:10px}
@media(max-width:960px){.scard{flex-basis:calc((100% - 18px - 2*max(20px,env(safe-area-inset-left,0px)))/2)}}
@media(max-width:640px){.scard{flex-basis:82%}.car-ctl .prev,.car-ctl .next{display:none}}
@media(prefers-reduced-motion:reduce){.track{scroll-behavior:auto}.scard,.scard .pic img{transition:none}}

/* real Electricool logo: dark lettering, so it always sits on a white tile (works in both themes) */
.brand i.logo-tile,footer .brand i.logo-tile{width:48px;height:48px;border-radius:12px;background:#fff;padding:4px;display:grid;place-items:center;box-shadow:0 0 0 1px rgba(11,27,43,.12)}
.brand i.logo-tile img{width:100%;height:100%;object-fit:contain}
.brand{gap:12px}
.brand i.logo-tile,footer .brand i.logo-tile{width:56px;height:56px;padding:3px;border-radius:13px}
.nav{height:76px}
@media(max-width:900px){.brand i.logo-tile{width:50px;height:50px}.nav{height:70px}}

/* client logos strip */
.logos{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 0;overflow:hidden;display:flex;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-track{display:flex;flex:none;align-items:center;gap:56px;padding:0 28px;margin:0;list-style:none;min-width:100%;justify-content:space-around;animation:logos 38s linear infinite}
.logos:hover .logo-track,.logos:focus-within .logo-track{animation-play-state:paused}
.logo-track li{flex:none;display:grid;place-items:center}
.logo-track img{height:68px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .25s,opacity .25s}
.logo-track li:hover img{filter:none;opacity:1}
@keyframes logos{to{transform:translateX(-100%)}}
@media(prefers-reduced-motion:reduce){
  .logos{flex-wrap:wrap;-webkit-mask-image:none;mask-image:none;padding:26px}
  .logo-track{animation:none;flex-wrap:wrap;justify-content:center;gap:28px 44px;padding:0}
  .logo-track.dup{display:none}
}
@media(max-width:640px){.logo-track{gap:36px}.logo-track img{height:54px}}
.logo-track img{filter:grayscale(1) contrast(1.15);opacity:.88}

/* photo pair inside a service block */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.pair figure{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--deep)}
.pair img{width:100%;height:100%;object-fit:cover}
@media(max-width:480px){.pair{grid-template-columns:1fr}}

/* ============ Brand colours, taken from the Electricool logo ============
   blue  #0078c0 (lettering)   red #d81818 (bolt)   green #78c030 (bar)   black #181818 (ring)
   Blue is the action colour, red the highlight, green the small positive accents. */
:root{
  --accent:#0078c0; --accent-ink:#fff;
  --red:#d71920; --green:#7fc241; --sky:#38b2f0;
  --volt:var(--red);                 /* older rules use --volt for "highlight"; it is now the logo red */
  --deep:#0a1a29; --deep-2:#132a3f;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--accent:#38b2f0;--accent-ink:#04131f;--red:#e5262d;--deep:#0d1d2d;--deep-2:#16304a}}
:root[data-theme="dark"]{--accent:#38b2f0;--accent-ink:#04131f;--red:#e5262d;--deep:#0d1d2d;--deep-2:#16304a}

/* highlights on light or dark: logo red */
.btn.volt{background:var(--red);border-color:var(--red);color:#fff}
.btn.volt:hover{box-shadow:0 8px 20px -10px var(--red)}
.svc .tag,.chip{background:var(--red);color:#fff}

/* small text and icons on dark panels: green and sky (red is too dim there) */
.page-hero .eyebrow,.band .eyebrow,.slide .eyebrow{color:var(--green)}
.card.dark .ico svg,.chip2 svg{stroke:var(--sky)}
.card.dark .more{color:var(--sky)}
.slider :focus-visible{outline-color:var(--sky)}

/* green positives */
.strip span:before{background:var(--green)}
.ticks li:before{background-color:var(--green)}

/* the logo's three colours as a thin line under the top bar */
.top{border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--red) 0 33.3%,#0090d8 33.3% 66.6%,var(--green) 66.6% 100%) 1}

/* white panel behind client logos and the solar band stay neutral; headings keep ink colour */

/* gallery lightbox */
.gallery a.zoom{display:block;position:relative;cursor:zoom-in}
.gallery a.zoom:after{content:"";position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:50%;background:rgba(7,16,26,.7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-4.2-4.2M11 8v6M8 11h6'/%3E%3C/svg%3E") center/20px no-repeat;opacity:0;transform:scale(.85);transition:opacity .2s,transform .2s}
.gallery a.zoom:hover:after,.gallery a.zoom:focus-visible:after{opacity:1;transform:none}
@media(hover:none){.gallery a.zoom:after{opacity:1;transform:none}}
html:has(dialog.lb[open]){overflow:hidden}
dialog.lb{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:transparent;color:#fff;overflow:hidden}
dialog.lb::backdrop{background:rgba(5,12,20,.93)}
dialog.lb[open]{display:grid;grid-template-rows:1fr auto;animation:lbin .2s ease}
@keyframes lbin{from{opacity:0}to{opacity:1}}
.lb-stage{display:grid;place-items:center;min-height:0;padding:max(56px,env(safe-area-inset-top,0px)) max(64px,env(safe-area-inset-right,0px)) 8px max(64px,env(safe-area-inset-left,0px))}
.lb-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;background:#0a1a29}
.lb-bar{padding:12px max(20px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));text-align:center;max-width:760px;margin:0 auto;width:100%}
.lb-bar b{display:block;font:600 18px var(--display);letter-spacing:-.01em}
.lb-bar span{display:block;color:#b7c7d8;font-size:14.5px;margin-top:2px}
.lb-bar small{display:block;margin-top:8px;font:500 12px var(--mono);letter-spacing:.08em;color:#8ea3b8}
.lb-btn{position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px)}
.lb-btn:hover{background:rgba(255,255,255,.24)}
.lb-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lb-close{top:max(14px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px))}
.lb-prev{left:max(12px,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}
.lb-next{right:max(12px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}
dialog.lb :focus-visible{outline:3px solid var(--sky);outline-offset:3px}
@media(max-width:700px){.lb-stage{padding:64px 12px 8px}.lb-prev,.lb-next{top:auto;bottom:max(86px,env(safe-area-inset-bottom,0px));transform:none}.lb-prev{left:14px}.lb-next{right:14px}}
@media(prefers-reduced-motion:reduce){dialog.lb[open]{animation:none}.gallery a.zoom:after{transition:none}}
.lb-stage{overflow:hidden}
.lb-stage img{max-height:calc(100dvh - 200px)}
@media(max-width:700px){.lb-stage img{max-height:calc(100dvh - 250px)}}

/* clients strip: logos in their true colours, full strength */
.logo-track img,.logo-track li:hover img{filter:none;opacity:1}

/* headings in Poppins */
:root{--display:"Poppins","Inter",system-ui,sans-serif}
h1,h2,h3,h4{letter-spacing:-.015em}
.slide h1,.slide h2{letter-spacing:-.025em;line-height:1.12}

/* service picker + detail panels */
.svc-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:40px;scroll-margin-top:92px}
.svc-tile{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s;min-width:0}
.svc-tile:hover{border-color:var(--accent);transform:translateY(-2px)}
.svc-tile .ico{flex:none}
.svc-tile .t{display:grid;gap:3px;min-width:0}
.svc-tile b{font:600 16px/1.25 var(--display)}
.svc-tile small{color:var(--muted);font-size:13px;line-height:1.4}
.svc-tile.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset;background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.svc-tile.is-active .ico{background:var(--accent);border-color:var(--accent)}
.svc-tile.is-active .ico svg{stroke:var(--accent-ink)}
@media(max-width:1000px){.svc-picker{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svc-picker{grid-template-columns:1fr}}
.dpanel{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.dpanel[hidden]{display:none}
.dpanel+.dpanel{margin-top:64px;padding-top:64px;border-top:1px solid var(--line)}
.enhanced .dpanel+.dpanel{margin:0;padding:0;border:0}
.dp-media{display:grid;gap:14px;position:sticky;top:96px;min-width:0}
.dp-media figure{margin:0;border-radius:20px;overflow:hidden;background:var(--deep)}
.dp-media .main{aspect-ratio:4/3}.dp-media .sub{aspect-ratio:16/9}
.dp-media img{width:100%;height:100%;object-fit:cover}
.dp-body{min-width:0}
.dp-body .meta{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dp-body .tag{background:var(--red);color:#fff;padding:3px 9px;border-radius:6px;margin-left:6px;letter-spacing:.04em}
.dp-body h2{font-size:clamp(28px,3.4vw,40px);margin:12px 0 16px}
.dp-intro p{color:var(--muted);font-size:17px}
.dp-intro p+p{margin-top:12px}
.dp-body h3{font-size:17px;margin:28px 0 12px}
.rel{display:grid;gap:12px}
.relcard{display:flex;gap:14px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-decoration:none;color:inherit;transition:border-color .15s}
.relcard:hover{border-color:var(--accent)}
.relcard img{width:84px;height:64px;object-fit:cover;border-radius:10px;flex:none}
.relcard span{display:grid;gap:2px;min-width:0}
.relcard b{font:600 16px var(--display)}.relcard small{color:var(--muted);font-size:13.5px}
@media(max-width:900px){.dpanel{grid-template-columns:1fr;gap:28px}.dp-media{position:static;grid-template-columns:1fr 1fr}.dp-media .main:only-child{grid-column:1/-1}}
@media(max-width:560px){.dp-media{grid-template-columns:1fr}}
.row b.plain{font:500 14.5px var(--body);text-align:right}

/* project detail pages */
.pdetail{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.pphoto{margin:0;border-radius:22px;overflow:hidden;background:var(--deep);position:sticky;top:96px}
.pphoto img{width:100%;height:auto;max-height:78vh;object-fit:contain;margin:0 auto}
.pinfo{min-width:0;display:grid;gap:8px}
.pinfo h2{font-size:22px;margin:22px 0 10px}
.pinfo .panel{margin-bottom:6px}
.svc-chips{display:flex;flex-wrap:wrap;gap:10px}
.svc-chip{padding:9px 16px;border-radius:99px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-weight:500;font-size:14.5px}
.svc-chip:hover{border-color:var(--accent);color:var(--accent)}
.askbox{margin-top:26px;padding:22px;border-radius:16px;background:var(--deep);color:var(--deep-ink);display:grid;gap:8px;justify-items:start}
.askbox span{color:var(--deep-muted);font-size:15px}
.askbox .btn.ghost{color:#fff;border-color:rgba(255,255,255,.4);margin-top:6px}
.pnav{display:grid;grid-template-columns:1fr auto 1fr;gap:14px}
.pnav a{display:grid;gap:3px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);text-decoration:none;min-width:0}
.pnav a:hover{border-color:var(--accent)}
.pnav small{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pnav b{font:600 17px var(--display)}
.pnav .next{text-align:right}.pnav .all{text-align:center}
@media(max-width:900px){.pdetail{grid-template-columns:1fr;gap:28px}.pphoto{position:static}.pnav{grid-template-columns:1fr 1fr}.pnav .all{grid-column:1/-1;order:3}}

/* detail links on cards and gallery */
.gallery figcaption .more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-weight:600;font-size:14.5px;color:var(--accent);text-decoration:none}
.gallery figcaption .more:hover{text-decoration:underline}
.gallery figcaption .more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
a.pcard .more{margin-top:12px;display:inline-flex;gap:6px;align-items:center;font-weight:600;font-size:14.5px;color:var(--accent)}
a.pcard img{transition:transform .5s}
a.pcard:hover img{transform:scale(1.04)}
a.pcard{overflow:hidden}

/* About dropdown */
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;font:500 14.5px var(--body);color:var(--muted);padding:8px 12px;border-radius:8px}
.dd-btn:hover,.dd.open .dd-btn{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}
.dd-btn[aria-current="true"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--red);border-radius:0}
.dd-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-menu{display:none;position:absolute;left:0;top:calc(100% + 8px);min-width:290px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 50px -24px rgba(7,16,26,.55);z-index:60}
.dd-menu:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.dd.open .dd-menu{display:grid;gap:2px}
nav.main .dd-menu a{display:grid;gap:1px;padding:11px 14px;border-radius:10px;color:var(--ink);box-shadow:none;border-bottom:0}
nav.main .dd-menu a b{font:600 15px var(--body)}
nav.main .dd-menu a small{color:var(--muted);font-size:13px}
nav.main .dd-menu a:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
nav.main .dd-menu a[aria-current="page"]{background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 3px 0 0 var(--red);border-radius:10px}
@media(max-width:900px){
  .dd-btn{width:100%;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);border-radius:0;font-size:14.5px}
  .dd-btn[aria-current="true"]{box-shadow:none;color:var(--accent)}
  .dd-menu{position:static;min-width:0;box-shadow:none;border:0;border-radius:0;padding:4px 0 8px 12px;background:transparent}
  .dd-menu:before{display:none}
  nav.main .dd-menu a{padding:12px 8px;border-bottom:1px solid var(--line);border-radius:0}
  nav.main .dd-menu a[aria-current="page"]{background:none;box-shadow:none;color:var(--accent)}
}
@media(prefers-reduced-motion:reduce){.dd-btn svg{transition:none}}

/* team members (shown only when people are added) */
.member{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:8px}
.member .mphoto{aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--deep);display:grid;place-items:center;margin-bottom:6px}
.member .mphoto img{width:100%;height:100%;object-fit:cover}
.member .initials{font:700 56px var(--display);color:var(--deep-ink)}
.member .role{color:var(--accent);font-weight:600;font-size:14.5px}
.member p{color:var(--muted);font-size:15px}

/* dropdown: plain page links, no descriptions */
.dd-menu{min-width:200px}
nav.main .dd-menu a{padding:11px 14px;font:500 15px var(--body)}
@media(max-width:900px){nav.main .dd-menu a{padding:14px 8px}}
