/* =========================================================
   AB MACHINERY MOVERS & CRANE SERVICE — Homepage
   Modern Industrial + Engineering + Premium Corporate
========================================================= */

:root{
  --dark:#101820;
  --dark-2:#17232D;
  --light:#F5F6F3;
  --white:#FFFFFF;
  --yellow:#017838;
  --orange:#005EB3;
  --blue:#0A9CCB;
  --muted:#69747C;
  --border:#DCE2E5;

  --font-head:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;

  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:8px;

  --ease:cubic-bezier(.16,.84,.44,1);
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--dark);
  background:var(--light);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head);
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--dark);
}
main{
    width:100%;
    overflow-x:hidden;
}
p{color:var(--muted); line-height:1.75;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
.section{padding:80px 0;}
@media (max-width:991.98px){
  .eyebrow{font-size: 10px !important;}
  .section{padding:72px 0;}}

.bg-dark-section{background:var(--dark); color:var(--white);}
.bg-dark-section p{color:#9AA6AE;}
.bg-dark-section h1,.bg-dark-section h2,.bg-dark-section h3,.bg-dark-section h4,.bg-dark-section h5,.bg-dark-section h6{color:var(--white);}
.bg-dark2{background:var(--dark-2);}

.container-xl-custom{max-width:1320px; margin:0 auto; padding:0 14px;}

/* eyebrow label */
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-head);
  font-size:13px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--orange);
  margin-bottom:18px;
}
.eyebrow::before{
  content:''; width:28px; height:2px; background:var(--orange); display:inline-block;
}
.bg-dark-section .eyebrow{color:var(--yellow);}
.bg-dark-section .eyebrow::before{background:var(--yellow);}

.section-title{
  font-size:clamp(28px,4vw,46px);
  line-height:1.1;
  margin-bottom:0;
}
.section-title .text-accent{color:var(--orange);}
.bg-dark-section .section-title .text-accent{color:var(--yellow);}

/* Buttons */
.btn{
  font-family:var(--font-head);
  font-weight:600;
  font-size:15px;
  border-radius:100px;
  padding:14px 30px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  transition:all .35s var(--ease);
  border:none;
}
.btn-brand{
  background:var(--orange);
  color:#fff;
  box-shadow:0 10px 30px -8px rgba(0,94,179,.55);
}
.btn-brand:hover{background:#004a8c; color:#fff; transform:translateY(-3px); box-shadow:0 16px 34px -8px rgba(0,94,179,.65);}
.btn-outline-light-custom{
  background:transparent;
  border:1.5px solid rgba(255,255,255,.35);
  color:#fff;
}
.btn-outline-light-custom:hover{background:rgba(255,255,255,.1); border-color:#fff; color:#fff; transform:translateY(-3px);}
.btn-outline-dark-custom{
  background:transparent;
  border:1.5px solid rgba(16,24,32,.2);
  color:var(--dark);
}
.btn-outline-dark-custom:hover{background:var(--dark); color:#fff; border-color:var(--dark); transform:translateY(-3px);}
.btn-sm-pill{padding:10px 22px; font-size:13px;}
.btn svg,.btn i{transition:transform .3s var(--ease);}
.btn:hover svg,.btn:hover i{transform:translateX(4px);}

/* ---------- Technical grid / blueprint background ---------- */
.grid-overlay{
  position:absolute; inset:0;
  background-image:linear-gradient(rgb(255 255 255 / 5%) 1px, #00000000 1px), linear-gradient(90deg, rgb(255 255 255 / 0%) 1px, #0000009c 1px);
  background-size:44px 44px;
  pointer-events:none;
}
.grid-overlay.light{
  background-image:
    linear-gradient(rgba(16,24,32,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,24,32,.05) 1px, transparent 1px);
}
.glow-orange{
  position:absolute; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(0,94,179,.22), transparent 70%);
  filter:blur(10px); pointer-events:none;
}
.glow-yellow{
  position:absolute; width:460px; height:460px; border-radius:50%;
  background:radial-gradient(circle, rgba(1,120,56,.18), transparent 70%);
  filter:blur(10px); pointer-events:none;
}

/* =========================================================
   HEADER
========================================================= */
#mainHeader{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:20px 6px;
  transition:all .4s var(--ease);
  background:transparent;
}
#mainHeader .container-xl-custom {
    background:#fff;
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);

    border-radius: var(--radius-lg);
    padding: 12px 26px;

    box-shadow: 0 10px 34px -12px rgba(16, 24, 32, 0.18);

    border: 1px solid rgba(255, 255, 255, 0.55);

    transition: all .4s var(--ease);
}
#mainHeader.scrolled{
  padding:14px 0;
}
#mainHeader.scrolled .container-xl-custom{
  box-shadow:0 16px 40px -14px rgba(16,24,32,.3);
}
.navbar-brand-custom{
  display:flex; align-items:center; gap:12px;
}
.navbar-brand-custom img{
  width: 340px;
}
.brand-mark{
  width:46px; height:46px; border-radius:12px;
  background:linear-gradient(135deg, var(--orange), var(--yellow));
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-weight:800; color:#101820; font-size:18px;
  flex-shrink:0;
}
.brand-text-line1{
  font-family:var(--font-head); font-weight:800; font-size:18px; color:#fff; line-height:1.1; letter-spacing:.01em;
}
.brand-text-line2{
  font-size:10.5px; letter-spacing:.14em; color:var(--yellow); font-weight:600; text-transform:uppercase;
}
.main-nav{display:flex; align-items:center; gap:36px;}
.main-nav a{
  font-family:var(--font-head); font-size:14.5px; font-weight:600; color:var(--dark);
  position:relative; padding:6px 0;
  transition:color .3s;
}
.main-nav a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--orange);
  transition:width .3s var(--ease);
}
.main-nav a:hover{color:var(--orange);}
.main-nav a:hover::after{width:100%;}
.header-cta{display:flex; align-items:center; gap:18px;}
.header-phone{color:var(--dark); font-family:var(--font-head); font-weight:700; font-size:14.5px; display:flex; flex-direction:column; align-items:flex-end;}
.header-phone small{color:var(--muted); font-weight:500; font-size:11px; letter-spacing:.08em; text-transform:uppercase;}
.navbar-toggler-custom{
  width:44px; height:44px; border-radius:10px; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; background:transparent;
}
.navbar-toggler-custom span,.navbar-toggler-custom::before,.navbar-toggler-custom::after{display:none;}

/* Offcanvas mobile menu */
.offcanvas-brand-dark{background:var(--dark); color:#fff;}
.offcanvas-brand-dark .nav-link{
  font-family:var(--font-head); font-size:20px; font-weight:700; color:#fff; padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

/* =========================================================
   HERO
========================================================= */
.hero{
  position:relative;
  background:var(--dark);
  padding:170px 0 110px;
  overflow:hidden;
}
@media (max-width:991.98px){.hero{padding:140px 0 70px;}}
.hero-badge-row{
  display:flex; flex-wrap:wrap; gap:14px; margin-top:34px;
}
.hero-badge{
  display:flex; align-items:center; gap:9px;
  font-family:var(--font-head); font-size:12.5px; font-weight:700; letter-spacing:.05em;
  color:#cfd6da; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.1);
  padding:9px 16px; border-radius:100px;
}
.hero-badge i{color:var(--yellow); font-size:14px;}
.hero-heading{
  font-size:clamp(38px,5.4vw,70px);
  line-height:1.04;
  color:#fff;
  margin-bottom:22px;
}
.hero-heading .line-accent{
  color:var(--yellow);
  position:relative;
}
.hero-sub{
  font-size:17.5px; color:#a7b0b6; max-width:520px; margin-bottom:36px;
}
.hero-actions{display:flex; flex-wrap:wrap; gap:16px; margin-bottom:10px;}

.hero-visual{
  position:relative; height:560px;
}
.hero-visual-frame{
  position:absolute; inset:0;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.hero-visual-frame img{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(1.05) contrast(1.05);
  transform:scale(1.02);
}
.hero-visual-frame::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(16,24,32,0) 40%, rgba(16,24,32,.85) 100%),
             linear-gradient(90deg, rgba(16,24,32,.55) 0%, transparent 38%);
}
.floating-card{
  position:absolute; background:rgba(16,24,32,.72);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-md);
  padding:18px 22px;
  box-shadow:0 24px 48px -12px rgba(0,0,0,.5);
  z-index:3;
}
.floating-card .big-num{
  font-family:var(--font-head); font-size:30px; font-weight:800; color:var(--yellow); line-height:1;
}
.floating-card .cap-label{font-size:12px; color:#cfd6da; margin-top:6px; font-weight:600; letter-spacing:.03em;}
.card-capacity{ left:-6%; bottom:14%; animation:floatY 5s ease-in-out infinite;}
.card-available{ right:4%; top:8%; animation:floatY 5.5s ease-in-out infinite .4s;}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}

.measure-line{position:absolute; right:-2%; top:6%; text-align:center; z-index:2; color:#8b969e;}
.measure-line .tick{width:1px; height:70px; background:rgba(255,255,255,.25); margin:6px auto;}
.measure-line span{font-family:var(--font-head); font-size:12px; font-weight:700; letter-spacing:.05em; color:#cfd6da;}

/* =========================================================
   STATS STRIP
========================================================= */
.stats-strip{
  background:var(--white);
  border-bottom:1px solid var(--border);
  padding:56px 0;
  margin-top:-1px;
  position:relative;
  z-index:5;
}
.stat-item{text-align:left; padding:0 10px; border-left:2px solid var(--border);}
.stat-item.no-border{border-left:none;}
.stat-num{
  font-family:var(--font-head); font-weight:800;
  font-size:clamp(30px,3.4vw,44px);
  color:var(--dark);
  display:flex; align-items:baseline; gap:4px;
}
.stat-num .suffix{font-size:.5em; color:var(--orange);}
.stat-label{font-size:13.5px; color:var(--muted); font-weight:500; margin-top:6px;}

/* =========================================================
   INTRO
========================================================= */
.intro-lead{font-size:20px; color:var(--dark); font-weight:500; line-height:1.5;}
.intro-text{font-size:16px; color:var(--muted);}

/* =========================================================
   SERVICES
========================================================= */
.service-card{
  position:relative;
  background:var(--white);
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--border);
  transition:all .45s var(--ease);
  height:100%;
}
.service-card:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 60px -20px rgba(16,24,32,.25);
  border-color:transparent;
}
.service-card-img{
  position:relative; height:230px; overflow:hidden;
}
.service-card-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.service-card:hover .service-card-img img{transform:scale(1.08);}
.service-card-num{
  position:absolute; top:16px; left:16px;
  font-family:var(--font-head); font-weight:800; font-size:13px;
  color:#fff; background:rgba(16,24,32,.55); backdrop-filter:blur(6px);
  padding:6px 12px; border-radius:100px; letter-spacing:.05em;
}
.service-card-body{padding:28px 26px 30px;}
.service-card-body h4{font-size:21px; margin-bottom:10px;}
.service-card-body p{font-size:14.5px; margin-bottom:18px;}
.service-link{
  font-family:var(--font-head); font-weight:700; font-size:13.5px; color:var(--dark);
  display:inline-flex; align-items:center; gap:8px;
  border-top:1px solid var(--border); padding-top:16px; width:100%;
}
.service-link i{color:var(--orange); transition:transform .3s var(--ease);}
.service-card:hover .service-link i{transform:translateX(6px);}

/* =========================================================
   CAPABILITY (10-500 TON)
========================================================= */
.capability-visual{position:relative; border-radius:var(--radius-lg); overflow:hidden; height:520px;}
.capability-visual img{width:100%; height:100%; object-fit:cover;}
.capability-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(16,24,32,.7), transparent 55%);}
.cap-callout{
  position:absolute; z-index:2; font-family:var(--font-head); color:#fff; font-weight:700; font-size:13px;
  background:rgba(16,24,32,.55); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.15);
  padding:10px 16px; border-radius:100px;
}
.giant-num{
  font-family:var(--font-head); font-weight:800; font-size:clamp(50px,7vw,96px); color:#fff; line-height:.95;
  background:linear-gradient(90deg, #12d780, var(--yellow) 90%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.cap-feature-list{list-style:none; padding:0; margin:28px 0 0;}
.cap-feature-list li{
  display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.1);
  color:#e7ebec; font-weight:500; font-size:15px;
}
.cap-feature-list li i{color:var(--yellow); font-size:18px;}

/* =========================================================
   EQUIPMENT
========================================================= */
.eq-tabs{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px;}
.eq-tab-btn{
  font-family:var(--font-head); font-weight:700; font-size:13.5px;
  padding:11px 22px; border-radius:100px; border:1.5px solid var(--border);
  background:#fff; color:var(--dark); transition:all .3s var(--ease);
}
.eq-tab-btn.active,.eq-tab-btn:hover{
  background:var(--dark); color:#fff; border-color:var(--dark);
}
.eq-card{
  background:#fff; border-radius:var(--radius-md); border:1px solid var(--border); overflow:hidden;
  transition:all .4s var(--ease); height:100%;
}
.eq-card:hover{transform:translateY(-6px); box-shadow:0 22px 44px -16px rgba(16,24,32,.2);}
.eq-card-img{height:210px; overflow:hidden; background:var(--light);}
.eq-card-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease);}
.eq-card:hover .eq-card-img img{transform:scale(1.06);}
.eq-card-body{padding:18px 20px;}
.eq-card-body h5{font-size:15.5px; margin-bottom:4px;}
.eq-card-body span{font-size:12.5px; color:var(--orange); font-weight:700;}
.eq-pane{display:none;}
.eq-pane.active{display:flex; flex-wrap:wrap;}

/* =========================================================
   PROCESS
========================================================= */
.process-track{position:relative;}
.process-track::before{
  content:''; position:absolute; top:34px; left:0; right:0; height:2px;
  background:repeating-linear-gradient(90deg, var(--border) 0 8px, transparent 8px 16px);
  z-index:0;
}
@media (max-width:991.98px){.process-track::before{display:none;}}
.process-step{position:relative; z-index:1; text-align:left;}
.process-num-circle{
  width:68px; height:68px; border-radius:50%; background:var(--dark);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-weight:800; color:var(--yellow); font-size:20px;
  margin-bottom:22px; border:4px solid var(--light);
  transition:all .4s var(--ease);
}
.process-step:hover .process-num-circle{background:var(--orange); color:#fff; transform:scale(1.08);}
.process-step h5{font-size:17px; margin-bottom:8px;}
.process-step p{font-size:14px;}

/* =========================================================
   GALLERY
========================================================= */
.gallery-item{
  position:relative; border-radius:var(--radius-md); overflow:hidden; height:100%; max-height: 230px;
}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.gallery-item:hover img{transform:scale(1.08);}
.gallery-item::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(16,24,32,.85) 0%, transparent 45%);
}
.gallery-label{
  position:absolute; left:18px; bottom:16px; z-index:2; color:#fff;
}
.gallery-label .tag{
  font-family:var(--font-head); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--yellow);
  display:block; margin-bottom:4px;
}
.gallery-label h6{color:#fff; font-size:15px; margin:0;}
.gallery-tall{min-height:480px;}
@media (max-width:767.98px){
    .navbar-brand-custom img {
        width: 285px !important;
    }
    .gallery-tall{min-height:230px;}}

/* =========================================================
   INDUSTRIES
========================================================= */
.industry-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
  padding:30px 24px; height:100%; transition:all .35s var(--ease);
}
.industry-card:hover{border-color:var(--orange); transform:translateY(-6px); box-shadow:0 20px 40px -18px rgba(16,24,32,.18);}
.industry-icon{
  width:52px; height:52px; border-radius:12px; background:var(--light);
  display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--orange);
  margin-bottom:20px; transition:all .35s var(--ease);
}
.industry-card:hover .industry-icon{background:var(--orange); color:#fff;}
.industry-card h5{font-size:16.5px; margin-bottom:8px;}
.industry-card p{font-size:13.5px; margin:0;}

/* =========================================================
   WHY US
========================================================= */
.why-item{
  display:flex; gap:20px; padding:28px 0; border-bottom:1px solid rgba(255,255,255,.1);
}
.why-num{
  font-family:var(--font-head); font-weight:800; font-size:15px; color:var(--yellow);
  border:1px solid rgba(255,255,255,.25); width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.why-item h5{font-size:18px; margin-bottom:6px;}
.why-item p{font-size:14.5px; margin:0;}

/* =========================================================
   SAFETY
========================================================= */
.ppe-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
  padding:26px 18px; text-align:center; transition:all .35s var(--ease); height:100%;
}
.ppe-card:hover{transform:translateY(-6px); border-color:var(--yellow); box-shadow:0 18px 36px -16px rgba(16,24,32,.18);}
.ppe-icon{
  width:60px; height:60px; margin:0 auto 16px; border-radius:50%;
  background:linear-gradient(135deg, var(--yellow), #18c37d);
  display:flex; align-items:center; justify-content:center; font-size:24px; color:#101820;
}
.ppe-card h6{font-size:14px; margin:0; font-weight:700;}

/* =========================================================
   MANPOWER
========================================================= */
.manpower-section{position:relative; background:var(--dark); overflow:hidden;}
.manpower-bg-img{position:absolute; inset:0; opacity:.18;}
.manpower-bg-img img{width:100%; height:100%; object-fit:cover;}
.manpower-stat{text-align:center; padding:20px;}
.manpower-stat .num{font-family:var(--font-head); font-weight:800; font-size:56px; color:var(--yellow); line-height:1;}
.manpower-stat .lbl{font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:#cfd6da; font-weight:600; margin-top:10px;}

/* =========================================================
   CLIENTS MARQUEE
========================================================= */
.marquee-wrap{overflow:hidden; position:relative; padding:14px 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track{display:flex; width:max-content; gap:50px; animation:scrollX 38s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
@keyframes scrollX{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.client-chip{
  font-family:var(--font-head); font-weight:700; font-size:17px; color:var(--dark);
  white-space:nowrap; opacity:.55; display:flex; align-items:center; gap:10px; transition:opacity .3s;
}
.client-chip:hover{opacity:1; color:var(--orange);}
.client-chip i{color:var(--border); font-size:8px;}

/* =========================================================
   BIG CTA
========================================================= */
.cta-band{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; background:var(--dark);
  padding:70px 50px;
}
@media (max-width:767.98px){.cta-band{padding:46px 24px;}}
.cta-band-img{position:absolute; inset:0; opacity:.28;}
.cta-band-img img{width:100%; height:100%; object-fit:cover;}
.cta-band::after{content:'';position:absolute; inset:0; background:linear-gradient(90deg, rgba(16,24,32,.97) 30%, rgba(16,24,32,.55));}

/* =========================================================
   ENQUIRY FORM
========================================================= */
.enquiry-card{
  background:#fff; border-radius:var(--radius-lg); border:1px solid var(--border);
  padding:46px; box-shadow:0 40px 80px -30px rgba(16,24,32,.15);
}
@media (max-width:767.98px){.enquiry-card{padding:26px;}}
.form-label-custom{
  font-family:var(--font-head); font-weight:600; font-size:13px; color:var(--dark); margin-bottom:8px; display:block;
}
.form-control-custom, .form-select-custom{
  width:100%; border:1.5px solid var(--border); border-radius:var(--radius-sm);
  padding:13px 16px; font-size:14.5px; background:var(--light); transition:all .3s;
}
.form-control-custom:focus, .form-select-custom:focus{
  outline:none; border-color:var(--orange); background:#fff; box-shadow:0 0 0 4px rgba(0,94,179,.1);
}

/* =========================================================
   CONTACT
========================================================= */
.contact-info-item{display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--border);}
.contact-info-item:last-child{border-bottom:none;}
.contact-icon-box{
  width:52px; height:52px; border-radius:12px; background:var(--dark);
  display:flex; align-items:center; justify-content:center; color:var(--yellow); font-size:20px; flex-shrink:0;
}
.contact-info-item h6{font-family:var(--font-head); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px;}
.contact-info-item p{margin:0; font-size:15.5px; color:var(--dark); font-weight:500;}
.map-frame{border-radius:var(--radius-lg); overflow:hidden; height:100%; min-height:420px; border:1px solid var(--border);}
.map-frame iframe{width:100%; height:100%; min-height:420px; border:0; filter:grayscale(.3) contrast(1.05);}

/* =========================================================
   FOOTER
========================================================= */
footer{background:var(--dark); color:#9AA6AE; padding-top:90px;}
footer h6{
  font-family:var(--font-head); color:#fff; font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  margin-bottom:22px;
}
footer ul{list-style:none; padding:0; margin:0;}
footer ul li{margin-bottom:12px;}
footer ul li a{color:#9AA6AE; font-size:14.5px; transition:color .3s, padding-left .3s;}
footer ul li a:hover{color:var(--yellow); padding-left:4px;}
.footer-contact li a{display:flex; align-items:flex-start; gap:10px;}
.footer-contact li a i{color:var(--yellow); font-size:15px; line-height:1.6; flex-shrink:0;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); margin-top:60px; padding:26px 0; font-size:13px;}
.social-icon{
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center; color:#fff; transition:all .3s;
}
.social-icon:hover{background:var(--orange); border-color:var(--orange); transform:translateY(-4px);}

/* =========================================================
   STICKY MOBILE BAR / FLOATING BUTTONS
========================================================= */
.mobile-sticky-bar{
  position:fixed; bottom:0; left:0; right:0; z-index:1050;
  display:none; background:var(--dark); border-top:1px solid rgba(255,255,255,.08);
}
.mobile-sticky-bar a{
  flex:1; text-align:center; padding:14px 6px; color:#fff; font-family:var(--font-head);
  font-size:12px; font-weight:700; display:flex; flex-direction:column; align-items:center; gap:4px;
  border-right:1px solid rgba(255,255,255,.08);
}
.mobile-sticky-bar a:last-child{border-right:none;}
.mobile-sticky-bar a.wa{color:#25D366;}
.mobile-sticky-bar a.quote{background:var(--orange);}
@media (max-width:767.98px){.mobile-sticky-bar{display:flex;} body{padding-bottom:60px;}}

.desktop-float-actions{
  position:fixed; right:26px; bottom:34px; z-index:1050; display:flex; flex-direction:column; gap:14px;
}
@media (max-width:767.98px){.desktop-float-actions{display:none;}}
.float-btn{
  width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:24px; color:#fff; box-shadow:0 14px 30px -8px rgba(0,0,0,.4); transition:all .35s var(--ease);
}
.float-btn.wa{background:#25D366;}
.float-btn.quote{background:var(--orange);}
.float-btn:hover{transform:translateY(-5px) scale(1.05); color:#fff;}
.float-btn.totop{background:#fff; color:var(--dark); border:1px solid var(--border); opacity:0; pointer-events:none;}
.float-btn.totop.show{opacity:1; pointer-events:auto;}

/* AOS-independent simple reveal (fallback) */
[data-aos]{ }

/* Scrollbar */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--light);}
::-webkit-scrollbar-thumb{background:var(--dark); border-radius:10px;}

/* =========================================================
   INNER PAGES
========================================================= */

/* Active nav + services dropdown */
.main-nav a.active{color:var(--orange);}
.main-nav a.active::after{width:100%;}
.main-nav a .bi-chevron-down{font-size:10px; margin-left:2px; display:inline-block; transition:transform .3s var(--ease);}
.nav-dropdown{position:relative;}
.nav-dropdown:hover > a .bi-chevron-down{transform:rotate(180deg);}
.nav-dropdown-menu{
  position:absolute; top:100%; left:-22px; padding-top:18px; min-width:270px;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all .3s var(--ease); z-index:10;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1; visibility:visible; transform:translateY(0);}
.nav-dropdown-inner{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
  box-shadow:0 24px 50px -18px rgba(16,24,32,.3); padding:10px;
}
.main-nav .nav-dropdown-inner a{display:block; padding:11px 14px; border-radius:var(--radius-sm); font-size:14px;}
.main-nav .nav-dropdown-inner a::after{display:none;}
.main-nav .nav-dropdown-inner a:hover,
.main-nav .nav-dropdown-inner a.active{background:var(--light); color:var(--orange);}
.offcanvas-brand-dark .nav-link.active{color:#12d780;}
a.header-phone:hover{color:var(--orange);}

/* Page hero / banner */
.page-hero{
  position:relative; background:var(--dark); overflow:hidden;
  padding:200px 0 100px;
}
@media (max-width:991.98px){.page-hero{padding:150px 0 70px;}}
.page-hero-bg{position:absolute; inset:0;}
.page-hero-bg img{width:100%; height:100%; object-fit:cover; opacity:.35;}
.page-hero::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(16,24,32,.96) 25%, rgba(16,24,32,.55));
}
@media (min-width:992px){
  .page-hero-bg{left:35%;}
  .page-hero-bg img{opacity:1;}
  .page-hero::after{
    background:linear-gradient(90deg, var(--dark) 35%, rgba(16,24,32,.85) 50%, rgba(16,24,32,.25) 75%, rgba(16,24,32,.1) 100%);
  }
}
.page-hero .grid-overlay, .page-hero .glow-orange{z-index:2;}
.page-hero .container-xl-custom{z-index:3;}
.page-hero h1{
  color:#fff; font-size:clamp(34px,5vw,62px); line-height:1.06; max-width:820px; margin-bottom:20px;
}
.page-hero h1 .text-accent{color:#12d780;}
.page-hero p{color:#a7b0b6; font-size:17.5px; max-width:640px; margin:0;}
.page-hero .eyebrow{color:#12d780;}
.page-hero .eyebrow::before{background:#12d780;}
.breadcrumb-custom{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; list-style:none; padding:0; margin:0 0 26px;
  font-family:var(--font-head); font-size:13px; font-weight:600; color:#9AA6AE;
}
.breadcrumb-custom a{color:#cfd6da; transition:color .3s;}
.breadcrumb-custom a:hover{color:#fff;}
.breadcrumb-custom .bi-chevron-right{font-size:10px; opacity:.6;}
.breadcrumb-custom .current{color:#12d780;}

/* Detail / about imagery */
.detail-img{border-radius:var(--radius-lg); overflow:hidden; height:440px; border:1px solid var(--border);}
.detail-img img{width:100%; height:100%; object-fit:cover;}
@media (max-width:767.98px){.detail-img{height:280px;}}
.about-visual{position:relative; height:520px; border-radius:var(--radius-lg);}
.about-visual > img{width:100%; height:100%; object-fit:cover; border-radius:var(--radius-lg);}
.about-badge{right:-4%; bottom:8%; animation:floatY 5s ease-in-out infinite;}
@media (max-width:767.98px){.about-visual{height:340px;} .about-badge{right:12px; bottom:12px;}}
.detail-subtitle{font-size:22px; margin-bottom:22px;}

/* Lists & chips */
.check-list{list-style:none; padding:0; margin:0;}
.check-list li{display:flex; align-items:flex-start; gap:12px; padding:9px 0; font-size:15px; color:var(--dark); font-weight:500;}
.check-list li i{color:var(--orange); font-size:16px; line-height:1.5; flex-shrink:0;}
.check-list-sm li{font-size:13.5px; padding:5px 0;}
.check-list-sm li i{font-size:13px;}
.chip-list{display:flex; flex-wrap:wrap; gap:10px;}
.chip{
  display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:100px;
  background:#fff; border:1px solid var(--border); font-family:var(--font-head); font-size:13.5px; font-weight:600;
}
.chip i{color:var(--orange);}
.service-inline-link{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-head); font-weight:700; font-size:14px; color:var(--orange);
}
.service-inline-link i{transition:transform .3s var(--ease);}
.service-inline-link:hover i{transform:translateX(5px);}

/* Linked cards */
a.service-card, a.industry-card, a.gallery-item{color:inherit;}
a.industry-card h5{transition:color .3s;}
a.industry-card:hover h5{color:var(--orange);}

/* Service sidebar */
.sticky-sidebar{position:sticky; top:130px;}
.sidebar-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px;}
.sidebar-links a{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 18px; margin-bottom:8px; border-radius:var(--radius-sm);
  background:var(--light); font-family:var(--font-head); font-weight:600; font-size:14.5px;
  transition:all .3s var(--ease);
}
.sidebar-links a:last-child{margin-bottom:0;}
.sidebar-links a i{color:var(--orange); transition:transform .3s var(--ease);}
.sidebar-links a:hover, .sidebar-links a.active{background:var(--dark); color:#fff;}
.sidebar-links a:hover i, .sidebar-links a.active i{color:#12d780; transform:translateX(4px);}
.sidebar-cta{
  position:relative; overflow:hidden; background:var(--dark); border-radius:var(--radius-lg); padding:32px 28px;
}
.sidebar-cta .eyebrow{color:#12d780;}
.sidebar-cta .eyebrow::before{background:#12d780;}
.sidebar-cta h4{color:#fff; font-size:22px; margin-bottom:10px;}
.sidebar-cta p{color:#9AA6AE; font-size:14.5px; margin-bottom:22px;}

/* Projects grid */
.project-grid .gallery-item{height:320px;}
@media (max-width:767.98px){.project-grid .gallery-item{height:260px;}}
