:root{
  --primary:#0F2746;
  --primary-dark:#0A1B33;
  --primary-light:#1E3A5F;
  --secondary:#58595B;
  --accent:#1568AF;
  --accent-dark:#0F4E86;
  --dark:#0F172A;
  --text:#1E293B;
  --muted:#64748B;
  --bg:#FFFFFF;
  --bg-soft:#F1F5F9;
  --bg-darker:#E2E8F0;
  --border:#E2E8F0;
  --border-strong:#CBD5E1;
  --whatsapp:#25D366;
  --shadow-xs:0 1px 2px rgba(15,23,42,.04);
  --shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
  --shadow-md:0 6px 16px rgba(15,23,42,.08);
  --shadow-lg:0 18px 44px rgba(15,39,70,.18);
  --shadow-xl:0 32px 64px rgba(15,39,70,.22);
  --radius:8px;
  --radius-lg:14px;
  --radius-xl:20px;
  --easing:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;
  font-size:15px;overflow-x:hidden;
}
a{color:inherit;text-decoration:none;transition:color .2s}
img{max-width:100%;display:block}
.container{max-width:1240px;margin:0 auto;padding:0 24px}
.icon{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.icon-lg{width:24px;height:24px}

/* Top bar */
.topbar{background:var(--primary-dark);color:#94A3B8;font-size:13px;border-bottom:1px solid #1A2940}
.topbar .container{display:flex;justify-content:space-between;align-items:center;padding:9px 24px;flex-wrap:wrap;gap:12px}
.topbar a{color:#CBD5E1;display:inline-flex;align-items:center;gap:6px}
.topbar .left{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.topbar .right{display:flex;gap:14px;align-items:center}
.topbar .right a:hover{color:#fff}
.topbar .social a{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.06);display:inline-flex;align-items:center;justify-content:center;transition:all .2s}
.topbar .social a:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}
.topbar .social svg{width:13px;height:13px}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border);transition:box-shadow .25s}
header.site.scrolled{box-shadow:var(--shadow-sm)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:24px}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:46px;width:auto}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{color:#1E293B;font-weight:500;font-size:14.5px;letter-spacing:.1px;position:relative;padding:8px 0;transition:color .2s}
.nav-links a:hover{color:var(--accent)}
.nav-links a.active{color:var(--accent)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent);border-radius:2px}
.nav-cta{display:flex;gap:8px;align-items:center}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:6px;font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;transition:all .25s var(--easing);white-space:nowrap;font-family:inherit;position:relative;overflow:hidden}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,39,70,.3)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(21,104,175,.35)}
.btn-outline{background:transparent;color:var(--primary);border-color:var(--border-strong)}
.btn-outline:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-wa{background:var(--whatsapp);color:#fff}
.btn-wa:hover{background:#1ebd5b;transform:translateY(-2px);box-shadow:0 10px 24px rgba(37,211,102,.35)}
.btn-light{background:#fff;color:var(--primary);border-color:#fff}
.btn-light:hover{background:rgba(255,255,255,.92);transform:translateY(-2px)}
.btn-dark-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn-dark-outline:hover{background:#fff;color:var(--primary);border-color:#fff}
.btn-lg{padding:14px 26px;font-size:14.5px;letter-spacing:.2px}
.btn-sm{padding:8px 14px;font-size:13px;border-radius:6px}

.hamburger{display:none;background:none;border:1px solid var(--border);padding:8px 10px;border-radius:8px;font-size:18px;color:var(--dark);cursor:pointer}

/* HERO SLIDER */
.hero{position:relative;background:#0A1B33;overflow:hidden;height:640px}
.slides{position:relative;width:100%;height:100%}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--easing);pointer-events:none}
.slide.active{opacity:1;pointer-events:auto}
.slide-bg{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.05);transition:transform 8s linear}
.slide.active .slide-bg{transform:scale(1)}
.slide-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,27,51,.95) 0%,rgba(10,27,51,.78) 45%,rgba(10,27,51,.55) 75%,rgba(10,27,51,.4) 100%)}
.slide-bg::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);z-index:1}

.slide-content{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.slide-content .container{width:100%}
.slide-inner{max-width:680px;color:#fff;opacity:0;transform:translateY(30px);transition:opacity .9s var(--easing) .25s,transform .9s var(--easing) .25s}
.slide.active .slide-inner{opacity:1;transform:translateY(0)}
.slide-tag{display:inline-block;font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:#fff;margin-bottom:18px;padding:6px 14px;background:rgba(21,104,175,.85);border:1px solid rgba(255,255,255,.2);border-radius:99px}
.slide-inner h1{font-size:62px;line-height:1.05;margin:0 0 20px;font-weight:800;letter-spacing:-1.5px;color:#fff}
.slide-inner h1 span{color:var(--accent)}
.slide-inner p{font-size:18px;color:#CBD5E1;margin:0 0 32px;max-width:560px;line-height:1.6}
.slide-ctas{display:flex;gap:12px;flex-wrap:wrap}

/* Slider controls */
.slider-arrows{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;pointer-events:none;z-index:3}
.slider-arrow{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;backdrop-filter:blur(10px);pointer-events:auto}
.slider-arrow:hover{background:var(--accent);border-color:var(--accent);transform:scale(1.05)}
.slider-arrow svg{width:20px;height:20px}
.slider-dots{position:absolute;bottom:34px;left:0;right:0;display:flex;justify-content:center;gap:10px;z-index:3}
.slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);border:0;cursor:pointer;transition:all .3s;padding:0}
.slider-dot.active{background:var(--accent);width:34px;border-radius:99px}
.slider-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--accent);width:0;z-index:3;transition:width .15s linear}

/* Page banner (inner pages) */
.page-banner{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);color:#fff;padding:64px 0 70px;position:relative;overflow:hidden;border-bottom:1px solid #1A2940}
.page-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 90% 0%,rgba(21,104,175,.28),transparent 60%);pointer-events:none}
.page-banner .container{position:relative;z-index:1}
.page-banner h1{font-size:42px;margin:0 0 12px;font-weight:800;letter-spacing:-.8px;color:#fff;line-height:1.15}
.page-banner p{margin:0;color:#CBD5E1;font-size:16px;max-width:760px;line-height:1.65}
.crumbs{font-size:13px;color:#94A3B8;margin-bottom:14px;display:flex;align-items:center;gap:6px}
.crumbs a{color:#94A3B8}
.crumbs a:hover{color:#fff}
.crumbs .sep{color:#475569}

/* Trust strip / Counters */
.counters{background:var(--primary);color:#fff;padding:0;position:relative;overflow:hidden;border-bottom:5px solid var(--accent)}
.counters::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 80% 50%,rgba(77,143,202,.18),transparent 60%);pointer-events:none}
.counters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;z-index:1}
.counter{padding:42px 24px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.counter:last-child{border-right:none}
.counter .icw{width:48px;height:48px;border-radius:12px;background:rgba(77,143,202,.2);color:#7FB3E0;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.counter .icw svg{width:24px;height:24px}
.counter .n{font-size:42px;font-weight:800;color:#fff;letter-spacing:-1px;line-height:1}
.counter .n .plus{color:var(--accent)}
.counter .l{font-size:13px;color:#CBD5E1;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;margin-top:8px}

/* Section common */
section{padding:90px 0}
.section-head{text-align:center;max-width:760px;margin:0 auto 56px}
.section-head.left{text-align:left;margin:0 0 36px;max-width:none}
.eyebrow{display:inline-block;font-size:12px;letter-spacing:3px;color:var(--accent);font-weight:700;text-transform:uppercase;margin-bottom:14px}
h2{font-size:38px;line-height:1.18;margin:0 0 16px;color:var(--primary);font-weight:800;letter-spacing:-.8px}
h2 span.accent{color:var(--accent)}
.section-head p{color:var(--muted);font-size:16px;margin:0;line-height:1.7}
.bg-soft{background:var(--bg-soft)}
.bg-dark{background:var(--primary);color:#fff}
.bg-dark h2{color:#fff}
.bg-dark .eyebrow{color:var(--accent)}
.bg-dark .section-head p{color:#CBD5E1}

/* Cards */
.grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}

/* Product Category cards (Houston-style) */
.cat-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .35s var(--easing);cursor:pointer;position:relative;display:flex;flex-direction:column}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--primary)}
.cat-card .cat-img{height:200px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1E3A5F,#0F2746)}
.cat-card .cat-img::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:32px 32px;opacity:.7}
.cat-card .cat-img svg{position:absolute;inset:0;margin:auto;width:80px;height:80px;color:rgba(255,255,255,.85);transition:transform .5s var(--easing)}
.cat-card:hover .cat-img svg{transform:scale(1.12) rotate(-3deg)}
.cat-card .cat-img .num{position:absolute;top:16px;right:18px;font-size:13px;font-weight:700;color:rgba(255,255,255,.45);letter-spacing:1px;z-index:2}
.cat-card .cat-img.has-photo{background:#fff}
.cat-card .cat-img.has-photo::before{opacity:0}
.cat-card .cat-img.has-photo .num{color:rgba(15,39,70,.4)}
.cat-card .cat-img .cat-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:22px;transition:transform .5s var(--easing)}
.cat-card .cat-img .cat-photo.cover{object-fit:cover;padding:0}
.cat-card:hover .cat-img .cat-photo{transform:scale(1.06)}
.cat-card .cat-body{padding:26px;display:flex;flex-direction:column;flex:1}
.cat-card h3{margin:0 0 8px;font-size:20px;color:var(--primary);font-weight:800;letter-spacing:-.3px}
.cat-card p{margin:0 0 18px;color:var(--muted);font-size:14.5px;line-height:1.65;flex:1}
.cat-card .cat-link{color:var(--accent);font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:1px;transition:gap .25s}
.cat-card:hover .cat-link{gap:12px}

/* Standard cards */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px;transition:all .3s var(--easing)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}
.card .ic{width:54px;height:54px;border-radius:12px;background:#FEE2E2;color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.card .ic svg{width:26px;height:26px}
.card h3{margin:0 0 10px;font-size:18px;color:var(--primary);font-weight:700;letter-spacing:-.2px}
.card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}
.card a.more{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:var(--accent);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;transition:gap .2s}
.card a.more:hover{gap:10px}

/* Why us — feature row */
.feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.feature-item{padding:28px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;transition:all .3s var(--easing)}
.feature-item:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.feature-item .icw{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 8px 20px rgba(21,104,175,.25)}
.feature-item .icw svg{width:28px;height:28px}
.feature-item h4{margin:0 0 8px;font-size:16px;color:var(--primary);font-weight:700}
.feature-item p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.6}

/* Who We Are split */
.split-section{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.split-section.reverse{grid-template-columns:1.1fr 1fr}
.split-image{position:relative;border-radius:var(--radius-xl);overflow:hidden;min-height:480px;background:linear-gradient(135deg,#1E3A5F,#0F2746);box-shadow:var(--shadow-lg)}
.split-image::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:36px 36px;opacity:.7}
.split-image .floating-stat{position:absolute;bottom:24px;left:24px;background:#fff;border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-md);display:flex;gap:14px;align-items:center;max-width:300px}
.split-image .floating-stat .icw{width:48px;height:48px;border-radius:10px;background:#FEE2E2;color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.split-image .floating-stat .icw svg{width:22px;height:22px}
.split-image .floating-stat .vc{font-size:13px;color:var(--muted)}
.split-image .floating-stat .vc b{display:block;color:var(--primary);font-size:18px;font-weight:800;letter-spacing:-.3px}
.split-image .accent-shape{position:absolute;top:24px;right:24px;width:120px;height:120px;border-radius:18px;background:var(--accent);opacity:.85}
.split-image .accent-shape::before{content:"20+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#fff;letter-spacing:-1px}
.split-image .accent-shape::after{content:"YEARS";position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:10px;color:#fff;letter-spacing:2px;font-weight:700}
.split-content .eyebrow{margin-bottom:14px}
.split-content h2{margin-bottom:18px}
.split-content p{margin:0 0 16px;color:var(--muted);font-size:15.5px;line-height:1.7}
.feature-list{list-style:none;padding:0;margin:24px 0 28px}
.feature-list li{padding:11px 0 11px 32px;position:relative;border-bottom:1px solid var(--border);font-size:14.5px;line-height:1.6;color:var(--text)}
.feature-list li:last-child{border-bottom:none}
.feature-list li::before{content:"";position:absolute;left:0;top:14px;width:18px;height:18px;border-radius:50%;background:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");background-size:11px 11px;background-position:center;background-repeat:no-repeat}

/* Product range list (Neptune-style) */
.range-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:#fff}
.range-grid .range-item{padding:20px 24px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;font-size:14.5px;font-weight:600;color:var(--primary);transition:all .25s}
.range-grid .range-item:nth-child(4n){border-right:none}
.range-grid .range-item:nth-last-child(-n+4){border-bottom:none}
.range-grid .range-item:hover{background:var(--bg-soft);color:var(--accent);padding-left:32px}
.range-grid .range-item .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}

/* Featured Products */
.product{background:#fff;border-radius:var(--radius-lg);padding:18px;border:1px solid var(--border);transition:all .3s var(--easing);display:flex;flex-direction:column}
.product:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--border-strong)}
.product .img{height:170px;border-radius:10px;background:linear-gradient(135deg,#1E3A5F,#0F2746);display:flex;align-items:center;justify-content:center;margin-bottom:18px;text-align:center;padding:8px;position:relative;overflow:hidden}
.product .img svg{width:64px;height:64px;color:rgba(255,255,255,.85);transition:transform .4s var(--easing)}
.product:hover .img svg{transform:scale(1.1)}
.product .img::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px;opacity:.6}
.product .img .badge{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px;letter-spacing:.5px;z-index:1}
.product h4{margin:0 0 4px;font-size:16px;color:var(--primary);font-weight:700;letter-spacing:-.2px}
.product .model{color:var(--muted);font-size:13px;margin-bottom:14px}
.product ul{margin:0 0 16px;padding-left:18px;font-size:13px;color:var(--text);line-height:1.7}
.product ul li{margin:1px 0}
.product .actions{display:flex;gap:8px;margin-top:auto}
.product .actions .btn-sm{flex:1}

/* Industries */
.industries{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.ind{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px 16px;text-align:center;font-size:13.5px;font-weight:600;color:var(--primary);transition:all .3s var(--easing);cursor:default}
.ind:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.ind .icw{width:42px;height:42px;margin:0 auto 10px;border-radius:50%;background:#FEE2E2;color:var(--accent);display:flex;align-items:center;justify-content:center;transition:all .3s}
.ind .icw svg{width:20px;height:20px}
.ind:hover .icw{background:var(--accent);color:#fff}

/* Projects gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pj{border-radius:var(--radius-lg);overflow:hidden;position:relative;height:300px;background:#fff;color:#fff;display:flex;flex-direction:column;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:all .35s var(--easing);cursor:pointer}
.pj:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pj .pj-img{flex:1;min-height:0;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pj .pj-img img{width:100%;height:100%;object-fit:contain;padding:26px;transition:transform .45s var(--easing)}
.pj .pj-img img.cover{object-fit:cover;padding:0}
.pj:hover .pj-img img{transform:scale(1.07)}
.pj .meta{width:100%;padding:18px 22px;background:linear-gradient(135deg,var(--primary-dark),var(--primary));position:relative;z-index:1}
.pj .meta .tag{display:inline-block;background:var(--accent);border:1px solid var(--accent);padding:4px 12px;border-radius:99px;font-size:11px;letter-spacing:1px;font-weight:700;margin-bottom:10px;text-transform:uppercase}
.pj .meta .t{font-weight:700;font-size:17px;letter-spacing:-.2px;line-height:1.3}
.pj .meta .s{font-size:13.5px;color:#CBD5E1;margin-top:4px}
.center-cta{text-align:center;margin-top:44px}

/* Promise block (Houston-style) */
.promise{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);color:#fff;padding:120px 0;position:relative;overflow:hidden}
.promise::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%)}
.promise::after{content:"";position:absolute;top:-50%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(77,143,202,.22),transparent 70%);pointer-events:none}
.promise .container{position:relative;z-index:1;text-align:center}
.promise .eyebrow{color:var(--accent)}
.promise h2{color:#fff;font-size:52px;line-height:1.15;letter-spacing:-1.2px;max-width:900px;margin:0 auto 22px}
.promise h2 span{color:var(--accent);font-style:italic;font-weight:600}
.promise p.lead{color:#CBD5E1;font-size:18px;max-width:680px;margin:0 auto 36px;line-height:1.7}

/* Client logo wall */
.logo-wall{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.logo-cell{aspect-ratio:3/2;background:#fff;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:700;font-size:13px;letter-spacing:1px;transition:all .25s;padding:16px 20px}
.logo-cell img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1);opacity:.72;transition:all .25s}
.logo-cell:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.logo-cell:hover img{filter:grayscale(0);opacity:1}
.and-more{text-align:center;margin-top:30px;font-size:14.5px;color:var(--muted);font-style:italic}

/* Lead block */
.lead-block{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 60%,var(--primary-light) 100%);color:#fff;border-radius:var(--radius-xl);padding:56px;display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start;box-shadow:var(--shadow-xl);position:relative;overflow:hidden}
.lead-block::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 100% 0%,rgba(77,143,202,.2),transparent 55%);pointer-events:none}
.lead-block > *{position:relative;z-index:1}
.lead-block h2{color:#fff;margin-bottom:8px;font-size:34px}
.lead-block .eyebrow{color:var(--accent)}
.lead-block p.sub{color:#CBD5E1;margin:0 0 28px;font-size:15.5px}
form.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:12px}
form.enquiry .full{grid-column:1/3}
form.enquiry input,form.enquiry select,form.enquiry textarea{width:100%;padding:14px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.97);color:var(--dark);font-family:inherit;font-size:14px;transition:all .2s}
form.enquiry input:focus,form.enquiry select:focus,form.enquiry textarea:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,104,175,.25)}
form.enquiry input::placeholder,form.enquiry textarea::placeholder{color:#94A3B8}
form.enquiry select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
form.enquiry textarea{min-height:96px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;color:#CBD5E1;font-size:13.5px;line-height:1.5;cursor:pointer;user-select:none}
.check input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin:0;margin-top:1px;accent-color:var(--accent);cursor:pointer}
.lead-side{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:26px}
.lead-side h4{margin:0 0 8px;font-size:17px;color:#fff;font-weight:700}
.lead-side > p{margin:0 0 20px;color:#CBD5E1;font-size:14px;line-height:1.6}
.lead-side .info{display:grid;gap:10px}
.lead-side .item{background:rgba(255,255,255,.05);padding:14px 16px;border-radius:10px;font-size:13.5px;color:#fff;border:1px solid rgba(255,255,255,.12);display:flex;gap:12px;align-items:flex-start;transition:all .2s}
.lead-side .item:hover{background:rgba(255,255,255,.08);border-color:rgba(77,143,202,.45)}
.lead-side .item .icw{width:34px;height:34px;flex:0 0 34px;border-radius:8px;background:rgba(77,143,202,.2);color:#7FB3E0;display:flex;align-items:center;justify-content:center}
.lead-side .item .icw svg{width:16px;height:16px}
.lead-side .item .vc b{display:block;color:#fff;font-size:13px;font-weight:600;margin-bottom:2px;letter-spacing:.2px}
.lead-side .item .vc span{color:#CBD5E1;font-size:13px;line-height:1.5}

/* Footer */
footer{background:var(--primary-dark);color:#94A3B8;padding:70px 0 24px;border-top:1px solid #1A2940;position:relative;overflow:hidden}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--accent)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:44px}
footer h5{color:#fff;font-size:13px;margin:0 0 18px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;position:relative;padding-bottom:12px}
footer h5::after{content:"";position:absolute;bottom:0;left:0;width:30px;height:2px;background:var(--accent)}
footer ul{list-style:none;padding:0;margin:0}
footer ul li{margin:9px 0;font-size:14px;display:flex;gap:10px;align-items:flex-start;line-height:1.6}
footer ul li svg{margin-top:3px;color:var(--accent);flex-shrink:0}
footer ul li a{color:#94A3B8;transition:color .2s}
footer ul li a:hover{color:#fff}
.footer-brand img{height:54px;margin-bottom:14px;background:#fff;padding:10px 14px;border-radius:10px}
.brand-tag{color:#94A3B8;font-size:14px;margin-top:14px;line-height:1.7;max-width:340px}
.footer-social{display:flex;gap:10px;margin-top:20px}
.footer-social a{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#CBD5E1;transition:all .2s}
.footer-social a:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}
.footer-social svg{width:16px;height:16px}
.copy{border-top:1px solid #1A2940;margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:13px;color:#64748B}
.copy a{color:#94A3B8}
.copy a:hover{color:#fff}
.credit{text-align:center;padding-top:14px;font-size:12.5px;color:#5A6B82;letter-spacing:.2px}
.credit a{color:#94A3B8;font-weight:600}
.credit a:hover{color:var(--accent)}

/* Floating elements */
.floating{display:none;position:fixed;left:12px;right:12px;bottom:12px;background:#fff;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:8px;gap:8px;z-index:60}
.floating a{flex:1;text-align:center;padding:11px;border-radius:10px;font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px}
.fl-call{background:var(--primary);color:#fff}
.fl-wa{background:var(--whatsapp);color:#fff}
.fl-quote{background:var(--accent);color:#fff}
.wa-bubble{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;background:var(--whatsapp);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(37,211,102,.45);z-index:55;transition:all .25s;animation:pulse 2.4s infinite}
.wa-bubble:hover{transform:scale(1.08);animation:none}
.wa-bubble svg{width:28px;height:28px}
@keyframes pulse{0%,100%{box-shadow:0 12px 28px rgba(37,211,102,.45)}50%{box-shadow:0 12px 28px rgba(37,211,102,.7),0 0 0 14px rgba(37,211,102,0)}}

/* Animations */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--easing),transform .9s var(--easing)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-stagger > *{opacity:0;transform:translateY(30px);transition:opacity .8s var(--easing),transform .8s var(--easing)}
.reveal-stagger.in > *:nth-child(1){transition-delay:.05s;opacity:1;transform:translateY(0)}
.reveal-stagger.in > *:nth-child(2){transition-delay:.13s;opacity:1;transform:translateY(0)}
.reveal-stagger.in > *:nth-child(3){transition-delay:.21s;opacity:1;transform:translateY(0)}
.reveal-stagger.in > *:nth-child(4){transition-delay:.29s;opacity:1;transform:translateY(0)}
.reveal-stagger.in > *:nth-child(5){transition-delay:.37s;opacity:1;transform:translateY(0)}
.reveal-stagger.in > *:nth-child(6){transition-delay:.45s;opacity:1;transform:translateY(0)}
.reveal-stagger.in > *:nth-child(n+7){transition-delay:.53s;opacity:1;transform:translateY(0)}

/* Filter chips */
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:36px}
.chip{padding:9px 18px;border-radius:99px;background:#fff;border:1px solid var(--border);font-size:13px;font-weight:600;color:var(--primary);cursor:pointer;transition:all .2s;font-family:inherit}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}

.cat-section{transition:opacity .25s}
.cat-section.hide{display:none}

.media-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#1E3A5F,#0F2746);color:#fff;padding:36px;min-height:320px;display:flex;align-items:flex-end;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.media-card::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:36px 36px;opacity:.6;pointer-events:none}
.media-card > *{position:relative;z-index:1}
.media-card .t{font-weight:700;font-size:18px;letter-spacing:-.2px}
.media-card .s{font-size:13.5px;color:#CBD5E1;margin-top:4px;max-width:380px;line-height:1.6}

.spec-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);font-size:14px}
.spec-table th,.spec-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--border)}
.spec-table th{background:var(--bg-soft);width:40%;color:var(--primary);font-weight:600;font-size:13px}
.spec-table td{color:var(--text)}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none}

/* Product photo treatment (real product shots on white) */
.product .img.photo{background:#fff;border:1px solid var(--border)}
.product .img.photo::before{display:none}
.product .img.photo img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .4s var(--easing)}
.product:hover .img.photo img{transform:scale(1.06)}
.product:hover .img.photo img{transform:scale(1.06)}

/* Inline list-style feature blocks (solutions / about) */
.lede{font-size:18px;line-height:1.75;color:var(--text);max-width:820px}
.lede.center{margin:0 auto;text-align:center}
.prose p{color:var(--muted);font-size:15.5px;line-height:1.8;margin:0 0 16px}
.prose h3{color:var(--primary);font-size:22px;font-weight:800;letter-spacing:-.4px;margin:28px 0 12px}

/* Stat band (reused on inner pages, lighter than counters) */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat-band .st{text-align:center;padding:8px}
.stat-band .st .n{font-size:40px;font-weight:800;color:var(--primary);letter-spacing:-1px;line-height:1}
.stat-band .st .n .plus{color:var(--accent)}
.stat-band .st .l{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:600;margin-top:8px}

/* Timeline (about / process) */
.timeline{position:relative;max-width:820px;margin:0 auto;padding-left:34px}
.timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--border-strong)}
.timeline .tl{position:relative;padding:0 0 30px 8px}
.timeline .tl:last-child{padding-bottom:0}
.timeline .tl::before{content:"";position:absolute;left:-34px;top:2px;width:20px;height:20px;border-radius:50%;background:var(--accent);border:4px solid #fff;box-shadow:0 0 0 1px var(--border-strong)}
.timeline .tl .step{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:1.5px;text-transform:uppercase}
.timeline .tl h4{margin:4px 0 6px;font-size:18px;color:var(--primary);font-weight:700}
.timeline .tl p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}

/* Process steps (numbered horizontal) */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.step-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px 24px;position:relative;transition:all .3s var(--easing)}
.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent)}
.step-card .stepnum{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;margin-bottom:16px;box-shadow:0 8px 18px rgba(21,104,175,.25)}
.step-card h4{margin:0 0 8px;font-size:17px;color:var(--primary);font-weight:700}
.step-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}

/* Product detail */
.detail-top{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:start}
.detail-gallery .main{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow-sm)}
.detail-gallery .main img{width:100%;height:100%;object-fit:contain;padding:24px}
.detail-gallery .main.icon-main{background:linear-gradient(135deg,#1E3A5F,#0F2746);position:relative;overflow:hidden}
.detail-gallery .main.icon-main::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:36px 36px;opacity:.6}
.detail-gallery .main.icon-main svg{width:170px;height:170px;color:rgba(255,255,255,.9);position:relative}
.detail-gallery .thumbs{display:flex;gap:12px;margin-top:14px}
.detail-gallery .thumbs .th{width:88px;height:72px;border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;background:#fff;transition:all .2s;display:flex;align-items:center;justify-content:center}
.detail-gallery .thumbs .th img{width:100%;height:100%;object-fit:contain;padding:6px}
.detail-gallery .thumbs .th:hover,.detail-gallery .thumbs .th.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(21,104,175,.2)}
.detail-info .tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.detail-info .ptag{background:rgba(21,104,175,.1);color:var(--accent);font-size:12px;font-weight:700;padding:5px 12px;border-radius:99px;letter-spacing:.5px}
.detail-info h1{font-size:34px;color:var(--primary);font-weight:800;letter-spacing:-.6px;margin:0 0 10px;line-height:1.2}
.detail-info .models{color:var(--muted);font-size:15px;margin:0 0 18px}
.detail-info .models b{color:var(--primary)}
.detail-bullets{list-style:none;padding:0;margin:20px 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.detail-bullets li{position:relative;padding-left:26px;font-size:14px;color:var(--text);line-height:1.5}
.detail-bullets li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");background-size:10px 10px;background-position:center;background-repeat:no-repeat}
.detail-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Related products row reuses .product/.grid-4 */

/* Responsive */
@media (max-width: 1024px){
  .stat-band{grid-template-columns:repeat(2,1fr);gap:32px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .detail-top{grid-template-columns:1fr;gap:32px}
  .detail-gallery .main{height:340px}
  .slide-inner h1{font-size:46px}
  .grid-6,.grid-3{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .industries{grid-template-columns:repeat(3,1fr)}
  .feature-row{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .split-section,.split-section.reverse{grid-template-columns:1fr;gap:40px}
  .lead-block{grid-template-columns:1fr;padding:40px}
  .counters-grid{grid-template-columns:repeat(2,1fr)}
  .counter{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}
  .counter:nth-child(2n){border-right:none}
  .counter:nth-last-child(-n+2){border-bottom:none}
  .range-grid{grid-template-columns:repeat(2,1fr)}
  .range-grid .range-item:nth-child(4n){border-right:1px solid var(--border)}
  .range-grid .range-item:nth-child(2n){border-right:none}
  .logo-wall{grid-template-columns:repeat(4,1fr)}
  .promise h2{font-size:38px}
  .hero{height:560px}
}
@media (max-width: 768px){
  .nav-links,.nav-cta .btn-outline{display:none}
  .hamburger{display:inline-flex;align-items:center}
  .hero{height:520px}
  .slide-inner h1{font-size:34px;letter-spacing:-.8px}
  .slide-inner p{font-size:15px}
  .lead-block{padding:28px}
  form.enquiry{grid-template-columns:1fr}
  form.enquiry .full{grid-column:1/2}
  .industries{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .floating{display:flex}
  .wa-bubble{display:none}
  .topbar .left{display:none}
  section{padding:64px 0}
  h2{font-size:28px;letter-spacing:-.5px}
  .page-banner h1{font-size:28px}
  .page-banner{padding:48px 0 56px}
  .container{padding:0 18px}
  .slider-arrows{display:none}
  .feature-row{grid-template-columns:1fr}
  .logo-wall{grid-template-columns:repeat(2,1fr)}
  .promise{padding:80px 0}
  .promise h2{font-size:30px}
  .copy{flex-direction:column;text-align:center}
  .counter .n{font-size:34px}
  .steps{grid-template-columns:1fr}
  .detail-bullets{grid-template-columns:1fr}
  .detail-info h1{font-size:27px}
  .detail-gallery .main{height:280px}
}
