/* ============================================
   SteelCraft — Main Stylesheet (style.css)
   Brand: Royal Blue #0038A8 | White Base
   Fonts: Montserrat + Roboto
============================================ */
:root{
  --blue:#0038A8; --blue-d:#002a84; --blue-l:#e8effe; --blue-m:#cddaff;
  --silver:#A8B4C4; --white:#ffffff; --off:#f7f8fc;
  --text:#0a1628; --text2:#3d4f6e; --text3:#7a8fae;
  --border:#e2e8f4;
  --sh:0 4px 24px rgba(0,56,168,.09), 0 1px 4px rgba(0,56,168,.05);
  --sh2:0 12px 48px rgba(0,56,168,.16), 0 4px 12px rgba(0,56,168,.08);
  --sh-blue:0 8px 32px rgba(0,56,168,.18), 0 2px 8px rgba(0,56,168,.10);
  --r:12px; --r2:20px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Roboto',sans-serif;background:#fff;color:var(--text);overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;}
img{max-width:100%;display:block;}
.page{display:none;padding-top:70px;}
.page.active{display:block;}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 52px;height:70px;box-shadow:0 1px 24px rgba(0,56,168,.06);}
.nlogo{display:flex;align-items:center;gap:10px;cursor:pointer;}
.nlogo-img{height:44px;object-fit:contain;display:none;}
.nlogo-txt{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:800;color:var(--blue);letter-spacing:-.5px;}
.nlogo-txt span{color:var(--silver);}
.nlinks{display:flex;gap:2px;}
.nl{font-family:'Montserrat',sans-serif;color:var(--text2);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:8px 12px;border-radius:8px;transition:all .2s;cursor:pointer;border:none;background:none;}
.nl:hover,.nl.on{background:var(--blue-l);color:var(--blue);}
.nr{display:flex;gap:8px;align-items:center;}
.n-cta{background:var(--blue);color:#fff;padding:10px 22px;border-radius:9px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;border:none;transition:all .3s;box-shadow:0 4px 16px rgba(0,56,168,.25);}
.n-cta:hover{background:var(--blue-d);transform:translateY(-1px);}
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.ham span{display:block;width:24px;height:2px;background:var(--blue);border-radius:2px;}

/* HERO SLIDER */
.hero{position:relative;height:calc(100vh - 70px);overflow:hidden;background:#fff;}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;display:flex;align-items:center;}
.slide.on{opacity:1;}
.s-bg1{position:absolute;inset:0;background:linear-gradient(135deg,#001a5c 0%,#003399 50%,#0038A8 100%);}
.s-bg2{position:absolute;inset:0;background:linear-gradient(135deg,#0a1628 0%,#002580 50%,#0038A8 100%);}
.s-bg3{position:absolute;inset:0;background:linear-gradient(135deg,#001f6b 0%,#0038A8 60%,#1a56d4 100%);}
.s-dots-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:36px 36px;}
.s-shape{position:absolute;right:-80px;top:-80px;width:600px;height:600px;border-radius:50%;background:rgba(255,255,255,.04);}
.s-right-panel{position:absolute;right:0;top:0;bottom:0;width:45%;display:flex;align-items:center;justify-content:center;}
.s-right-inner{width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:80px;position:relative;}
.s-right-inner::before{content:'';position:absolute;inset:-20px;border-radius:50%;border:1px solid rgba(255,255,255,.06);}
.hc{position:relative;z-index:5;padding:0 80px;max-width:660px;}
.h-eyebrow{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:5px;color:rgba(168,180,196,.8);text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:12px;}
.h-eyebrow::before{content:'';width:24px;height:1.5px;background:var(--silver);}
.h-h1{font-family:'Montserrat',sans-serif;font-size:clamp(40px,5.5vw,70px);font-weight:900;color:#fff;line-height:1.05;margin-bottom:20px;letter-spacing:-1.5px;}
.h-h1 em{color:var(--silver);font-style:normal;display:block;}
.h-rule{width:48px;height:3px;background:linear-gradient(to right,var(--blue-m),rgba(168,180,196,.3));border-radius:2px;margin-bottom:22px;}
.h-p{font-size:15px;font-weight:300;color:rgba(255,255,255,.65);line-height:1.9;max-width:480px;margin-bottom:32px;}
.h-btns{display:flex;gap:12px;flex-wrap:wrap;}
.btn-hw{background:#fff;color:var(--blue);padding:13px 28px;border-radius:10px;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:800;border:none;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px rgba(0,0,0,.15);}
.btn-hw:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.2);}
.btn-ho{background:transparent;color:#fff;padding:13px 28px;border-radius:10px;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;border:1.5px solid rgba(255,255,255,.3);cursor:pointer;transition:all .3s;}
.btn-ho:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6);}
/* hero stats removed */
.sl-ctrls{position:absolute;bottom:100px;right:72px;display:flex;gap:10px;z-index:7;}
.sl-btn{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;}
.sl-btn:hover{background:var(--blue);border-color:var(--blue);}
.sl-dots{position:absolute;bottom:106px;left:80px;display:flex;gap:8px;z-index:7;}
.sdot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:all .3s;}
.sdot.on{background:#fff;width:26px;border-radius:4px;}

/* MARQUEE */
.mqbar{background:var(--blue);padding:14px 0;overflow:hidden;border-bottom:3px solid var(--blue-d);}
.mqtrack{display:flex;animation:mq 28s linear infinite;width:max-content;}
.mqtrack:hover{animation-play-state:paused;}
.mqi{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:rgba(255,255,255,.7);padding:0 30px;border-right:1px solid rgba(255,255,255,.15);}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
.sec{padding:90px 72px;}
@media(max-width:900px){.sec{padding:60px 24px;}}
.sec-tag{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--blue);margin-bottom:12px;display:flex;align-items:center;gap:12px;}
.sec-tag::before{content:'';width:22px;height:2px;background:var(--blue);border-radius:2px;}
.sec-h2{font-family:'Montserrat',sans-serif;font-size:clamp(28px,4vw,44px);font-weight:800;color:var(--text);line-height:1.1;margin-bottom:14px;letter-spacing:-.5px;}
.sec-sub{font-size:15px;color:var(--text2);line-height:1.85;max-width:560px;}
.bg-off{background:var(--off);}
.ct{text-align:center;}.ct .sec-tag{justify-content:center;}.ct .sec-tag::before{display:none;}.ct .sec-sub{margin:0 auto;}

/* BUTTONS */
.btn-p{background:var(--blue);color:#fff;padding:13px 28px;border-radius:10px;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;border:none;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 16px rgba(0,56,168,.25);}
.btn-p:hover{background:var(--blue-d);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,56,168,.35);}
.btn-o{background:transparent;color:var(--blue);padding:12px 26px;border-radius:10px;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;border:2px solid var(--blue);cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px;}
.btn-o:hover{background:var(--blue);color:#fff;}
.btn-w{background:#fff;color:var(--blue);padding:13px 28px;border-radius:10px;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;border:none;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(0,0,0,.12);}
.btn-w:hover{background:var(--off);transform:translateY(-1px);}
.filter-btn{padding:8px 18px;border-radius:8px;font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;border:2px solid var(--border);background:#fff;color:var(--blue);transition:all .3s;}
.filter-btn.on,.filter-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);}

/* BLUE BOX */
.blue-box{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);border-radius:var(--r2);padding:36px;color:#fff;position:relative;overflow:hidden;}
.blue-box::before{content:'';position:absolute;right:-30px;top:-30px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.06);}
.blue-box::after{content:'';position:absolute;left:-20px;bottom:-20px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.04);}

/* ABOUT SHORT */
.as-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:52px;align-items:center;}
@media(max-width:768px){.as-wrap{grid-template-columns:1fr;gap:36px;}}
.as-text p{font-size:14.5px;color:var(--text2);line-height:1.95;margin-bottom:18px;}
.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px;}
@media(max-width:560px){.fact-grid{grid-template-columns:1fr 1fr;}}
.fact-card{border-radius:var(--r);padding:18px 14px;text-align:center;}
.fact-card.blue{background:var(--blue);color:#fff;}
.fact-card.dark{background:var(--text);color:#fff;}
.fact-card.silver{background:var(--silver);color:#fff;}
.fact-card.outline{background:#fff;border:2px solid var(--border);}
.fact-card.outline .fv{color:var(--blue);}
.fact-card.outline .fl{color:var(--text3);}
.fv{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:800;line-height:1;}
.fl{font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-top:5px;opacity:.75;}
.as-visual{position:relative;}
.as-img-box{height:380px;background:linear-gradient(135deg,var(--blue-l) 0%,#dde8ff 100%);border-radius:var(--r2);border:2px dashed var(--blue-m);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--blue);transition:border-color .3s;}
.as-img-box:hover{border-color:var(--blue);}
.as-badge{position:absolute;bottom:-16px;right:24px;background:var(--blue);color:#fff;border-radius:var(--r);padding:14px 20px;box-shadow:0 8px 28px rgba(0,56,168,.3);}
.as-badge .bv{font-family:'Montserrat',sans-serif;font-size:20px;font-weight:800;line-height:1;}
.as-badge .bl{font-size:9px;letter-spacing:2px;text-transform:uppercase;opacity:.75;margin-top:3px;}

/* CARD SLIDERS */
.cswrap{overflow:hidden;margin-top:52px;}
.cslider{display:flex;gap:18px;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.sv-card{min-width:270px;background:#fff;border-radius:var(--r2);overflow:hidden;border:1.5px solid var(--border);box-shadow:var(--sh);transition:all .35s cubic-bezier(.4,0,.2,1);flex-shrink:0;cursor:pointer;}
.sv-card:hover{transform:translateY(-6px);box-shadow:var(--sh-blue);border-color:var(--blue-m);}
.sv-photo{height:160px;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.sv-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.sv-photo-ico{font-size:38px;position:relative;z-index:1;}
.sv-body{padding:20px;}
.sv-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.sv-icon{width:38px;height:38px;background:var(--blue-l);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;transition:all .3s;}
.sv-card:hover .sv-icon{background:var(--blue);}
.sv-card h3{font-family:'Montserrat',sans-serif;font-size:14.5px;font-weight:700;color:var(--text);}
.sv-card p{font-size:12px;color:var(--text2);line-height:1.7;margin-bottom:10px;}
.sv-spec{display:inline-flex;align-items:center;gap:6px;background:var(--blue-l);color:var(--blue);font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:1px;padding:4px 10px;border-radius:5px;text-transform:uppercase;}
.pr-card{min-width:300px;background:#fff;border-radius:var(--r2);overflow:hidden;border:1.5px solid var(--border);box-shadow:var(--sh);transition:all .35s cubic-bezier(.4,0,.2,1);flex-shrink:0;}
.pr-card:hover{transform:translateY(-6px);box-shadow:var(--sh-blue);}
.pr-top{height:190px;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;}
.pr-top img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:2;}
.pr-top .pn{position:absolute;top:8px;left:14px;font-family:'Montserrat',sans-serif;font-size:44px;font-weight:900;color:rgba(255,255,255,.08);z-index:1;}
.pr-top .pi{font-size:36px;position:relative;z-index:2;}
.pr-top .pa{font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.35);position:relative;z-index:2;}
.pr-top-badge{position:absolute;bottom:10px;right:10px;background:rgba(255,255,255,.15);backdrop-filter:blur(4px);border-radius:7px;padding:5px 10px;font-size:20px;z-index:3;}
.pr-body{padding:20px;}
.pr-title-row{display:flex;align-items:center;gap:10px;margin-bottom:7px;}
.pr-ico{width:36px;height:36px;background:var(--blue-l);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.pr-body h3{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;color:var(--text);}
.pr-body p{font-size:12px;color:var(--text2);line-height:1.7;margin-bottom:12px;}
.pr-tags{display:flex;flex-wrap:wrap;gap:5px;}
.pr-tag{background:var(--blue-l);color:var(--blue);font-size:9.5px;font-weight:700;letter-spacing:1px;padding:3px 9px;border-radius:5px;text-transform:uppercase;}
.sl-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;}
.sl-arr{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--blue);transition:all .3s;}
.sl-arr:hover{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 4px 16px rgba(0,56,168,.3);}
.sl-dots2{display:flex;gap:6px;}
.sdt{width:8px;height:8px;border-radius:50%;background:var(--border);cursor:pointer;transition:all .3s;}
.sdt.on{background:var(--blue);width:24px;border-radius:4px;}

/* VISION MISSION */
.vm-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:52px;}
@media(max-width:768px){.vm-wrap{grid-template-columns:1fr;}}
.vm-m{background:#fff;border:1.5px solid var(--border);border-radius:var(--r2);padding:36px;}
.vm-m h3{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:800;color:var(--text);margin-bottom:16px;}
.vm-icon{font-size:36px;margin-bottom:16px;}
.vm-items{display:flex;flex-direction:column;gap:12px;margin-top:4px;}
.vm-item{display:flex;align-items:flex-start;gap:12px;}
.vm-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);margin-top:7px;flex-shrink:0;}
.vm-txt{font-size:13.5px;color:var(--text2);line-height:1.7;}

/* WHY */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px;}
@media(max-width:768px){.why-grid{grid-template-columns:1fr;}}
.why-card{background:#fff;border-radius:14px;padding:22px 20px;border:1.5px solid #dde5f4;display:flex;align-items:flex-start;gap:16px;transition:all .3s;border-left:4px solid #0038A8;}
.why-card:hover{border-left-color:#002080;box-shadow:0 6px 24px rgba(0,56,168,.15);transform:translateY(-2px);}
.why-icon{width:52px;height:52px;background:#E8EEF9;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s;}
.why-card:hover .why-icon{background:#c8d8f4;}
.why-icon img{width:28px;height:28px;object-fit:contain;}
.why-icon svg{width:28px;height:28px;color:#0038A8;}
.why-body{flex:1;}
.why-card h3{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;color:#0038A8;margin-bottom:6px;}
.why-card p{font-size:13px;color:#556;line-height:1.7;margin:0;}

/* TESTIMONIALS */
.ts-wrap{overflow:hidden;margin-top:52px;}
.ts-track{display:flex;gap:20px;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.ts-card{min-width:360px;background:#fff;border-radius:var(--r2);padding:28px;border:1.5px solid var(--border);box-shadow:var(--sh);flex-shrink:0;transition:all .35s cubic-bezier(.4,0,.2,1);}
.ts-card:hover{border-color:var(--blue-m);box-shadow:var(--sh-blue);}
.ts-stars{color:#f59e0b;font-size:15px;margin-bottom:12px;}
.ts-q{font-size:14px;color:var(--text2);line-height:1.85;font-style:italic;margin-bottom:18px;border-left:3px solid var(--blue-m);padding-left:14px;}
.ts-author{display:flex;align-items:center;gap:12px;}
.ts-av{width:44px;height:44px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:800;color:#fff;flex-shrink:0;}
.ts-name{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;color:var(--text);}
.ts-co{font-size:11px;color:var(--text3);margin-top:2px;}

/* CLIENTS — Infinite Logo Slider */
.cl-track-wrap{overflow:hidden;width:100%;margin-top:48px;position:relative;}
.cl-track-wrap::before,.cl-track-wrap::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;}
.cl-track-wrap::before{left:0;background:linear-gradient(to right,#fff,transparent);}
.cl-track-wrap::after{right:0;background:linear-gradient(to left,#fff,transparent);}
.cl-track{display:flex;gap:32px;animation:cl-scroll 28s linear infinite;width:max-content;}
.cl-track:hover{animation-play-state:paused;}
@keyframes cl-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.cl-card{background:#fff;border:1.5px solid #e8edf4;border-radius:12px;padding:16px 24px;min-width:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex-shrink:0;transition:all .35s;}
.cl-card:hover{border-color:#0038A8;box-shadow:0 4px 16px rgba(0,56,168,.1);transform:translateY(-2px);}
.cl-img{width:90px;height:48px;object-fit:contain;filter:grayscale(1);opacity:.6;transition:all .35s;}
.cl-card:hover .cl-img{filter:grayscale(0);opacity:1;}
.cl-ico{font-size:28px;filter:grayscale(1);opacity:.5;transition:all .35s;}
.cl-card:hover .cl-ico{filter:grayscale(0);opacity:1;}
.cl-nm{font-size:11px;font-weight:700;color:#8899aa;text-align:center;font-family:'Montserrat',sans-serif;letter-spacing:.3px;transition:color .3s;}
.cl-card:hover .cl-nm{color:#0038A8;}

/* MAP */
.map-box{border-radius:var(--r2);overflow:hidden;border:2px solid var(--border);height:360px;}
.map-box iframe{width:100%;height:100%;border:none;}
.map-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;}
@media(max-width:560px){.map-strip{grid-template-columns:1fr;}}
.map-card{background:#fff;border-radius:var(--r);padding:16px;border:1.5px solid var(--border);display:flex;align-items:center;gap:14px;transition:all .3s;}
.map-card:hover{border-color:var(--blue-m);}
.map-ico{width:40px;height:40px;background:var(--blue);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.map-lbl{font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text3);margin-bottom:3px;}
.map-val{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;color:var(--text);}

/* BLOG */
.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;}
@media(max-width:900px){.bl-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.bl-grid{grid-template-columns:1fr;}}
.bl-card{background:#fff;border-radius:var(--r2);overflow:hidden;border:1.5px solid var(--border);box-shadow:var(--sh);transition:all .35s;cursor:pointer;}
.bl-card:hover{transform:translateY(-6px);box-shadow:var(--sh-blue);border-color:var(--blue-m);}
.bl-img{height:180px;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);display:flex;align-items:center;justify-content:center;font-size:42px;position:relative;}
.bl-cat{position:absolute;top:12px;left:12px;background:#fff;color:var(--blue);font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:6px;}
.bl-body{padding:20px;}
.bl-meta{display:flex;gap:12px;font-size:11px;color:var(--text3);margin-bottom:10px;}
.bl-title{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;color:var(--text);margin-bottom:8px;line-height:1.35;}
.bl-exc{font-size:12.5px;color:var(--text2);line-height:1.75;margin-bottom:14px;}
.bl-more{font-size:12px;font-weight:700;color:var(--blue);display:flex;align-items:center;gap:5px;}

/* CTA BAND */
.cta-band{border-radius:var(--r2);background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);padding:64px 72px;text-align:center;position:relative;overflow:hidden;}
.cta-band::before{content:'';position:absolute;right:-60px;top:-60px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.05);}
.cta-band::after{content:'';position:absolute;left:-40px;bottom:-60px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.04);}
.cta-band h2{font-family:'Montserrat',sans-serif;font-size:clamp(26px,4vw,44px);font-weight:800;color:#fff;margin-bottom:12px;position:relative;z-index:1;}
.cta-band p{font-size:15px;color:rgba(255,255,255,.7);margin-bottom:28px;position:relative;z-index:1;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1;}
@media(max-width:900px){.cta-band{padding:44px 32px;}}

/* CONTACT */
.ct-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;margin-top:52px;align-items:start;}
@media(max-width:768px){.ct-grid{grid-template-columns:1fr;}}
.ct-info-item{background:#fff;border-radius:var(--r);padding:18px 20px;display:flex;align-items:center;gap:14px;margin-bottom:10px;border:1.5px solid var(--border);transition:all .3s;}
.ct-info-item:hover{border-color:var(--blue-m);transform:translateX(4px);}
.ct-ico{width:44px;height:44px;background:var(--blue);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.ct-lbl{font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text3);margin-bottom:3px;}
.ct-val{font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:700;color:var(--text);}
.ct-form{background:#fff;border-radius:var(--r2);padding:32px;border:1.5px solid var(--border);box-shadow:var(--sh2);}
.ct-form h3{font-family:'Montserrat',sans-serif;font-size:20px;font-weight:800;color:var(--text);margin-bottom:22px;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.cff input,.cff select,.cff textarea{width:100%;background:var(--off);border:1.5px solid var(--border);border-radius:9px;padding:12px 15px;font-family:'Roboto',sans-serif;font-size:13px;color:var(--text);outline:none;transition:all .3s;}
.cff input:focus,.cff select:focus,.cff textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(0,56,168,.07);}
.cff textarea{resize:vertical;min-height:110px;}
.cff{margin-bottom:12px;}
.cf-sub{background:var(--blue);color:#fff;padding:14px 32px;border-radius:10px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:all .3s;width:100%;box-shadow:0 4px 16px rgba(0,56,168,.25);}
.cf-sub:hover{background:var(--blue-d);}
.cf-ok{display:none;background:#f0fdf4;border:1.5px solid #4ade80;border-radius:9px;padding:13px 16px;margin-top:10px;color:#166534;font-size:13px;font-weight:600;}

/* FOOTER */
.foot{background:#0a1628;border-top:3px solid var(--blue);}
.ft-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:60px 72px 40px;}
@media(max-width:900px){.ft-main{grid-template-columns:1fr 1fr;gap:28px;padding:36px 24px;}}
@media(max-width:560px){.ft-main{grid-template-columns:1fr;}}
.ft-logo-img{height:46px;object-fit:contain;margin-bottom:12px;display:none;}
.ft-brand{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:800;color:#fff;margin-bottom:10px;}
.ft-brand span{color:var(--silver);}
.ft-desc{font-size:13px;color:rgba(255,255,255,.45);line-height:1.85;margin-bottom:18px;max-width:290px;}
.ft-socials{display:flex;gap:8px;}
.ft-soc{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:all .3s;text-decoration:none;}
.ft-soc:hover{background:var(--blue);border-color:var(--blue);}
.ft-col h4{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;color:#fff;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;}
.ft-col ul{list-style:none;}
.ft-col li{margin-bottom:10px;}
.ft-col li a{font-size:13px;color:rgba(255,255,255,.45);text-decoration:none;cursor:pointer;transition:color .2s;display:flex;align-items:center;gap:7px;}
.ft-col li a:hover{color:#fff;}
.ft-col li a::before{content:'›';color:var(--blue);font-size:14px;}
.ft-bottom{border-top:1px solid rgba(255,255,255,.07);padding:20px 72px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
@media(max-width:768px){.ft-bottom{padding:16px 24px;flex-direction:column;text-align:center;}}
.ft-copy{font-size:12px;color:rgba(255,255,255,.28);}
.ft-iso{font-size:12px;font-weight:600;color:var(--blue);}

/* WA FLOAT */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:800;width:58px;height:58px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(37,211,102,.4);cursor:pointer;transition:transform .3s;animation:wa-pulse 3s infinite;text-decoration:none;}
.wa-float:hover{transform:scale(1.1);}
.wa-float svg{display:block;width:30px;height:30px;}
@keyframes wa-pulse{0%,100%{box-shadow:0 8px 28px rgba(37,211,102,.4)}50%{box-shadow:0 8px 40px rgba(37,211,102,.65)}}

/* PAGE HERO */
.p-hero{padding:60px 72px;}
.p-hero .sec-tag{color:rgba(255,255,255,.55);}
.p-hero .sec-tag::before{background:rgba(255,255,255,.35);}
.p-hero h1{font-family:'Montserrat',sans-serif;font-size:clamp(32px,5vw,62px);font-weight:800;color:#fff;line-height:1.05;letter-spacing:-1px;}
.p-hero h1 span{color:var(--silver);}
@media(max-width:768px){.p-hero{padding:40px 24px;}}

/* BLOG SINGLE */
.bs-wrap{max-width:800px;margin:0 auto;padding:48px 24px;}
.bs-img{height:340px;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);border-radius:var(--r2);display:flex;align-items:center;justify-content:center;font-size:54px;margin-bottom:32px;}
.bs-wrap h1{font-family:'Montserrat',sans-serif;font-size:30px;font-weight:800;color:var(--text);line-height:1.25;margin-bottom:14px;}
.bs-meta{display:flex;gap:14px;font-size:12px;color:var(--text3);margin-bottom:24px;flex-wrap:wrap;}
.bs-badge{background:var(--blue-l);color:var(--blue);font-family:'Montserrat',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:6px;}
.bs-body{font-size:15px;color:var(--text2);line-height:1.95;}
.bs-body h2{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:700;color:var(--text);margin:28px 0 12px;}
.bs-body p{margin-bottom:16px;}
.bs-body ul{padding-left:22px;margin-bottom:16px;}
.bs-body ul li{margin-bottom:8px;}
.bs-share{display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:24px;border-top:2px solid var(--border);flex-wrap:wrap;}
.bs-share span{font-size:11px;font-weight:700;color:var(--text3);letter-spacing:2px;text-transform:uppercase;}
.sh-btn{padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;border:none;cursor:pointer;}
.back-btn{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--blue);cursor:pointer;margin-bottom:24px;border:none;background:none;}

/* ABOUT FULL */
.af-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:52px;align-items:start;}
@media(max-width:768px){.af-grid{grid-template-columns:1fr;}}
.af-p{font-size:14.5px;color:var(--text2);line-height:1.95;margin-bottom:18px;}
.info-tbl{background:#fff;border-radius:var(--r);border:1.5px solid var(--border);overflow:hidden;}
.info-row{display:flex;align-items:center;padding:13px 18px;border-bottom:1px solid var(--border);font-size:13px;}
.info-row:last-child{border-bottom:none;}
.ik{width:130px;color:var(--text3);font-weight:500;flex-shrink:0;}
.iv{color:var(--text);font-weight:700;}
.mat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:32px;}
@media(max-width:560px){.mat-grid{grid-template-columns:1fr 1fr;}}
.mat-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--r);padding:16px;transition:all .3s;}
.mat-card:hover{border-color:var(--blue-m);transform:translateY(-2px);}
.mat-n{font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:4px;}
.mat-b{font-size:11.5px;color:var(--text2);line-height:1.6;}

/* INFRA */
.infra-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:52px;}
@media(max-width:768px){.infra-grid{grid-template-columns:1fr;}}
.m-item{display:flex;gap:14px;padding:14px;border-radius:var(--r);transition:background .2s;}
.m-item:hover{background:var(--off);}
.m-num{width:32px;height:32px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:800;color:#fff;flex-shrink:0;}
.m-info h4{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px;}
.m-info p{font-size:11.5px;color:var(--text2);line-height:1.55;}
.weld-box{background:#0a1628;border-radius:var(--r2);padding:24px;}
.weld-box h4{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:700;color:#fff;margin-bottom:14px;}
.weld-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.weld-item{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(168,180,196,.8);}
.weld-dot{width:5px;height:5px;border-radius:50%;background:var(--blue);flex-shrink:0;}
@media(max-width:768px){#nav{padding:0 20px;}.nlinks{display:none;}.ham{display:flex;}.hc{padding:0 24px;max-width:100%;}.hc .h-h1{font-size:clamp(32px,9vw,54px);}.hero{min-height:480px;}.sl-ctrls{bottom:20px;right:16px;top:auto;transform:none;}.sl-dots{left:16px;bottom:26px;}.s-right-panel{display:none;}.ft-main,.ft-bottom{padding-left:24px;padding-right:24px;}}

/* Footer Brandfills credit */
.ft-brandfills{background:rgba(0,0,0,.25);padding:10px 72px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}
.ft-brandfills span{font-size:11px;color:rgba(255,255,255,.25);}
.ft-brandfills a{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:#0038A8;text-decoration:none;letter-spacing:.5px;}
.ft-brandfills a:hover{color:#4d82ff;}
@media(max-width:768px){.ft-brandfills{padding:10px 24px;}}

/* Hero slide with uploaded image */
.slide-has-img .s-bg1,.slide-has-img .s-bg2,.slide-has-img .s-bg3{display:none;}
.slide-bg-img{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.slide-bg-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.65) 0%,rgba(0,40,100,.45) 100%);}
.slide-text-empty .hc{display:none;}
/* Mobile hero image */
@media(max-width:768px){
  .slide-bg-img{background-image:var(--mobile-img,var(--desktop-img)) !important;}
}

/* About section image box */
.as-img-box{position:relative;overflow:hidden;}

/* Header logo — show image, hide text when logo uploaded */
.nlogo-img[src]:not([src=""]) { display: block !important; }
.nlogo-img[src]:not([src=""]) ~ .nlogo-txt { display: none !important; }

/* Footer logo — show image, hide brand text when logo uploaded */
.ft-logo-img[src]:not([src=""]) { display: block !important; }
.ft-logo-img[src]:not([src=""]) ~ .ft-brand { display: none !important; }

/* ============================================
   OPTIMIZED FIXES — Hero, Cards, Mobile, Slider
============================================ */

/* ── HERO SLIDER: Image fully visible, no fade overlay issue ── */
.slide-bg-img {
  position: absolute;
  inset: 0;
  background-image: var(--desktop-img);
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  z-index: 0;
}
/* Only apply overlay when image is present — reduced opacity for clarity */
.slide-has-img .slide-bg-img::after {
  display: none !important;
  content: none !important;
}
/* Content sits above overlay */
.slide-has-img .hc,
.slide-has-img .s-right-panel {
  display: none !important;
}
/* Hide gradient backgrounds when image is uploaded */
.slide-has-img .s-bg1,
.slide-has-img .s-bg2,
.slide-has-img .s-bg3,
.slide-has-img .s-dots-grid,
.slide-has-img .s-shape { display: none !important; }

/* ── HERO: Hidden state control (admin toggle) ── */
.hero-hidden { display: none !important; }

/* ── HERO SLIDER: Hidden dot & banner toggle UI ── */
#hero-toggle-bar {
  display: none; /* shown by JS when slider is hidden */
  background: var(--blue);
  color: #fff;
  text-align: center;
  padding: 14px 24px;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 700;
}

/* ── HERO RESPONSIVE: mobile image handling ── */
@media (max-width: 768px) {
  .hero { min-height: 420px; height: 72vw; max-height: 540px; }
  .slide-bg-img {
    background-size: cover !important;
    background-position: center center !important;
  }
  .hc { padding: 0 20px !important; max-width: 100% !important; }
  .h-h1 { font-size: clamp(28px, 8vw, 46px) !important; letter-spacing: -0.8px !important; }
  .h-p { font-size: 13px !important; max-width: 95% !important; }
  .h-btns { gap: 8px; }
  .btn-hw, .btn-ho { padding: 11px 20px !important; font-size: 11.5px !important; }
  .sl-ctrls { bottom: 16px; right: 14px; }
  .sl-btn { width: 36px; height: 36px; font-size: 16px; }
  .sl-dots { left: 14px; bottom: 22px; }
}

/* ── CARD SLIDERS: Full-width single card on mobile ── */
@media (max-width: 768px) {
  .cswrap { overflow: hidden; padding: 0 0; }
  .cslider {
    gap: 12px;
    /* No padding-left so first card starts at edge */
  }

  /* Each card: exactly viewport width minus outer section padding × 2 */
  .sv-card {
    min-width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    width: calc(100vw - 48px) !important;
  }
  .pr-card {
    min-width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    width: calc(100vw - 48px) !important;
  }
  .ts-card {
    min-width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    width: calc(100vw - 48px) !important;
  }
}

/* ── CARD HEIGHT & ASPECT RATIO IMPROVEMENTS ── */
/* Service cards */
.sv-card { min-width: 280px; }
.sv-photo { height: 190px; }
.sv-body { padding: 22px 20px; min-height: 140px; display: flex; flex-direction: column; justify-content: space-between; }
.sv-card p { flex: 1; }

/* Product cards — approx 4:6 (width:height) ratio */
.pr-card { min-width: 300px; }
.pr-top { height: 210px; }
.pr-body { padding: 22px 20px; min-height: 130px; }

/* Testimonial cards */
.ts-card { min-width: 360px; }

/* ── CARD SLIDER: snap scroll on touch ── */
.cslider {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.sv-card, .pr-card, .ts-card {
  scroll-snap-align: start;
  flex-shrink: 0;
}

/* ── CARD CONTENT ALIGNMENT CONSISTENCY ── */
.sv-card h3, .pr-body h3 {
  font-size: 15px;
  line-height: 1.3;
}
.sv-card p, .pr-body p {
  font-size: 12.5px;
  line-height: 1.75;
  margin-bottom: 14px;
}
.sv-title-row, .pr-title-row {
  align-items: flex-start;
  margin-bottom: 10px;
}

/* ── PRODUCTS FULL PAGE: 3-col → 2-col → 1-col ── */
@media (max-width: 900px) {
  #svcFull, #prdFull { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  #svcFull, #prdFull { grid-template-columns: 1fr !important; }
  #svcFull .sv-card, #prdFull .pr-card { min-width: unset !important; max-width: unset !important; width: 100% !important; }
}

/* ── NUMBERS STRIP: mobile scroll ── */
@media (max-width: 600px) {
  .sec > .blue-box[style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .sec > .blue-box > div {
    border-right: none !important;
  }
}

/* ── SECTION PADDING: better mobile ── */
@media (max-width: 480px) {
  .sec { padding: 48px 16px !important; }
  .p-hero { padding: 36px 16px !important; }
}

/* ── NAV: mobile hamburger fix ── */
@media (max-width: 768px) {
  #nav { padding: 0 16px !important; }
  .nlogo-txt { font-size: 18px; }
}

/* ── CTA BAND: mobile padding ── */
@media (max-width: 600px) {
  .cta-band { padding: 40px 20px !important; }
  div[style*="padding:0 72px 90px"] { padding: 0 16px 60px !important; }
}

/* ── FOOTER: mobile compact ── */
@media (max-width: 560px) {
  .ft-main { padding: 32px 16px !important; }
  .ft-bottom { padding: 14px 16px !important; }
  .ft-brandfills { padding: 10px 16px !important; }
}

/* ── CONTACT FORM: mobile full-width rows ── */
@media (max-width: 600px) {
  .cf-row { grid-template-columns: 1fr !important; }
}

/* ── MARQUEE: GPU accelerated ── */
.mqtrack {
  will-change: transform;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* ── TOUCH TARGETS: min 44px ── */
.sl-arr, .sl-btn {
  min-width: 44px;
  min-height: 44px;
  touch-action: manipulation;
}
.nl, .n-cta, .btn-p, .btn-o, .btn-hw, .btn-ho, .btn-w, .filter-btn {
  touch-action: manipulation;
}

/* ── IMAGE RENDERING OPTIMIZATION ── */
img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: auto;
}
.sv-photo img, .pr-top img, .bl-img img {
  will-change: auto;
  backface-visibility: hidden;
}

/* ── SLIDER TRANSITION: smooth hardware accelerated ── */
.cslider, .ts-track {
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
  will-change: transform;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* ── PREVENT OVERFLOW on all sections ── */
.cswrap { 
  overflow: hidden;
  position: relative;
}

/* ── ABOUT IMAGE BOX: responsive height ── */
@media (max-width: 768px) {
  .as-img-box { height: 240px !important; }
  .as-badge { bottom: -10px; right: 12px; }
}

/* ── INFRA GRID ── */
@media (max-width: 768px) {
  .infra-grid { grid-template-columns: 1fr !important; }
}

/* ── BLOG GRID ── */
@media (max-width: 480px) {
  .bl-grid { grid-template-columns: 1fr !important; margin-top: 28px !important; }
  .bl-img { height: 160px; }
}

/* ── WHY GRID ── */
@media (max-width: 480px) {
  .why-grid { grid-template-columns: 1fr !important; margin-top: 28px !important; }
}

/* ── FACT GRID ── */
@media (max-width: 400px) {
  .fact-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ── ABOUT SHORT WRAP ── */
@media (max-width: 480px) {
  .as-wrap { gap: 24px !important; }
}

/* ── VM WRAP ── */
@media (max-width: 480px) {
  .vm-wrap { gap: 14px !important; }
}

/* ── CLIENT SLIDER ── */
/* Slider handles its own responsive layout via flex */

/* ── SLIDER DOTS: better spacing mobile ── */
@media (max-width: 768px) {
  .sl-nav { margin-top: 16px; gap: 10px; }
  .sl-dots2 { gap: 5px; }
  .sdt { width: 7px; height: 7px; }
  .sdt.on { width: 20px; }
}

/* ── MAP CONTAINER: responsive height ── */
@media (max-width: 600px) {
  .map-box { height: 260px !important; }
  .map-strip { grid-template-columns: 1fr !important; }
}

/* ── HERO SLIDER: autoplay progress bar ── */
.mqbar { position: relative; }


/* ── FOOTER SOCIAL ICONS: SVG-friendly ── */
.ft-soc svg { display: block; }
.ft-soc img { display: block; }
.ft-soc { color: rgba(255,255,255,.85); }
.ft-soc:hover { color: #fff; }
