/* =========================================================
   G-NEX TALENT PARTNERS — MASTER STYLESHEET
   ========================================================= */

:root{
  --primary:#0B1F3A;
  --secondary:#0E7490;
  --accent:#22C55E;
  --bg:#F8FAFC;
  --dark:#06111F;
  --text:#1F2937;
  --white:#FFFFFF;

  --primary-rgb:11,31,58;
  --secondary-rgb:14,116,144;
  --accent-rgb:34,197,94;

  --glass-bg:rgba(255,255,255,0.06);
  --glass-border:rgba(255,255,255,0.14);
  --glass-bg-light:rgba(255,255,255,0.65);
  --glass-border-light:rgba(11,31,58,0.08);

  --shadow-soft:0 18px 50px -14px rgba(11,31,58,0.25);
  --shadow-lg:0 24px 64px -16px rgba(11,31,58,0.35);
  --radius-lg:24px;
  --radius-md:16px;
  --radius-sm:11px;

  --font-head:'Poppins', sans-serif;
  --font-body:'Inter', sans-serif;

  --ease:cubic-bezier(.22,1,.36,1);
  --heading:var(--primary);
}

:root[data-theme="dark"]{
  --bg:#06111F;
  --text:#E5EAF2;
  --glass-bg-light:rgba(255,255,255,0.05);
  --glass-border-light:rgba(255,255,255,0.10);
  --heading:#F5F8FC;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
  transition:background .4s var(--ease), color .4s var(--ease);
}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head); font-weight:700; color:var(--heading); letter-spacing:-0.01em;}
/* Headings inside cards that always keep a white/light background (regardless of
   site theme) must stay dark — otherwise dark mode's light --heading value makes
   them invisible on their own permanently-white surface. */
.service-card h5,
.value-card h5,
.training-card h5,
.job-card h5,
.industry-card h5,
.contact-card h5,
.v-timeline-item .v-content h6,
.contact-form-wrap h4{
  color:var(--primary);
}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
section{position:relative;}
.container-xl{max-width:1320px; margin:0 auto; padding:0 22px;}

::selection{background:var(--accent); color:#fff;}

::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--secondary); border-radius:10px;}

/* =========================================================
   LOADER
   ========================================================= */
#page-loader{
  position:fixed; inset:0; z-index:99999;
  background:var(--primary);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .6s var(--ease), visibility .6s var(--ease);
}
#page-loader.loaded{opacity:0; visibility:hidden;}
.loader-inner{text-align:center;}
.loader-mark{font-family:var(--font-head); font-size:2.6rem; font-weight:800; color:#fff; letter-spacing:2px;}
.loader-accent{color:var(--accent);}
.loader-bar{width:200px; height:3px; background:rgba(255,255,255,.15); border-radius:10px; margin-top:16px; overflow:hidden;}
.loader-bar span{display:block; height:100%; width:0%; background:linear-gradient(90deg,var(--secondary),var(--accent)); animation:loaderFill 1.4s var(--ease) forwards;}
@keyframes loaderFill{to{width:100%;}}

/* =========================================================
   SCROLL PROGRESS
   ========================================================= */
.scroll-progress{position:fixed; top:0; left:0; height:3px; width:0%; background:linear-gradient(90deg,var(--secondary),var(--accent)); z-index:9999;}

/* =========================================================
   NAVBAR
   ========================================================= */
.gnex-nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:18px 0;
  transition:all .45s var(--ease);
  background:transparent;
}
.gnex-nav.scrolled{
  padding:12px 0;
  background:rgba(6,17,31,0.65);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 10px 36px rgba(0,0,0,.25);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.nav-inner{position:relative;}
.brand{display:flex; flex-direction:column; line-height:1;}

.brand-logo-badge{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:10px; overflow:hidden; line-height:0;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}
.brand-logo-badge img{height:42px; width:auto; display:block;}
.footer-brand-col .brand-logo-badge img{height:36px;}

.nav-links{list-style:none; gap:2px; padding:0;}
.nav-links > li{position:relative;}
.nav-links > li > a{
  display:flex; align-items:center; gap:6px;
  padding:9px 16px; color:rgba(255,255,255,.85);
  font-size:.9rem; font-weight:500; border-radius:50px;
  transition:all .3s var(--ease);
}
.nav-links > li > a i{font-size:.62rem; transition:transform .3s;}
.nav-links > li > a:hover, .nav-links > li > a.active{color:#fff; background:rgba(255,255,255,.08);}
.nav-links > li:hover > a i{transform:rotate(180deg);}

.mega-menu{
  position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%) translateY(10px);
  width:700px; max-width:90vw;
  background:rgba(6,17,31,.92); backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-md);
  padding:26px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:all .35s var(--ease);
  box-shadow:var(--shadow-lg);
}
.has-mega:hover .mega-menu{opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);}
.mega-col h6{color:var(--accent); font-size:.7rem; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:11px;}
.mega-col a{display:block; color:rgba(255,255,255,.75); font-size:.84rem; padding:6px 0; transition:all .25s;}
.mega-col a:hover{color:#fff; padding-left:6px;}
.mega-feature-card{background:linear-gradient(145deg, rgba(34,197,94,.15), rgba(14,116,144,.1)); border:1px solid rgba(255,255,255,.1); border-radius:13px; padding:16px; text-align:left;}
.mega-feature-card i{font-size:1.35rem; color:var(--accent); margin-bottom:8px;}
.mega-feature-card p{color:#fff; font-size:.8rem; margin-bottom:8px;}
.mega-feature-card a{color:var(--accent); font-size:.76rem; font-weight:600;}

.nav-actions{gap:12px;}
.theme-toggle{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06); color:#fff; display:flex; align-items:center; justify-content:center; position:relative; cursor:pointer;
}
.theme-toggle i{position:absolute; font-size:.8rem; transition:all .4s var(--ease);}
.theme-toggle .fa-sun{opacity:0; transform:rotate(90deg) scale(.4);}
:root[data-theme="dark"] .theme-toggle .fa-moon{opacity:0; transform:rotate(-90deg) scale(.4);}
:root[data-theme="dark"] .theme-toggle .fa-sun{opacity:1; transform:rotate(0) scale(1);}

.btn-nav-cta{
  background:linear-gradient(135deg,var(--secondary),var(--accent)); color:#fff !important;
  padding:9px 20px; border-radius:50px; font-weight:600; font-size:.84rem;
  box-shadow:0 7px 20px rgba(34,197,94,.25); transition:all .3s var(--ease);
}
.btn-nav-cta:hover{transform:translateY(-2px); box-shadow:0 11px 26px rgba(34,197,94,.4);}

.nav-toggle{width:38px; height:38px; border:none; background:transparent; display:flex; flex-direction:column; justify-content:center; gap:5px; cursor:pointer;}
.nav-toggle span{display:block; width:22px; height:2px; background:#fff; transition:all .3s;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{
  position:fixed; top:0; right:-100%; width:min(310px,85vw); height:100vh; z-index:1050;
  background:rgba(6,17,31,.97); backdrop-filter:blur(20px);
  padding:88px 28px 30px; display:flex; flex-direction:column; gap:4px;
  transition:right .45s var(--ease); border-left:1px solid rgba(255,255,255,.08);
}
.mobile-menu.open{right:0;}
.mobile-menu a{color:rgba(255,255,255,.85); font-size:1rem; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.06);}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{border-radius:50px; font-weight:600; padding:12px 26px; font-size:.9rem; transition:all .35s var(--ease); border:none;}
.btn-primary-fill{background:var(--primary); color:#fff;}
.btn-primary-fill:hover{background:#122a4d; color:#fff; transform:translateY(-3px); box-shadow:var(--shadow-soft);}
.btn-accent-fill{background:linear-gradient(135deg,var(--accent),#16a34a); color:#fff; box-shadow:0 9px 26px rgba(34,197,94,.3);}
.btn-accent-fill:hover{color:#fff; transform:translateY(-3px); box-shadow:0 13px 32px rgba(34,197,94,.45);}
.btn-outline-glass{background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.35); color:#fff; backdrop-filter:blur(10px);}
.btn-outline-glass:hover{background:rgba(255,255,255,.18); color:#fff; transform:translateY(-3px);}
.btn-outline-dark{border:1.5px solid rgba(11,31,58,.25); color:var(--primary); background:transparent;}
.btn-outline-dark:hover{background:var(--primary); color:#fff; transform:translateY(-3px);}
.btn-sm-pill{padding:8px 18px; font-size:.78rem; border-radius:50px;}
.btn-outline-light-sm{padding:8px 18px; font-size:.78rem; border-radius:50px; background:transparent; border:1px solid rgba(255,255,255,.3); color:#fff;}
.btn-accent-sm{padding:8px 20px; font-size:.78rem; border-radius:50px; background:var(--accent); color:#fff; border:none; font-weight:600;}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; min-height:62vh; min-height:62dvh; display:flex; align-items:center;
  background:var(--dark); overflow:hidden; padding-top:64px;
}
#hero-canvas{position:absolute; inset:0; z-index:1; opacity:.75;}
.hero-overlay{
  position:absolute; inset:0; z-index:2;
  background:radial-gradient(ellipse at 30% 20%, rgba(14,116,144,.35), transparent 55%),
             radial-gradient(ellipse at 80% 80%, rgba(34,197,94,.2), transparent 50%),
             linear-gradient(180deg, rgba(6,17,31,.4) 0%, rgba(6,17,31,.85) 100%);
}
.hero-content{position:relative; z-index:3; padding:22px 0 14px;}
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:9px; color:var(--accent);
  font-size:.76rem; letter-spacing:2.5px; text-transform:uppercase; font-weight:600;
  padding:7px 16px; border:1px solid rgba(34,197,94,.35); border-radius:50px;
  background:rgba(34,197,94,.08); margin-bottom:20px;
}
.hero-title{
  font-size:clamp(2rem, 4vw, 3.4rem); font-weight:800; color:#fff; line-height:1.1;
  margin-bottom:20px; max-width:16ch;
}
.hero-title .line{overflow:hidden; display:block;}
.hero-title .accent-text{background:linear-gradient(120deg,var(--accent),#5eead4); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero-sub{color:rgba(255,255,255,.75); font-size:1.05rem; max-width:620px; margin-bottom:14px; line-height:1.65;}
.hero-pills{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px;}
.hero-pills span{
  padding:8px 18px; border-radius:50px; font-size:.8rem; color:#fff;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(8px);
}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px;}

.hero-home-bg{
  background-image:url('../images/image.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.hero-floating-cards{position:relative; z-index:3; margin-top:28px;}
.float-card{
  background:var(--glass-bg); backdrop-filter:blur(18px); border:1px solid var(--glass-border);
  border-radius:var(--radius-md); padding:20px 24px; box-shadow:var(--shadow-lg);
  text-align:center; animation:floatY 5s ease-in-out infinite;
}
.float-card:nth-child(2){animation-delay:.6s;}
.float-card:nth-child(3){animation-delay:1.2s;}
.float-card h3{color:#fff; font-size:2rem; margin-bottom:3px; font-weight:800;}
.float-card p{color:rgba(255,255,255,.65); margin:0; font-size:.8rem; letter-spacing:1px; text-transform:uppercase;}
@keyframes floatY{0%,100%{transform:translateY(0);} 50%{transform:translateY(-12px);}}

/* Floating particles / blobs */
.blob{position:absolute; border-radius:50%; filter:blur(75px); opacity:.35; z-index:0; pointer-events:none;}
.blob-1{width:380px; height:380px; background:var(--secondary); top:-110px; left:-90px;}
.blob-2{width:340px; height:340px; background:var(--accent); bottom:-120px; right:-70px;}

/* =========================================================
   SECTION SCAFFOLDING
   ========================================================= */
.section{
  padding:48px 0;
}
.section-sm{padding:34px 0;}
.section-dark{background:var(--dark); color:rgba(255,255,255,.85);}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:#fff;}
.section-tinted{background:linear-gradient(180deg,#F8FAFC 0%,#EEF3F8 100%);}
/* .section-tinted keeps a permanently light backdrop regardless of site theme,
   so its headings must stay dark too (see the fixed-card pin rule above). */
.section-tinted h1,.section-tinted h2,.section-tinted h3,.section-tinted h4,.section-tinted h5,.section-tinted h6{color:var(--primary);}

.eyebrow{
  display:inline-flex; align-items:center; gap:9px; font-size:.76rem; font-weight:700;
  letter-spacing:2.5px; text-transform:uppercase; color:var(--secondary); margin-bottom:16px;
}
.eyebrow::before{content:''; width:26px; height:2px; background:var(--accent); display:inline-block;}
.section-title{font-size:clamp(1.7rem,2.8vw,2.4rem); margin-bottom:18px; line-height:1.2;}
.section-desc{color:#5B6472; font-size:1rem; max-width:620px; line-height:1.7;}
.section-dark .section-desc{color:rgba(255,255,255,.65);}
.section-head{margin-bottom:30px;}

/* Rich-text blog post body (TinyMCE output) */
.blog-content{color:#3A4250; font-size:1.05rem; line-height:1.85;}
.blog-content p{margin-bottom:1.4em;}
.blog-content h2{font-family:var(--font-head); font-size:1.5rem; font-weight:700; color:var(--primary); margin:1.6em 0 .6em;}
.blog-content h3{font-family:var(--font-head); font-size:1.2rem; font-weight:700; color:var(--primary); margin:1.4em 0 .5em;}
.blog-content ul,.blog-content ol{margin-bottom:1.4em; padding-left:1.4em;}
.blog-content li{margin-bottom:.5em;}
.blog-content a{color:var(--secondary); text-decoration:underline;}
.blog-content img{max-width:100%; height:auto; border-radius:var(--radius-md); margin:1em 0;}
.blog-content table{width:100%; border-collapse:collapse; margin-bottom:1.4em;}
.blog-content table td,.blog-content table th{border:1px solid rgba(11,31,58,.12); padding:8px 12px;}

/* =========================================================
   TRUSTED LOGOS MARQUEE
   ========================================================= */
.logo-marquee-wrap{overflow:hidden; padding:36px 0; border-top:1px solid rgba(11,31,58,.06); border-bottom:1px solid rgba(11,31,58,.06);}
.logo-track{display:flex; gap:75px; width:max-content; animation:marquee 30s linear infinite;}
.logo-track img,.logo-track .logo-item{height:28px; opacity:.55; filter:grayscale(1); transition:all .3s; display:flex; align-items:center; font-family:var(--font-head); font-weight:700; font-size:1.1rem; color:#5B6472; white-space:nowrap;}
.logo-track .logo-item:hover{opacity:1; filter:none; color:var(--primary);}
@keyframes marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* =========================================================
   ABOUT PREVIEW / SPLIT
   ========================================================= */
.split-block{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.split-media{position:relative;}
.split-media .media-main{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg);}
.split-media .media-main img{transition:transform .8s var(--ease);}
.split-media:hover .media-main img{transform:scale(1.06);}
.split-media .media-badge{
  position:absolute; bottom:-20px; right:-20px; background:#fff; border-radius:var(--radius-md);
  padding:18px 22px; box-shadow:var(--shadow-lg); text-align:center; z-index:2;
}
.split-media .media-badge h4{font-size:1.7rem; margin:0; color:var(--accent);}
.split-media .media-badge span{font-size:.7rem; color:#5B6472; text-transform:uppercase; letter-spacing:1px;}

.mini-timeline{margin-top:26px; display:flex; flex-direction:column; gap:0;}
.mini-timeline .t-item{display:flex; gap:16px; padding:14px 0; border-left:2px solid rgba(14,116,144,.2); padding-left:22px; position:relative;}
.mini-timeline .t-item::before{content:''; position:absolute; left:-7px; top:18px; width:11px; height:11px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px rgba(34,197,94,.18);}
.mini-timeline .t-item h6{margin:0 0 3px; color:var(--heading); font-size:.94rem;}
.mini-timeline .t-item p{margin:0; color:#5B6472; font-size:.85rem;}

/* =========================================================
   SERVICE CARDS (3D tilt)
   ========================================================= */
.service-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.service-card{
  background:#fff; border-radius:var(--radius-md); padding:28px 22px; position:relative;
  border:1px solid rgba(11,31,58,.06); box-shadow:0 9px 26px rgba(11,31,58,.05);
  transition:box-shadow .4s var(--ease), transform .4s var(--ease); overflow:hidden;
  transform-style:preserve-3d; perspective:800px;
}
.service-card::after{
  content:''; position:absolute; inset:0; opacity:0; transition:opacity .4s;
  background:linear-gradient(160deg, rgba(14,116,144,.08), rgba(34,197,94,.05));
}
.service-card:hover::after{opacity:1;}
.service-card:hover{box-shadow:var(--shadow-lg); transform:translateY(-8px);}
.service-icon{
  width:52px; height:52px; border-radius:15px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,rgba(11,31,58,.06),rgba(14,116,144,.1)); color:var(--secondary);
  font-size:1.35rem; margin-bottom:18px; transition:all .4s var(--ease); position:relative; z-index:1;
}
.service-card:hover .service-icon{background:linear-gradient(135deg,var(--secondary),var(--accent)); color:#fff; transform:rotate(-8deg) scale(1.08);}
.service-card h5{font-size:1.05rem; margin-bottom:9px; position:relative; z-index:1;}
.service-card p{color:#5B6472; font-size:.86rem; line-height:1.6; margin-bottom:0; position:relative; z-index:1; max-height:0; opacity:0; overflow:hidden; transition:all .45s var(--ease);}
.service-card:hover p{max-height:160px; opacity:1; margin-top:8px;}
.service-card .card-link{position:relative; z-index:1; display:inline-flex; align-items:center; gap:6px; color:var(--secondary); font-weight:600; font-size:.8rem; margin-top:12px;}
.service-card .card-num{position:absolute; top:16px; right:20px; font-family:var(--font-head); font-size:1.8rem; font-weight:800; color:rgba(11,31,58,.05); z-index:0;}

/* =========================================================
   INDUSTRIES HEXAGON GRID
   ========================================================= */
.hex-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:0; margin-top:16px;}
.hex-item{
  position:relative; width:192px; height:222px; margin:-28px 6px;
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background:linear-gradient(160deg,var(--primary),var(--dark));
  display:flex; align-items:center; justify-content:center; text-align:center; color:#fff;
  transition:all .45s var(--ease); cursor:pointer; overflow:hidden;
}
.hex-item .hex-inner{position:relative; z-index:2; padding:16px;}
.hex-item i{font-size:1.6rem; margin-bottom:10px; color:var(--accent); transition:all .4s;}
.hex-item h6{color:#fff; font-size:.86rem; margin:0; letter-spacing:.5px;}
.hex-item::before{content:''; position:absolute; inset:0; background:linear-gradient(160deg,var(--secondary),var(--accent)); opacity:0; transition:opacity .4s;}
.hex-item:hover::before{opacity:1;}
.hex-item:hover{transform:scale(1.08); z-index:5;}
.hex-item:hover i{transform:scale(1.15) rotate(-8deg); color:#fff;}

/* =========================================================
   WHY CHOOSE US COMPARISON
   ========================================================= */
.compare-wrap{display:grid; grid-template-columns:1fr 1fr; gap:0; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg);}
.compare-col{padding:28px 26px;}
.compare-col.traditional{background:#EEF1F5; color:#5B6472;}
.compare-col.gnex{background:linear-gradient(160deg,var(--primary),var(--dark)); color:#fff;}
.compare-col h4{margin-bottom:20px; font-size:1.25rem;}
.compare-col.traditional h4{color:var(--primary);}
.compare-col.gnex h4{color:#fff;}
.compare-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:16px;}
.compare-list li{display:flex; align-items:flex-start; gap:12px; font-size:.88rem; line-height:1.55;}
.compare-list li i{margin-top:3px;}
.compare-col.traditional li i{color:#DC2626;}
.compare-col.gnex li i{color:var(--accent);}

/* =========================================================
   STATS
   ========================================================= */
.stats-band{background:linear-gradient(120deg,var(--primary) 0%, var(--dark) 100%); position:relative; overflow:hidden;}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; z-index:2;}
.stat-item{text-align:center; padding:16px;}
.stat-item h2{font-size:clamp(2rem,3.2vw,2.8rem); color:#fff; margin-bottom:5px; font-weight:800;}
.stat-item h2 span{color:var(--accent);}
.stat-item p{color:rgba(255,255,255,.6); font-size:.82rem; letter-spacing:1px; text-transform:uppercase; margin:0;}

/* =========================================================
   TESTIMONIALS
   ========================================================= */
.testimonial-card{
  background:var(--glass-bg-light); backdrop-filter:blur(16px); border:1px solid var(--glass-border-light);
  border-radius:var(--radius-md); padding:28px; box-shadow:0 13px 34px rgba(11,31,58,.08); height:100%;
}
.testimonial-card .stars{color:#F59E0B; margin-bottom:14px; font-size:.82rem;}
.testimonial-card p.quote{font-size:.96rem; line-height:1.7; color:var(--text); margin-bottom:20px; font-style:italic;}
.testimonial-author{display:flex; align-items:center; gap:12px;}
.testimonial-author .avatar{width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--secondary),var(--accent)); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700;}
.testimonial-author h6{margin:0; font-size:.88rem;}
.testimonial-author span{font-size:.75rem; color:#5B6472;}

/* =========================================================
   CTA BANDS
   ========================================================= */
.cta-band{
  background:linear-gradient(135deg,var(--primary),var(--secondary)); border-radius:var(--radius-lg);
  padding:40px 34px; text-align:center; position:relative; overflow:hidden;
}
.cta-band h2{color:#fff; font-size:clamp(1.6rem,2.8vw,2.3rem); margin-bottom:16px;}
.cta-band p{color:rgba(255,255,255,.75); max-width:580px; margin:0 auto 26px;}
.cta-band .blob{opacity:.25;}

/* =========================================================
   TIMELINE (About page)
   ========================================================= */
.v-timeline{position:relative; padding-left:0;}
.v-timeline::before{content:''; position:absolute; left:50%; top:0; bottom:0; width:2px; background:rgba(14,116,144,.25); transform:translateX(-50%);}
.v-timeline-item{display:grid; grid-template-columns:1fr 50px 1fr; align-items:center; margin-bottom:32px;}
.v-timeline-item .v-content{background:#fff; border-radius:var(--radius-md); padding:20px 24px; box-shadow:0 9px 26px rgba(11,31,58,.06);}
.v-timeline-item .v-dot{width:17px; height:17px; border-radius:50%; background:var(--accent); margin:0 auto; box-shadow:0 0 0 5px rgba(34,197,94,.15); position:relative; z-index:2;}
.v-timeline-item:nth-child(even) .v-content{grid-column:3; }
.v-timeline-item:nth-child(odd) .v-content{grid-column:1;}
.v-timeline-item .v-year{font-family:var(--font-head); font-weight:800; color:var(--secondary); font-size:1.2rem; margin-bottom:5px;}

/* =========================================================
   VALUES
   ========================================================= */
.value-card{padding:28px 24px; border-radius:var(--radius-md); background:#fff; border:1px solid rgba(11,31,58,.06); height:100%; transition:all .4s var(--ease);}
.value-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent;}
.value-card i{font-size:1.7rem; color:var(--accent); margin-bottom:16px;}

/* =========================================================
   SERVICE DETAIL BLOCKS (services.php)
   ========================================================= */
.service-detail{
  padding:36px 0; border-bottom:1px solid rgba(11,31,58,.06);
}
.service-detail:nth-child(even){background:#F3F7FA;}
.service-detail:nth-child(even) h1,
.service-detail:nth-child(even) h2,
.service-detail:nth-child(even) h3,
.service-detail:nth-child(even) h4,
.service-detail:nth-child(even) h5,
.service-detail:nth-child(even) h6{color:var(--primary);}
.service-detail-media{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); position:relative;}
.service-detail-media img{aspect-ratio:4/3; object-fit:cover;}
.service-detail-tag{display:inline-flex; align-items:center; gap:8px; background:rgba(14,116,144,.08); color:var(--secondary); padding:7px 16px; border-radius:50px; font-size:.74rem; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:16px;}
.benefit-list{list-style:none; padding:0; margin:20px 0; display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.benefit-list li{display:flex; gap:9px; align-items:flex-start; font-size:.86rem; color:#404b5a;}
.benefit-list li i{color:var(--accent); margin-top:3px;}
.process-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px;}
.process-step{text-align:center; position:relative; padding:18px 12px;}
.process-step .step-num{width:40px; height:40px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 10px; font-weight:700; font-family:var(--font-head); font-size:.88rem;}
.process-step h6{font-size:.86rem;}
.process-step p{font-size:.78rem; color:#5B6472;}

/* =========================================================
   INDUSTRY CARDS (industries.php)
   ========================================================= */
.industry-card{border-radius:var(--radius-lg); overflow:hidden; position:relative; box-shadow:0 9px 26px rgba(11,31,58,.08); height:100%;}
.industry-card .ind-media{aspect-ratio:16/10; overflow:hidden;}
.industry-card .ind-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.industry-card:hover .ind-media img{transform:scale(1.1);}
.industry-card .ind-body{padding:22px;background:#fff;}
.industry-card h5{margin-bottom:9px; font-size:1rem;}
.industry-card .ind-tags{display:flex; flex-wrap:wrap; gap:7px; margin:12px 0;}
.industry-card .ind-tags span{background:rgba(14,116,144,.08); color:var(--secondary); font-size:.7rem; padding:4px 11px; border-radius:50px; font-weight:600;}
.industry-card .ind-expand{max-height:0; overflow:hidden; transition:max-height .5s var(--ease);}
.industry-card:hover .ind-expand,.industry-card.open .ind-expand{max-height:400px;}

/* =========================================================
   SOLUTIONS PAGE
   ========================================================= */
.solution-row{
  display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:center;
  padding:26px 0; border-bottom:1px solid rgba(11,31,58,.06);
}
.solution-row:nth-child(even) .sol-media{order:2;}
.solution-icon-badge{width:58px; height:58px; border-radius:16px; background:linear-gradient(135deg,var(--secondary),var(--accent)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.45rem; margin-bottom:18px;}

/* =========================================================
   TRAINING PAGE
   ========================================================= */
.training-card{background:#fff; border-radius:var(--radius-md); padding:26px 22px; text-align:center; box-shadow:0 9px 26px rgba(11,31,58,.06); transition:all .4s var(--ease); height:100%;}
.training-card:hover{transform:translateY(-8px) rotate(-1deg); box-shadow:var(--shadow-lg);}
.training-card .t-icon{width:62px; height:62px; border-radius:50%; background:linear-gradient(135deg,rgba(14,116,144,.1),rgba(34,197,94,.1)); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:1.5rem; color:var(--secondary);}

/* =========================================================
   CAREERS PAGE
   ========================================================= */
.job-search-bar{background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-soft); padding:12px; display:flex; gap:10px; flex-wrap:wrap;}
.job-search-bar input,.job-search-bar select{border:1px solid rgba(11,31,58,.1); border-radius:11px; padding:10px 15px; font-size:.85rem; flex:1; min-width:150px;}
.job-card{background:#fff; border-radius:var(--radius-md); padding:22px; border:1px solid rgba(11,31,58,.06); transition:all .35s var(--ease); box-shadow:0 5px 18px rgba(11,31,58,.04);}
.job-card:hover{box-shadow:var(--shadow-lg); transform:translateY(-5px); border-color:transparent;}
.job-card .job-tags span{background:#F0F5F8; color:var(--secondary); font-size:.7rem; padding:4px 11px; border-radius:50px; font-weight:600; margin-right:5px;}
.job-card h5{margin:11px 0 6px; font-size:1rem;}
.job-card .job-meta{display:flex; flex-wrap:wrap; gap:12px; font-size:.78rem; color:#5B6472; margin-bottom:14px;}
.job-card .job-meta span{display:flex; align-items:center; gap:5px;}

.upload-zone{border:2px dashed rgba(14,116,144,.35); border-radius:var(--radius-md); padding:28px; text-align:center; background:#F8FBFC; cursor:pointer; transition:all .3s;}
.upload-zone:hover,.upload-zone.dragover{border-color:var(--accent); background:rgba(34,197,94,.05);}
.upload-zone i{font-size:1.8rem; color:var(--secondary); margin-bottom:10px;}

.success-page{min-height:38vh; display:flex; align-items:center; justify-content:center; text-align:center;}
.success-icon{width:82px; height:82px; border-radius:50%; background:linear-gradient(135deg,var(--accent),#16a34a); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-size:2.2rem; color:#fff; box-shadow:0 16px 38px rgba(34,197,94,.35); animation:popIn .6s var(--ease);}
@keyframes popIn{0%{transform:scale(0); opacity:0;} 70%{transform:scale(1.1);} 100%{transform:scale(1); opacity:1;}}

/* =========================================================
   CONTACT PAGE
   ========================================================= */
.contact-card{background:#fff; border-radius:var(--radius-md); padding:22px; box-shadow:0 9px 26px rgba(11,31,58,.06); height:100%;}
.contact-card i{width:44px; height:44px; border-radius:13px; background:linear-gradient(135deg,var(--secondary),var(--accent)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-size:1.1rem;}
.contact-form-wrap{background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:28px;}
.form-control-gnex{border:1px solid rgba(11,31,58,.12); border-radius:11px; padding:12px 15px; font-size:.88rem; width:100%; margin-bottom:15px; transition:all .3s;}
.form-control-gnex:focus{outline:none; border-color:var(--secondary); box-shadow:0 0 0 4px rgba(14,116,144,.1);}
.map-wrap{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); line-height:0;}
.map-wrap iframe{width:100%; height:360px; border:0; filter:grayscale(.2) contrast(1.05);}

.faq-item{border-bottom:1px solid rgba(11,31,58,.08); padding:17px 0;}
.faq-q{display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:600; color:var(--primary); font-size:.94rem;}
.faq-q i{transition:transform .3s;}
.faq-item.open .faq-q i{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .4s var(--ease); color:#5B6472; font-size:.88rem; line-height:1.65;}
.faq-item.open .faq-a{max-height:300px; padding-top:12px;}

/* =========================================================
   FLOATING WIDGETS
   ========================================================= */
.whatsapp-float{
  position:fixed; bottom:24px; left:24px; width:52px; height:52px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; box-shadow:0 9px 26px rgba(37,211,102,.4); z-index:900; animation:pulseWA 2.4s infinite;
}
@keyframes pulseWA{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);} 70%{box-shadow:0 0 0 15px rgba(37,211,102,0);} 100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}

.back-to-top{
  position:fixed; bottom:24px; right:24px; width:46px; height:46px; border-radius:50%; border:none;
  background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center;
  z-index:900; opacity:0; visibility:hidden; transform:translateY(20px); transition:all .35s var(--ease); cursor:pointer;
}
.back-to-top.show{opacity:1; visibility:visible; transform:translateY(0);}

.cookie-banner{
  position:fixed; bottom:0; left:0; right:0; z-index:1200; background:rgba(6,17,31,.97); backdrop-filter:blur(14px);
  color:#fff; padding:18px 26px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  transform:translateY(100%); transition:transform .5s var(--ease);
}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner p{margin:0; font-size:.84rem; color:rgba(255,255,255,.8); max-width:700px;}
.cookie-actions{display:flex; gap:10px;}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:var(--dark); color:rgba(255,255,255,.65); padding:46px 0 0; position:relative; overflow:hidden;}
.footer-glow{position:absolute; top:-200px; left:50%; transform:translateX(-50%); width:800px; height:400px; background:var(--secondary); filter:blur(160px); opacity:.15;}
.footer-top{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.4fr; gap:28px; padding-bottom:26px; position:relative; z-index:1;}
.footer-brand-col p{margin:14px 0 18px; font-size:.86rem; line-height:1.7; max-width:310px;}
.footer-socials{display:flex; gap:8px;}
.footer-socials a{width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; transition:all .3s;}
.footer-socials a:hover{background:var(--accent); transform:translateY(-3px);}
.footer-col h6{color:#fff; font-size:.84rem; letter-spacing:1px; text-transform:uppercase; margin-bottom:14px;}
.footer-col a{display:block; font-size:.84rem; padding:5px 0; transition:all .25s;}
.footer-col a:hover{color:var(--accent); padding-left:4px;}
.newsletter-form{display:flex; gap:0; border-radius:50px; overflow:hidden; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); padding:4px;}
.newsletter-form input{flex:1; background:transparent; border:none; padding:8px 14px; color:#fff; font-size:.8rem;}
.newsletter-form input:focus{outline:none;}
.newsletter-form button{width:34px; height:34px; border-radius:50%; background:var(--accent); border:none; color:#fff; flex-shrink:0;}
.newsletter-msg{font-size:.76rem; margin-top:8px; color:var(--accent);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:18px 0; border-top:1px solid rgba(255,255,255,.08); font-size:.8rem; flex-wrap:wrap; gap:10px;}
.footer-legal{display:flex; gap:18px;}
.footer-legal a:hover{color:var(--accent);}

/* =========================================================
   ANIMATION UTILITY CLASSES
   ========================================================= */
.reveal{opacity:0; transform:translateY(40px); transition:all .9s var(--ease);}
.reveal.in-view{opacity:1; transform:translateY(0);}
.blur-reveal{opacity:0; filter:blur(12px); transform:scale(1.04); transition:all 1s var(--ease);}
.blur-reveal.in-view{opacity:1; filter:blur(0); transform:scale(1);}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1199px){
  .service-grid{grid-template-columns:repeat(3,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
}
@media (max-width:991px){
  .nav-links,.d-none.d-lg-flex{display:none !important;}
  .split-block,.solution-row,.compare-wrap{grid-template-columns:1fr; gap:28px;}
  .solution-row:nth-child(even) .sol-media{order:0;}
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .v-timeline::before{left:18px;}
  .v-timeline-item{grid-template-columns:1fr; padding-left:44px;}
  .v-timeline-item .v-dot{position:absolute; left:10px;}
  .v-timeline-item:nth-child(even) .v-content,.v-timeline-item:nth-child(odd) .v-content{grid-column:1;}
  .process-steps{grid-template-columns:repeat(2,1fr);}
  .benefit-list{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr; gap:28px;}
}
@media (max-width:767px){
  .section{padding:32px 0;}
  .hero{padding-top:92px;}
  .hero-floating-cards .row > div{margin-bottom:14px;}
  .service-grid{grid-template-columns:1fr;}
  .hex-item{width:160px; height:184px; margin:-20px 3px;}
  .compare-col{padding:22px 20px;}
  .cta-band{padding:28px 22px;}
  .contact-form-wrap{padding:20px;}
  .stats-grid{grid-template-columns:1fr 1fr;}
}
