:root{
  --primary:#0E8F4D;
  --primary-dark:#0B6E3B;
  --secondary:#0F172A;
  --accent:#22C55E;
  --bg:#F8FAFC;
  --card:#FFFFFF;
  --text:#1E293B;
  --muted:#64748B;
  --border:#E2E8F0;
  --grad: linear-gradient(120deg,#0E8F4D 0%, #16A34A 45%, #22C55E 100%);
  --grad-dark: linear-gradient(160deg,#0F172A 0%, #0B3B24 130%);
  --shadow-sm: 0 4px 16px rgba(15,23,42,.06);
  --shadow-md: 0 12px 32px rgba(15,23,42,.10);
  --shadow-lg: 0 24px 60px rgba(15,23,42,.16);
  --radius: 20px;
}
*{box-sizing:border-box;}
html, body {
    overflow-x: hidden;
    width: 100%;
}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{font-family:'Poppins',sans-serif; color:var(--secondary); letter-spacing:-.02em;}
.btn, .navbar, .badge-pill{font-family:'Montserrat',sans-serif;}
a{text-decoration:none;}
.container-xl{max-width:1280px;}

/* ---------- Utility ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.72rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--primary);
  background:rgba(14,143,77,.08); border:1px solid rgba(14,143,77,.18);
  padding:7px 16px; border-radius:100px; margin-bottom:18px;
}
.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(34,197,94,.18);}
.section-title{font-size:clamp(1.9rem,3.4vw,2.9rem); font-weight:800; line-height:1.15; margin-bottom:14px;}
.section-sub{color:var(--muted); font-size:1.05rem; max-width:640px; line-height:1.7;}
.section-pad{padding:50px 0;}
@media(max-width:768px){.section-pad{padding:64px 0;}}
.text-grad{background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}

.btn-brand{
  background:var(--grad); color:#fff; border:none; font-weight:700; font-size:.85rem;
  padding:15px 30px; border-radius:100px; letter-spacing:.03em; text-transform:uppercase;
  box-shadow:0 10px 24px rgba(14,143,77,.35); transition:.35s ease; display:inline-flex; align-items:center; gap:10px;
}
.btn-brand:hover{transform:translateY(-3px); box-shadow:0 16px 32px rgba(14,143,77,.45); color:#fff;}
.btn-outline-brand{
  background:transparent; color:var(--secondary); border:1.5px solid var(--border); font-weight:700; font-size:.85rem;
  padding:14px 28px; border-radius:100px; letter-spacing:.03em; text-transform:uppercase; transition:.3s;
  display:inline-flex; align-items:center; gap:10px;
}
.btn-outline-brand:hover{border-color:var(--primary); color:var(--primary); background:rgba(14,143,77,.06);}
.btn-light-pill{
  background:#fff; color:var(--secondary); border:none; font-weight:700; font-size:.85rem;
  padding:15px 30px; border-radius:100px; letter-spacing:.03em; text-transform:uppercase; transition:.3s;
  display:inline-flex; align-items:center; gap:10px; box-shadow:0 10px 26px rgba(0,0,0,.25);
}
.btn-light-pill:hover{transform:translateY(-3px); color:var(--primary);}

/* ---------- About Dropdown ---------- */
.about-dropdown-menu{
  border:none; border-radius:16px; box-shadow:var(--shadow-lg); padding:10px; margin-top:14px;
  min-width:230px; border:1px solid var(--border); animation:dropFade .25s ease;
}
@keyframes dropFade{from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:translateY(0);}}
.about-dropdown-menu .dropdown-item{
  border-radius:10px; padding:11px 14px; font-weight:600; font-size:.87rem; color:var(--text);
  display:flex; align-items:center; gap:10px; transition:.2s;
}
.about-dropdown-menu .dropdown-item i{color:var(--primary); width:16px;}
.about-dropdown-menu .dropdown-item:hover{background:rgba(14,143,77,.08); color:var(--primary);}
@media(min-width:992px){
  .nav-item.dropdown:hover .dropdown-menu{display:block;}
}

/* ---------- Mission/Vision list ---------- */
.mv-list{list-style:none; padding:0; margin:18px 0 0; display:flex; flex-direction:column; gap:10px;}
.mv-list li{display:flex; align-items:flex-start; gap:10px; font-size:.87rem; color:rgba(255,255,255,.85); line-height:1.5;}
.mv-list li i{margin-top:3px; color:var(--accent); font-size:.78rem;}

/* ---------- Navbar ---------- */
.navbar{
  position:fixed; top:0; width:100%; z-index:1000; padding:18px 0; transition:.35s ease;
}
.navbar.scrolled{background:rgba(255,255,255,.96); backdrop-filter:blur(16px); box-shadow:0 4px 24px rgba(15,23,42,.08); padding:10px 0;}
.navbar .brand-name{font-family:'Poppins'; font-weight:800; font-size:1.28rem; color:#fff; display:flex; align-items:center; gap:10px;}
.navbar.scrolled .brand-name{color:var(--secondary);}
.brand-mark{
  width:42px;height:42px;border-radius:12px;background:var(--grad);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;box-shadow:0 6px 16px rgba(14,143,77,.4);
}
.brand-logo-img{
  height:58px; width:auto; display:block; transition:.3s ease;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.35));
  background:#fff; border-radius:10px; padding:4px 10px;
}
.navbar.scrolled .brand-logo-img{height:48px; filter:none; box-shadow:0 2px 10px rgba(15,23,42,.08);}
.footer-logo-img{height:52px; background:#fff; border-radius:10px; padding:6px 12px;}

/* ---------- Toggler ---------- */
.navbar-toggler{border:none; box-shadow:none !important; padding:6px 4px; background:transparent;}
.navbar-toggler i{color:#fff; transition:.3s;}
.navbar.scrolled .navbar-toggler i{color:var(--secondary);}
.nav-link-custom{
  color:rgba(255,255,255,.88) !important; font-weight:600; font-size:.87rem; margin:0 12px;
  position:relative; padding:8px 2px !important; transition:.25s;
}
.navbar.scrolled .nav-link-custom{color:var(--text) !important;}
.nav-link-custom::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:.3s;}
.nav-link-custom:hover::after, .nav-link-custom.active::after{width:100%;}
.nav-link-custom:hover{color:var(--accent) !important;}
.nav-cta-group{display:flex; gap:10px; align-items:center;}
.icon-pill{
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.25); transition:.3s;
}
.navbar.scrolled .icon-pill{background:rgba(14,143,77,.08); color:var(--primary); border-color:rgba(14,143,77,.2);}
.icon-pill:hover{background:var(--accent); color:#fff; transform:translateY(-2px);}

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center;
  background:var(--grad-dark); overflow:hidden; padding-top:120px; padding-bottom:60px;
}
.hero::before{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(circle at 85% 20%, rgba(34,197,94,.35), transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(14,143,77,.30), transparent 45%);
  z-index:0;
}
.hero-grid-overlay{
  position:absolute; inset:0; opacity:.07; z-index:0;
  background-image: linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.4) 1px, transparent 1px);
  background-size:52px 52px;
}
.hero-content{position:relative; z-index:2;}
.hero-badge{
  display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(10px); color:#fff;
  padding:9px 18px 9px 10px; border-radius:100px; font-size:.78rem; font-weight:600; margin-bottom:26px;
}
.hero-badge .dot{width:8px;height:8px;border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(34,197,94,.25); animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.4);}70%{box-shadow:0 0 0 10px rgba(34,197,94,0);}100%{box-shadow:0 0 0 0 rgba(34,197,94,0);}}
.hero h1{
  font-size:clamp(2.4rem,5vw,3.5rem); font-weight:900; color:#fff; line-height:1.08; letter-spacing:-.02em; margin-bottom:22px;
}
.hero h1 span{background:linear-gradient(90deg,#4ADE80,#86EFAC); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.hero p.lead-txt{color:rgba(255,255,255,.72); font-size:1.12rem; max-width:540px; line-height:1.75; margin-bottom:36px;}
.hero-cta{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:52px;}

.hero-media{position:relative; z-index:2;}
.hero-media-frame{
  border-radius:28px; overflow:hidden; box-shadow:var(--shadow-lg); position:relative;
  border:1px solid rgba(255,255,255,.12);
}
.hero-media-frame img{width:100%; display:block; height:520px; object-fit:cover;}
.hero-float-card{
  position:absolute; background:rgba(255,255,255,.94); backdrop-filter:blur(20px);
  border-radius:18px; padding:16px 20px; box-shadow:var(--shadow-lg); border:1px solid rgba(255,255,255,.5);
}
.hero-float-1{ top:-26px; left:-30px; }
.hero-float-2{ bottom:-24px; right:-24px; }
@media(max-width:991px){.hero-float-1,.hero-float-2{position:static; margin:14px 0 0 0; display:inline-block;}}
.float-stat-num{font-family:'Poppins'; font-weight:800; font-size:1.5rem; color:var(--secondary); line-height:1;}
.float-stat-label{font-size:.72rem; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.04em;}

.hero-stats-row{position:relative; z-index:2; margin-top:40px;}
.hero-stat-card{
  background:rgba(255,255,255,.06); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.14);
  border-radius:16px; padding:20px; text-align:left; transition:.3s;
}
.hero-stat-card:hover{background:rgba(255,255,255,.1); transform:translateY(-4px);}
.hero-stat-card .num{font-family:'Poppins'; font-weight:800; font-size:1.9rem; color:#fff;}
.hero-stat-card .num span{color:var(--accent);}
.hero-stat-card .lbl{color:rgba(255,255,255,.6); font-size:.78rem; font-weight:600; letter-spacing:.03em;}

/* floating leaf shapes */
.shape{position:absolute; border-radius:50%; filter:blur(2px); opacity:.5; z-index:1;}
.shape-1{width:14px;height:14px;background:var(--accent); top:18%; left:6%; animation:float 6s ease-in-out infinite;}
.shape-2{width:9px;height:9px;background:#fff; top:65%; left:12%; animation:float 8s ease-in-out infinite reverse;}
.shape-3{width:20px;height:20px;background:rgba(34,197,94,.5); top:30%; right:8%; animation:float 7s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-22px);}}

/* ---------- Marquee client strip ---------- */
.marquee-strip{background:#fff; border-bottom:1px solid var(--border); padding:26px 0; overflow:hidden;}
.marquee-track{display:flex; gap:56px; width:max-content; animation:scroll 32s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
@keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
.client-chip{
  font-family:'Poppins'; font-weight:700; color:var(--muted); font-size:1.05rem; white-space:nowrap;
  opacity:.55; filter:grayscale(1); transition:.3s; display:flex; align-items:center; gap:10px;
}
.client-chip i{color:var(--primary); font-size:.6rem;}
.client-chip:hover{opacity:1; filter:none; color:var(--primary);}

/* ---------- About ---------- */
.about-media{position:relative;}
.about-img-main{border-radius:24px; overflow:hidden; box-shadow:var(--shadow-md);}
.about-img-main img{width:100%; height:430px; object-fit:cover; display:block;}
.about-badge-card{
  position:absolute; bottom:-30px; left:-30px; background:var(--secondary); color:#fff;
  border-radius:20px; padding:24px 26px; width:220px; box-shadow:var(--shadow-lg);
}
@media(max-width:991px){.about-badge-card{position:static; margin-top:20px; width:100%;}}
.about-badge-card .big{font-family:'Poppins'; font-weight:800; font-size:2.1rem; color:var(--accent);}
.about-badge-card .lbl{font-size:.8rem; color:rgba(255,255,255,.65); font-weight:500;}

.feature-row{display:flex; gap:16px; margin-bottom:20px; align-items:flex-start;}
.feature-icon{
  min-width:48px; height:48px; border-radius:14px; background:rgba(14,143,77,.08); color:var(--primary);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem; border:1px solid rgba(14,143,77,.15);
}
.feature-row h6{font-weight:700; margin-bottom:4px; font-size:1rem;}
.feature-row p{color:var(--muted); font-size:.92rem; margin:0; line-height:1.6;}

.mv-card{
  border-radius:22px; padding:34px; height:100%; position:relative; overflow:hidden;
}
.mv-card.mission{background:var(--grad); color:#fff;}
.mv-card.vision{background:var(--secondary); color:#fff;}
.mv-card i.big-icon{font-size:2.2rem; opacity:.85; margin-bottom:18px;}
.mv-card h4{color:#fff; font-weight:700; margin-bottom:12px;}
.mv-card p{color:rgba(255,255,255,.85); line-height:1.75; font-size:.96rem;}

/* ---------- Sections generic ---------- */
.bg-soft{background:linear-gradient(180deg,#F8FAFC 0%, #EFF6F1 100%);}
.bg-dark-section{background:var(--secondary); position:relative; overflow:hidden;}
.bg-dark-section::before{
  content:''; position:absolute; inset:0;
  background: radial-gradient(circle at 20% 20%, rgba(34,197,94,.15), transparent 40%), radial-gradient(circle at 80% 80%, rgba(14,143,77,.18), transparent 40%);
}

/* ---------- Fleet Cards ---------- */
.fleet-card{
  border-radius:22px; overflow:hidden; position:relative; box-shadow:var(--shadow-sm); height:400px;
  transition:.45s cubic-bezier(.2,.8,.2,1);
}
.fleet-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-lg);}
.fleet-card img{width:100%; height:100%; object-fit:cover; transition:.6s ease; display:block;}
.fleet-card:hover img{transform:scale(1.08);}
.fleet-card-overlay{
  position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,23,42,.92) 0%, rgba(15,23,42,.15) 55%, transparent 75%);
}
.fleet-card-body{position:absolute; bottom:0; left:0; right:0; padding:26px; color:#fff;}
.fleet-tag{
  display:inline-block; background:rgba(34,197,94,.2); border:1px solid rgba(34,197,94,.5); color:#86EFAC;
  font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 12px; border-radius:100px; margin-bottom:10px;
}
.fleet-card-body h5{color:#fff; font-weight:700; margin-bottom:6px;}
.fleet-card-body p{color:rgba(255,255,255,.7); font-size:.85rem; margin:0;}

/* ---------- Services ---------- */
.service-card{
  background:#fff; border-radius:22px; padding:36px 30px; height:100%; border:1px solid var(--border);
  transition:.35s ease; position:relative; overflow:hidden;
}
.service-card::after{
  content:''; position:absolute; inset:0; opacity:0; background:var(--grad); transition:.35s; z-index:0;
}
.service-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:transparent;}
.service-card:hover::after{opacity:1;}
.service-card > *{position:relative; z-index:1;}
.service-icon{
  width:64px; height:64px; border-radius:18px; background:rgba(14,143,77,.08); color:var(--primary);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:22px; transition:.35s;
}
.service-card:hover .service-icon{background:rgba(255,255,255,.2); color:#fff;}
.service-card h5{font-weight:700; margin-bottom:10px; transition:.35s;}
.service-card:hover h5{color:#fff;}
.service-card p{color:var(--muted); font-size:.9rem; line-height:1.7; margin-bottom:0; transition:.35s;}
.service-card:hover p{color:rgba(255,255,255,.88);}
.service-num{position:absolute; top:24px; right:28px; font-family:'Poppins'; font-weight:800; font-size:2rem; color:var(--border); z-index:0; transition:.35s;}
.service-card:hover .service-num{color:rgba(255,255,255,.25);}

/* ---------- Why choose us ---------- */
.why-card{
  background:#fff; border-radius:20px; padding:30px 26px; text-align:center; height:100%;
  border:1px solid var(--border); transition:.3s;
}
.why-card:hover{border-color:var(--primary); box-shadow:var(--shadow-md); transform:translateY(-6px);}
.why-icon{
  width:60px;height:60px;border-radius:16px; margin:0 auto 18px; display:flex;align-items:center;justify-content:center;
  background:var(--grad); color:#fff; font-size:1.35rem; box-shadow:0 10px 22px rgba(14,143,77,.28);
}
.why-card h6{font-weight:700; margin-bottom:8px; font-size:.98rem;}
.why-card p{color:var(--muted); font-size:.84rem; margin:0; line-height:1.6;}

/* ---------- Sustainability ---------- */
.sustain-stat{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:20px;
  padding:28px 22px; text-align:center; backdrop-filter:blur(10px);
}
.sustain-stat .big{font-family:'Poppins'; font-weight:800; font-size:2.3rem; color:var(--accent);}
.sustain-stat .lbl{color:rgba(255,255,255,.65); font-size:.82rem; font-weight:500; margin-top:4px;}
.eco-ring{
  width:230px; height:230px; border-radius:50%; margin:0 auto; position:relative;
  background: conic-gradient(var(--accent) 0% 72%, rgba(255,255,255,.08) 72% 100%);
  display:flex; align-items:center; justify-content:center;
}
.eco-ring::before{content:'';position:absolute; inset:14px; border-radius:50%; background:var(--secondary);}
.eco-ring .ring-inner{position:relative; z-index:2; text-align:center; color:#fff;}
.eco-ring .ring-inner .big{font-family:'Poppins'; font-weight:800; font-size:1.9rem; color:var(--accent);}
.eco-ring .ring-inner .lbl{font-size:.7rem; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:.05em;}

/* ---------- Stats band ---------- */
.stats-band{background:var(--grad); position:relative; overflow:hidden;}
.stats-band::before{content:'';position:absolute; inset:0; background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><circle cx="50" cy="50" r="1.5" fill="white" opacity="0.3"/></svg>'); opacity:.3;}
.stat-item{text-align:center; position:relative; z-index:1; color:#fff;}
.stat-item .num{font-family:'Poppins'; font-weight:900; font-size:clamp(2.2rem,4vw,3.2rem); line-height:1;}
.stat-item .lbl{font-size:.85rem; font-weight:600; opacity:.9; margin-top:8px; letter-spacing:.02em;}

/* ---------- Directors ---------- */
.director-card{
  background:#fff; border-radius:24px; overflow:hidden; box-shadow:var(--shadow-sm); transition:.35s; height:100%;
  border:1px solid var(--border);
}
.director-card:hover{box-shadow:var(--shadow-lg); transform:translateY(-6px);}
.director-img-wrap{position:relative; overflow:hidden;}
.director-img-wrap img{width:100%; height:340px; object-fit:cover; object-position:top; display:block; transition:.5s;}
.director-card:hover .director-img-wrap img{transform:scale(1.05);}
.director-social{
  position:absolute; bottom:16px; right:16px; width:40px;height:40px; border-radius:50%; background:rgba(255,255,255,.9);
  display:flex; align-items:center; justify-content:center; color:var(--primary); box-shadow:var(--shadow-sm);
}
.director-body{padding:26px;}
.director-body h5{font-weight:700; margin-bottom:2px;}
.director-body .role{color:var(--primary); font-weight:600; font-size:.85rem; margin-bottom:14px; display:block;}
.director-body p{color:var(--muted); font-size:.87rem; line-height:1.7;}

/* ---------- Gallery ---------- */
.gallery-item{border-radius:18px; overflow:hidden; position:relative; cursor:pointer; box-shadow:var(--shadow-sm);}
.gallery-item img{width:100%; height:100%; object-fit:cover; display:block; transition:.5s;}
.gallery-item .g-overlay{
  position:absolute; inset:0; background:rgba(14,143,77,.85); opacity:0; transition:.35s;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.6rem;
}
.gallery-item:hover .g-overlay{opacity:1;}
.gallery-item:hover img{transform:scale(1.1);}

/* ---------- Testimonials ---------- */
.testi-card{
  background:#fff; border-radius:22px; padding:32px; border:1px solid var(--border); height:100%;
  box-shadow:var(--shadow-sm); position:relative;
}
.testi-card .quote-icon{color:var(--primary); opacity:.15; font-size:2.6rem; position:absolute; top:20px; right:26px;}
.testi-stars{color:#F59E0B; font-size:.85rem; margin-bottom:14px;}
.testi-card p.body-txt{color:var(--text); font-size:.94rem; line-height:1.75; margin-bottom:20px;}
.testi-author{display:flex; align-items:center; gap:12px;}
.testi-avatar{
  width:46px; height:46px; border-radius:50%; background:var(--grad); color:#fff; display:flex; align-items:center;
  justify-content:center; font-weight:700; font-family:'Poppins';
}
.testi-author .name{font-weight:700; font-size:.9rem; margin-bottom:0;}
.testi-author .role{color:var(--muted); font-size:.78rem;}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--grad-dark); border-radius:32px; padding:64px 50px; position:relative; overflow:hidden;
}
.cta-band::before{content:''; position:absolute; inset:0; background:radial-gradient(circle at 80% 30%, rgba(34,197,94,.35), transparent 50%);}
.cta-band h2{color:#fff; position:relative; z-index:1;}
.cta-band p{color:rgba(255,255,255,.7); position:relative; z-index:1;}

/* ---------- Footer ---------- */
footer{background:var(--secondary); color:rgba(255,255,255,.65); padding-top:80px;}
footer h6{color:#fff; font-weight:700; margin-bottom:22px; font-size:.95rem; text-transform:uppercase; letter-spacing:.04em;}
footer a.f-link{color:rgba(255,255,255,.6); font-size:.88rem; display:block; margin-bottom:12px; transition:.25s;}
footer a.f-link:hover{color:var(--accent); padding-left:4px;}
.f-social{
  width:40px;height:40px;border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center;
  color:#fff; transition:.3s; border:1px solid rgba(255,255,255,.12);
}
.f-social:hover{background:var(--accent); transform:translateY(-3px);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); margin-top:50px; padding:24px 0; font-size:.82rem;}
.newsletter-input{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:100px 0 0 100px;
  color:#fff; padding:13px 20px; font-size:.85rem;
}
.newsletter-input:focus{outline:none; background:rgba(255,255,255,.1); box-shadow:none; color:#fff;}
.newsletter-input::placeholder{color:rgba(255,255,255,.4);}
.newsletter-btn{background:var(--grad); border:none; color:#fff; border-radius:0 100px 100px 0; padding:0 22px; font-weight:600;}

/* ---------- Floating action buttons ---------- */
.fab-group{position:fixed; bottom:26px; right:26px; z-index:999; display:flex; flex-direction:column; gap:14px;}
.fab{
  width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.4rem; box-shadow:0 10px 26px rgba(0,0,0,.25); transition:.3s;
}
.fab-whatsapp{background:#25D366;}
.fab-call{background:var(--grad);}
.fab:hover{transform:scale(1.1) translateY(-2px); color:#fff;}

/* ---------- Section divider (signature element: charge-route line) ---------- */
.route-divider{position:relative; height:70px; overflow:hidden;}
.route-divider svg{width:100%; height:100%;}

/* Scroll reveal defaults handled by AOS */
::selection{background:var(--accent); color:#fff;}

@media(max-width:576px){
  .cta-band{padding:44px 24px;}
}

/* ---------- Mobile navbar fix ---------- */
@media(max-width:991px){
  .navbar .container-xl{flex-wrap:wrap; row-gap:12px;}
  .navbar-brand{order:1;}
  .nav-cta-group{order:2; margin-left:auto; gap:8px;}
  .navbar-toggler{order:3; margin-left:6px;}
  .navbar-collapse{
    order:4; flex-basis:100%; width:100%; max-width:100%;
    background:#fff; margin-top:6px; padding:18px 20px 20px;
    border-radius:18px; box-shadow:var(--shadow-lg);
    max-height:75vh; overflow-y:auto;
  }
  .navbar-nav{width:100%;}
  .nav-item{width:100%;}
  .nav-link-custom{
    color:var(--text) !important; font-weight:600; padding:13px 4px !important; margin:0 !important;
    display:block; border-bottom:1px solid var(--border);
  }
  .nav-item:last-child > .nav-link-custom{border-bottom:none;}
  .nav-link-custom::after{display:none;}
  .about-dropdown-menu{
    position:static !important; inset:auto !important; transform:none !important;
    box-shadow:none; border:none; background:rgba(14,143,77,.05); margin:2px 0 8px; animation:none; width:100%;
  }
  .about-dropdown-menu .dropdown-item{color:var(--text);}
  .nav-cta-group .btn-brand{padding:12px 18px; font-size:.76rem;}
}
@media(max-width:420px){
  .brand-logo-img{height:44px; padding:3px 8px;}
  .nav-cta-group .btn-brand span{display:none;}
}

/* ---------- Client logo slider ---------- */
.logo-slider-wrap{margin-bottom:34px;}
.slider-label{
  text-align:center; text-transform:uppercase; letter-spacing:.12em; font-weight:700; font-size:.74rem;
  color:var(--muted); margin-bottom:20px;
}
.logo-slider{
  overflow:hidden; position:relative;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.logo-track{display:flex; gap:20px; width:max-content; animation:logoScroll 55s linear infinite;}
.logo-track.reverse{animation-name:logoScrollRev; animation-duration:65s;}
.logo-slider:hover .logo-track{animation-play-state:paused;}
@keyframes logoScroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@keyframes logoScrollRev{from{transform:translateX(-50%);} to{transform:translateX(0);}}
.logo-card{
  flex:0 0 auto; width:196px; height:100px; background:#fff; border:1px solid var(--border); border-radius:14px;
  display:flex; align-items:center; justify-content:center; padding:14px;
   transition:.3s ease;
}
.logo-card:hover{filter:none; opacity:1; border-color:var(--primary); box-shadow:var(--shadow-md); transform:translateY(-4px);}
.logo-card img{max-width:100%; max-height:100%; object-fit:contain;}
@media(prefers-reduced-motion: reduce){
  .logo-track, .logo-track.reverse{animation:none;}
}
@media(max-width:576px){
  .logo-card{width:118px; height:68px; padding:10px;}
}

/* ---------- Directors — horizontal layout ---------- */
.director-card-h{
  display:flex; align-items:stretch; background:#fff; border-radius:28px; overflow:hidden;
  border:1px solid var(--border); box-shadow:var(--shadow-sm); transition:.35s ease;
}
.director-card-h:hover{box-shadow:var(--shadow-lg);}
.director-card-h.reverse{flex-direction:row-reverse;}
.director-photo{flex:0 0 320px; position:relative; overflow:hidden; background:var(--secondary);}
.director-photo img{width:100%; height:100%; object-fit:cover; display:block; min-height:400px; transition:.5s;}
.director-card-h:hover .director-photo img{transform:scale(1.04);}
.director-photo .director-social{
  position:absolute; bottom:18px; right:18px; width:42px; height:42px; border-radius:50%;
  background:rgba(255,255,255,.95); display:flex; align-items:center; justify-content:center;
  color:var(--primary); box-shadow:var(--shadow-sm);
}
.director-content{flex:1; padding:44px 46px; display:flex; flex-direction:column; justify-content:center;}
.director-content .role{
  color:var(--primary); font-weight:700; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em;
  margin-bottom:10px; display:block;
}
.director-content h4{font-size:clamp(1.4rem,2.4vw,1.8rem); font-weight:800; margin-bottom:14px;}
.director-content p{color:var(--muted); line-height:1.85; margin-bottom:22px; font-size:.95rem;}
.director-chips{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px;}
.director-chips .chip{
  display:inline-flex; align-items:center; gap:7px; background:rgba(14,143,77,.06); border:1px solid rgba(14,143,77,.16);
  color:var(--primary); font-size:.78rem; font-weight:700; padding:9px 15px; border-radius:100px;
}
.director-linkedin{
  display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:.85rem; color:var(--secondary);
  width:fit-content; padding:11px 20px; border:1.5px solid var(--border); border-radius:100px; transition:.3s;
}
.director-linkedin:hover{border-color:var(--primary); color:var(--primary); background:rgba(14,143,77,.05);}
@media(max-width:767px){
  .director-card-h, .director-card-h.reverse{flex-direction:column;}
  .director-photo{flex:0 0 auto; height:320px;}
  .director-content{padding:32px 26px;}
}

/* ---------- Mobility range cards (reuses fleet-card look) ---------- */
.mobility-card{
  border-radius:22px; overflow:hidden; position:relative; box-shadow:var(--shadow-sm); height:280px;
  transition:.45s cubic-bezier(.2,.8,.2,1);
}
.mobility-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-lg);}
.mobility-card img{width:100%; height:100%; object-fit:cover; transition:.6s ease; display:block;}
.mobility-card:hover img{transform:scale(1.08);}
.mobility-card-overlay{position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,23,42,.9) 0%, rgba(15,23,42,.1) 55%, transparent 75%);}
.mobility-card-body{position:absolute; bottom:0; left:0; right:0; padding:22px; color:#fff;}
.mobility-card-body .mc-icon{
  width:40px;height:40px;border-radius:12px;background:rgba(34,197,94,.22); border:1px solid rgba(34,197,94,.5);
  display:flex; align-items:center; justify-content:center; margin-bottom:10px; color:#86EFAC;
}
.mobility-card-body h6{color:#fff; font-weight:700; margin-bottom:4px;}
.mobility-card-body p{color:rgba(255,255,255,.7); font-size:.8rem; margin:0;}
