.brand .logo-img{height:52px;width:auto;border-radius:8px;background:#0c3a29}
.foot-brand img{max-width:260px;height:auto;border-radius:10px}
.topbar .tb-links{display:inline-flex;gap:14px;align-items:center}
.topbar .tb-links a{display:inline-flex;align-items:center;gap:6px}
.topbar .tb-links svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}
.topbar .tb-links svg.fill{fill:currentColor;stroke:none}
.ico.fill{fill:currentColor;stroke:none}
.foot-ct li a{display:inline-flex;gap:8px;align-items:center}
.dock{position:fixed;left:14px;bottom:16px;z-index:60;display:flex;flex-direction:column;gap:10px}
.dock a{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.28);transition:transform .2s}
.dock a:hover{transform:scale(1.08)}
.dock svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8}
.dock svg.fill{fill:#fff;stroke:none}
.dock .wa{background:#25d366}.dock .call{background:#0c3a29}.dock .mail{background:#c9962b}
/* slider */
.slider{position:relative;overflow:hidden;background:#07261b;color:#fff}
.slides{display:flex;transition:transform .8s cubic-bezier(.6,0,.2,1)}
.slide{min-width:100%;position:relative;min-height:clamp(440px,68vh,640px);display:flex;align-items:flex-end;
background:linear-gradient(90deg,rgba(7,38,27,.9) 0%,rgba(7,38,27,.55) 55%,rgba(7,38,27,.15) 100%),var(--img),linear-gradient(135deg,#0c3a29,#1f7a4d);background-size:cover;background-position:center}
.slide.banner{background:var(--img) center/cover,#0c3a29;min-height:0;aspect-ratio:16/9;max-height:78vh}
.slide .cap{max-width:640px;padding:48px 24px 84px;margin-left:max(0px,calc((100vw - 1160px)/2))}
.slide .tag{display:inline-block;background:#c9962b;color:#1b1b1b;font:700 12px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:3px}
.slide h2{color:#fff;margin:14px 0 10px;font-size:clamp(26px,4.2vw,44px);line-height:1.12}
.slide p{color:#e8f0ea;margin:0 0 8px;font-size:clamp(15px,1.6vw,18px);line-height:1.55}
.slide .facts{font-size:14px;color:#f1d58a}
.sl-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:22px;cursor:pointer;backdrop-filter:blur(4px)}
.sl-btn:hover{background:#c9962b}.sl-prev{left:12px}.sl-next{right:12px}
.sl-dots{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:9px}
.sl-dots button{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0}
.sl-dots button.on{background:#c9962b;width:30px;border-radius:6px}
.sl-bar{position:absolute;left:0;bottom:0;height:3px;background:#c9962b;width:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:28px}
.tile{background:#fff;border:1px solid #e3e8e0;border-top:4px solid #c9962b;border-radius:8px;padding:24px;box-shadow:0 4px 14px rgba(12,58,41,.06)}
.tile .ibox{margin-bottom:10px}.tile h3{margin:0 0 8px}.tile p{margin:0;font-size:15px;line-height:1.6}
.steps{counter-reset:s;display:grid;gap:14px;margin-top:24px}
.steps li{list-style:none;position:relative;padding:16px 16px 16px 64px;background:#fff;border-radius:8px;border:1px solid #e3e8e0}
.steps li:before{counter-increment:s;content:counter(s);position:absolute;left:16px;top:14px;width:34px;height:34px;border-radius:50%;background:#0c3a29;color:#fff;display:grid;place-items:center;font-weight:700}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:26px;text-align:center}
.stat-row div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:18px}
.stat-row b{display:block;font-size:30px;color:#f1d58a}
@media(max-width:700px){.slide .cap{padding:36px 18px 80px;margin-left:0}.sl-btn{display:none}.dock a{width:46px;height:46px}}

/* Automatic slideshow without video-style progress line */
.sl-bar{display:none!important}.slide:not(.banner){background-position:center;background-size:cover}.slide .cap{position:relative;z-index:1}.slide:not(.banner):before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,38,27,.88),rgba(7,38,27,.28));pointer-events:none}

/* Final polish: clean, borderless advert carousel and clear logo sizing */
.slider{border:0;outline:0;box-shadow:none}.slides,.slide{border:0;outline:0}.sl-bar{display:none!important}.brand .logo-img{display:block;object-fit:contain;background:transparent;max-height:54px;width:auto}.foot-brand img{object-fit:contain;max-height:110px;width:auto;background:transparent}

/* Smart Tec brand lockup: extracted mark + clean text, blended into the site palette. */
.brand{display:inline-flex;align-items:center;gap:10px;min-width:0;text-decoration:none!important;color:var(--green)}
.brand-mark{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:50%;background:var(--green);overflow:hidden}
.brand-mark img{width:39px;height:39px;object-fit:contain;display:block}
.brand-copy{display:flex;flex-direction:column;line-height:1.02;white-space:nowrap}
.brand-copy strong{font-size:17px;letter-spacing:.01em;color:var(--green)}
.brand-copy span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#5b6b60;margin-top:4px}
.footer-brand-lockup{display:flex;align-items:center;gap:13px;margin-bottom:13px}
.footer-brand-lockup img{width:58px;height:58px;object-fit:contain;padding:5px;border-radius:50%;background:#0c3a29}
.footer-brand-lockup div{display:flex;flex-direction:column;line-height:1.08}
.footer-brand-lockup strong{font-size:22px;color:#fff}
.footer-brand-lockup span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#d2dfd5;margin-top:5px}

.home-hero{background:linear-gradient(135deg,#eef3e9 0%,#fff 60%,#e5eee5 100%);border-bottom:1px solid var(--line)}
.home-hero-inner{min-height:clamp(330px,44vh,500px);display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:38px;padding-bottom:38px}
.home-hero-copy{max-width:820px}
.home-hero h1{font-size:clamp(34px,5.1vw,64px);line-height:1.05;letter-spacing:-.035em;margin:8px 0 16px;color:var(--green);max-width:820px}
.home-hero p{font-size:clamp(17px,2vw,21px);color:#526357;max-width:700px;margin:0}
.home-hero-mark{width:190px;height:190px;flex:0 0 190px;border-radius:50%;background:var(--green);display:grid;place-items:center;box-shadow:0 18px 45px rgba(12,58,41,.14)}
.home-hero-mark img{width:160px;height:160px;object-fit:contain}
.outline-light{background:transparent;color:var(--green);border-color:var(--green)}
.outline-light:hover{background:var(--green);color:#fff}
.advert-slider .slide{min-height:clamp(350px,52vh,560px)}
.advert-slider .slide .cap{padding-bottom:68px}
/* No video/progress-bar treatment on the advert carousel. */
.advert-slider .sl-bar{display:none!important}
@media(max-width:700px){
  .brand-mark{width:40px;height:40px;flex-basis:40px}.brand-mark img{width:35px;height:35px}
  .brand-copy strong{font-size:15px}.brand-copy span{font-size:9px}
  .home-hero-inner{min-height:0;padding:42px 0 34px;display:block}
  .home-hero h1{font-size:clamp(34px,10vw,48px)}
  .home-hero-mark{display:none}
  .advert-slider .slide{min-height:430px}
  .footer-brand-lockup img{width:52px;height:52px}.footer-brand-lockup strong{font-size:19px}
}

/* Contact page: each detail is a distinct, readable row (not the global divider class). */
.contact-grid .info { min-width: 0; }
.contact-grid .info .head { padding: 22px 0 26px; margin-bottom: 18px !important; }
.contact-grid .contact-item { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: start; gap: 14px; height: auto; min-height: 0; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--line); background: transparent; }
.contact-grid .contact-item:last-child { border-bottom: 0; }
.contact-grid .contact-item > div:last-child { min-width: 0; }
.contact-grid .contact-item h3 { margin: 0 0 5px; line-height: 1.25; overflow-wrap: anywhere; }
.contact-grid .contact-item p { margin: 0; line-height: 1.55; overflow-wrap: anywhere; word-break: normal; }
.contact-grid .contact-item a { overflow-wrap: anywhere; }
.contact-grid .info .head h2 { margin: 0; line-height: 1.2; }
@media (max-width:700px) { .contact-grid .info, .contact-grid .form { padding: 20px; } .contact-grid .contact-item { gap: 12px; } }

/* Visual refinement: use the extracted brand artwork without a circular badge */
.brand-mark{width:auto;height:auto;flex:0 0 auto;border-radius:0;background:transparent;overflow:visible;display:block}
.brand-mark img{width:44px;height:44px;object-fit:contain;border-radius:0;background:transparent}
.home-hero-mark{display:none!important}
.footer-brand-lockup img{border-radius:0;background:transparent;padding:0}
/* Institution profiles: photographic context behind readable, high-contrast content */
.inst{position:relative;isolation:isolate;overflow:hidden;background:#fff}
.inst:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.91) 62%,rgba(255,255,255,.64) 100%),url('images/smart-greenhouse.jpg');background-size:cover;background-position:center}
.inst:nth-child(3n+2):before{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 62%,rgba(255,255,255,.62) 100%),url('images/image24.jpeg')}
.inst:nth-child(3n):before{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 62%,rgba(255,255,255,.62) 100%),url('images/image12.jpeg')}
.inst .tag{position:relative}
/* Market regions use context imagery rather than empty outlined panels */
.markets-visual-regions .card{position:relative;isolation:isolate;overflow:hidden;min-height:180px}
.markets-visual-regions .card:before{content:"";position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;opacity:.28}
.markets-visual-regions .card:nth-child(1):before{background-image:url('images/nairobi-city.jpg')}
.markets-visual-regions .card:nth-child(2):before{background-image:url('images/smart-greenhouse.jpg')}
.markets-visual-regions .card:nth-child(3):before{background-image:url('images/image24.jpeg')}
.markets-visual-regions .card:nth-child(4):before{background-image:url('images/australia-airport.jpg')}
.markets-visual-regions .card:nth-child(5):before{background-image:url('images/image12.jpeg')}
.markets-visual-regions .card:nth-child(6):before{background-image:url('images/image28.jpeg')}
.markets-visual-regions .card .body{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.7));height:100%}
@media(max-width:700px){.brand-mark img{width:40px;height:40px}.inst{min-height:190px}}

/* Official Smart Tec lockup: standalone strip emblem, no circular badge or duplicate text inside the mark. */
.brand{gap:10px;align-items:center;max-width:100%;}
.brand-mark{width:48px;height:48px;flex:0 0 48px;border-radius:0!important;background:transparent!important;overflow:visible!important;display:flex;align-items:center;justify-content:center;}
.brand-mark img{width:46px!important;height:46px!important;max-width:none!important;object-fit:contain;display:block;}
.brand-copy{white-space:normal;min-width:0;line-height:1.12;gap:3px;}
.brand-copy strong{font-size:clamp(12px,1.35vw,17px);letter-spacing:0;color:var(--green);line-height:1.12;}
.brand-copy span{font-size:clamp(9px,.95vw,11px);letter-spacing:.015em;text-transform:none;color:#526357;margin-top:0;line-height:1.2;}
.home-hero-mark{display:none!important;}
.footer-brand-lockup img{width:58px;height:58px;object-fit:contain;padding:0!important;border-radius:0!important;background:transparent!important;}
.footer-brand-lockup div{gap:4px;}
.footer-brand-lockup strong{font-size:clamp(15px,2vw,22px);line-height:1.15;}
.footer-brand-lockup span{text-transform:none;letter-spacing:0;line-height:1.3;}
@media(max-width:700px){.nav{gap:8px;}.brand{gap:7px;flex:1;}.brand-mark{width:38px;height:38px;flex-basis:38px;}.brand-mark img{width:38px!important;height:38px!important;}.brand-copy strong{font-size:12px;}.brand-copy span{font-size:9px;}.nav{min-height:74px;}}
