/* ══ RESET & TOKENS ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#04060f;--bg2:#070c18;--bg3:#0b1222;
  --gold:#c9a227;--gold2:#e8c34a;--gold-dim:rgba(201,162,39,.12);
  --blue:#1a6cf0;--blue2:#4d8fff;--cyan:#00d4ff;
  --text:#e8ecf4;--text2:#8a97b4;--text3:#4a566e;
  --border:rgba(255,255,255,.07);--border2:rgba(201,162,39,.3);
  --card:rgba(255,255,255,.03);--card2:rgba(201,162,39,.06);
  --glass:rgba(255,255,255,.05);--glass-border:rgba(255,255,255,.10);
  --radius:16px;--radius2:24px;
  --font:'Outfit',sans-serif;--font2:'Space Grotesk',sans-serif;
  --transition:0.4s cubic-bezier(0.23,1,0.32,1);
  --shadow:0 24px 80px rgba(0,0,0,.6);
}
html{scroll-behavior:smooth;font-size:16px;}
body{background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden;}
/* Glass utility */
.glass-card{background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius2);}

a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:1240px;margin:0 auto;padding:0 24px;}

/* ══ SCROLLBAR ══ */
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px;}

/* ══ LOADER ══ */
#loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease;}
#loader.hidden{opacity:0;visibility:hidden;}
.loader-inner{text-align:center;}
.loader-logo{display:flex;align-items:center;justify-content:center;margin-bottom:4px;}
.loader-logo img{height:48px;width:auto;filter:brightness(0) invert(1);}
.loader-bar{width:220px;height:3px;background:var(--bg3);border-radius:4px;margin:20px auto 12px;overflow:hidden;}
.loader-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:4px;animation:fill 2s ease forwards;}
@keyframes fill{to{width:100%;}}
.loader-text{font-size:.85rem;color:var(--text2);letter-spacing:.1em;}



/* ══ NAV ══ */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:background var(--transition),padding var(--transition);}
#navbar.scrolled{background:rgba(5,8,16,.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:12px 0;}
.nav-inner{max-width:1240px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:32px;}
.nav-logo{display:flex;align-items:center;margin-right:auto;}
.nav-logo-img{height:44px;width:auto;display:block;transition:opacity var(--transition);}
.nav-logo-img:hover{opacity:.85;}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-size:.9rem;font-weight:500;color:var(--text2);letter-spacing:.05em;transition:color var(--transition);position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--gold);transition:width var(--transition);}
.nav-links a:hover{color:var(--text);}
.nav-links a:hover::after{width:100%;}
.nav-cta{padding:10px 24px;border:1.5px solid var(--gold);border-radius:40px;font-size:.85rem;font-weight:600;color:var(--gold);letter-spacing:.05em;transition:all var(--transition);}
.nav-cta:hover{background:var(--gold);color:var(--bg);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:all .3s;}

/* ══ BUTTONS ══ */
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--bg);font-weight:700;font-size:.95rem;border-radius:40px;border:none;cursor:pointer;transition:all var(--transition);letter-spacing:.03em;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(201,162,39,.4);}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:transparent;color:var(--text);font-weight:600;font-size:.95rem;border-radius:40px;border:1.5px solid var(--border);cursor:pointer;transition:all var(--transition);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px);}
.btn-primary.full-w{width:100%;justify-content:center;}
.mt-2{margin-top:24px;}

/* ══ HERO (split layout) ══ */
#hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;overflow:hidden;}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.hero-grid-overlay{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;z-index:1;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%);}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 0.85fr;gap:60px;align-items:center;max-width:1240px;width:100%;margin:0 auto;padding:120px 24px 60px;}
.hero-left{display:flex;flex-direction:column;align-items:flex-start;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:1px solid var(--border2);border-radius:40px;font-size:.78rem;font-weight:700;letter-spacing:.12em;color:var(--gold);background:var(--gold-dim);margin-bottom:28px;animation:fadeUp .8s .2s both;}
.hero-title{font-size:clamp(2.6rem,5vw,5rem);font-weight:900;line-height:1.07;margin-bottom:20px;animation:fadeUp .8s .35s both;}
.hero-title .gold-text{background:linear-gradient(135deg,var(--gold),var(--gold2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.hero-sub{font-size:1.05rem;color:var(--text2);line-height:1.78;margin-bottom:36px;max-width:500px;animation:fadeUp .8s .5s both;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:52px;animation:fadeUp .8s .65s both;}
/* Live Dashboard */
.hero-live-dashboard { display:flex; gap:28px; animation:fadeUp .8s .8s both; }
.dash-item { display:flex; flex-direction:column; gap:4px; min-width:140px; }
.dash-label { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--text3); }
.dash-val { font-size:1.6rem; font-weight:800; color:var(--text); font-family:var(--font2); letter-spacing:.05em; }
.dash-line { width:100%; height:3px; background:rgba(255,255,255,.05); border-radius:2px; overflow:hidden; margin-top:4px; position:relative; }
.dash-line-inner { position:absolute; top:0; bottom:0; left:0; border-radius:2px; }
.pulse-green { width:30%; background:#22c55e; animation:dashPulse 2s infinite ease-in-out; }
.pulse-blue { width:45%; background:var(--cyan); animation:dashPulse 2.5s infinite ease-in-out reverse; }
.solid-gold { width:100%; background:var(--gold); }
@keyframes dashPulse { 0%, 100% { width:30%; opacity:.6; } 50% { width:80%; opacity:1; } }

/* Terminal */
.hgp-terminal { background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.08); border-radius:12px; margin-bottom:20px; padding:12px; font-family:'Courier New', Courier, monospace; overflow:hidden; }
.term-header { display:flex; align-items:center; gap:6px; margin-bottom:10px; border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:8px; }
.term-dot { width:8px; height:8px; border-radius:50%; }
.term-dot.r { background:#ef4444; } .term-dot.y { background:#eab308; } .term-dot.g { background:#22c55e; }
.term-title { font-size:.65rem; color:var(--text3); margin-left:8px; }
.term-body { font-size:.75rem; color:#22c55e; line-height:1.6; height:60px; overflow:hidden; white-space:pre-wrap; }
.term-body span.typing-cursor { display:inline-block; width:6px; height:12px; background:#22c55e; margin-left:4px; animation:blink 1s step-end infinite; }
@keyframes blink { 50% { opacity: 0; } }

/* Magnetic Button Utility */
.magnetic { transition:transform 0.1s linear; will-change:transform; }

/* Glitch Effect */
.gold-text { position:relative; display:inline-block; transition:all 0.3s ease; }
.gold-text:hover { animation:glitch 0.3s cubic-bezier(.25, .46, .45, .94) both infinite; color:var(--text); -webkit-text-fill-color:unset; background:none; text-shadow:2px 0 #ef4444, -2px 0 #00d4ff; }
@keyframes glitch { 0% { transform:translate(0); } 20% { transform:translate(-2px, 1px); } 40% { transform:translate(-1px, -1px); } 60% { transform:translate(2px, 1px); } 80% { transform:translate(1px, -1px); } 100% { transform:translate(0); } }

/* Hero right glass panel */
.hero-right{animation:fadeUp .8s .55s both;}
.hero-glass-panel{background:rgba(255,255,255,.05);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:28px;position:relative;overflow:hidden;}
.hero-glass-panel::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,162,39,.07),rgba(26,108,240,.05),transparent);pointer-events:none;border-radius:24px;}
.hgp-top{display:flex;align-items:center;gap:8px;margin-bottom:20px;}
.hgp-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;flex-shrink:0;animation:pulse-green 2s ease-in-out infinite;}
@keyframes pulse-green{0%,100%{box-shadow:0 0 6px #22c55e;}50%{box-shadow:0 0 16px #22c55e;}}
.hgp-status{font-size:.8rem;color:var(--text2);font-weight:500;}
.hgp-live{margin-left:auto;font-size:.68rem;font-weight:700;color:#22c55e;letter-spacing:.12em;}
.hgp-label{font-size:.68rem;font-weight:700;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin-bottom:14px;}
.hgp-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
.hgp-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);transition:all var(--transition);cursor:default;}
.hgp-row:hover{background:rgba(255,255,255,.07);border-color:rgba(201,162,39,.25);transform:translateX(4px);}
.hgp-icon{font-size:1.25rem;flex-shrink:0;width:28px;text-align:center;}
.hgp-info{flex:1;}
.hgp-info strong{display:block;font-size:.88rem;font-weight:700;}
.hgp-info span{font-size:.74rem;color:var(--text2);}
.hgp-tag{font-size:.64rem;font-weight:700;padding:3px 9px;border-radius:20px;background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.25);letter-spacing:.06em;flex-shrink:0;}
.hgp-certs{display:flex;flex-wrap:wrap;gap:6px;}
.hgp-certs span{font-size:.68rem;font-weight:600;padding:4px 10px;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:20px;color:var(--text2);letter-spacing:.05em;}
/* Scroll hint */
.hero-scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text2);font-size:.72rem;letter-spacing:.15em;animation:fadeIn 1s 1.5s both;z-index:2;}
.scroll-line{width:1px;height:44px;background:linear-gradient(var(--gold),transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:.4;}50%{opacity:1;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}


/* ══ MARQUEE ══ */
.marquee-wrap{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;padding:16px 0;}
.marquee-track{display:flex;gap:32px;width:max-content;animation:marquee 30s linear infinite;}
.marquee-track span{font-size:.85rem;font-weight:600;color:var(--text2);white-space:nowrap;letter-spacing:.05em;}
.marquee-track .dot{color:var(--gold);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ══ SECTION COMMONS ══ */
.section-label{font-size:.75rem;font-weight:700;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:12px;}
.section-title{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.15;margin-bottom:16px;}
.section-sub{color:var(--text2);font-size:1.05rem;max-width:560px;}
.section-header{text-align:center;margin-bottom:64px;}
.section-header .section-sub{margin:0 auto;}
.gold-text{background:linear-gradient(135deg,var(--gold),var(--gold2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}

/* ══ ABOUT (glass cards) ══ */
.section-about{padding:120px 0;background:var(--bg);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-desc{color:var(--text2);line-height:1.8;margin-bottom:32px;font-size:1.05rem;}
.about-cards{display:flex;flex-direction:column;gap:14px;margin-bottom:32px;}
.about-mini-card{display:flex;gap:16px;align-items:flex-start;padding:20px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:all var(--transition);}
.about-mini-card:hover{border-color:var(--border2);background:rgba(201,162,39,.07);transform:translateX(6px);}
.mini-icon{font-size:1.6rem;flex-shrink:0;margin-top:2px;}
.about-mini-card strong{display:block;font-weight:700;margin-bottom:6px;}
.about-mini-card p{color:var(--text2);font-size:.9rem;line-height:1.6;}
.about-3d-card{position:relative;background:linear-gradient(135deg,rgba(201,162,39,.07),rgba(26,108,240,.07));border:1px solid var(--glass-border);border-radius:var(--radius2);padding:40px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transform-style:preserve-3d;transition:transform .1s;will-change:transform;}
.card-glow{position:absolute;inset:-1px;border-radius:var(--radius2);background:linear-gradient(135deg,var(--gold),transparent,var(--blue));opacity:.12;z-index:0;pointer-events:none;}
.card-content{position:relative;z-index:1;}
.card-icon-big{font-size:3rem;margin-bottom:20px;}
.card-content h3{font-size:1.5rem;font-weight:700;margin-bottom:20px;}
.why-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.why-list li{font-size:.92rem;color:var(--text2);line-height:1.5;}
.card-tags{display:flex;flex-wrap:wrap;gap:8px;}
.card-tags span{padding:6px 14px;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:20px;font-size:.78rem;font-weight:600;color:var(--text2);}


/* ══ SERVICES (glass cards) ══ */
.section-services{padding:120px 0;background:var(--bg2);}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.service-card{position:relative;padding:32px;border:1px solid var(--glass-border);border-radius:var(--radius2);background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden;cursor:pointer;transition:all var(--transition);}
.service-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--gold-dim),transparent);opacity:0;transition:opacity var(--transition);z-index:0;}
.service-card:hover{border-color:var(--border2);transform:translateY(-8px);box-shadow:0 32px 64px rgba(0,0,0,.5),0 0 0 1px rgba(201,162,39,.15);}
.service-card:hover::before{opacity:1;}
.service-card.featured-card{border-color:var(--border2);background:rgba(201,162,39,.04);}
.service-icon{font-size:2.2rem;margin-bottom:18px;position:relative;z-index:1;}
.service-card h3{font-size:1.1rem;font-weight:700;margin-bottom:10px;position:relative;z-index:1;}
.service-card>p{color:var(--text2);font-size:.88rem;line-height:1.7;margin-bottom:14px;position:relative;z-index:1;}
.service-card ul{list-style:none;display:flex;flex-direction:column;gap:5px;position:relative;z-index:1;}
.service-card ul li{font-size:.8rem;color:var(--text3);padding-left:14px;position:relative;}
.service-card ul li::before{content:'▸';position:absolute;left:0;color:var(--gold);}
.service-glow{position:absolute;bottom:-60px;right:-60px;width:160px;height:160px;background:radial-gradient(circle,var(--gold-dim),transparent 70%);pointer-events:none;transition:all var(--transition);}
.service-card:hover .service-glow{width:240px;height:240px;bottom:-80px;right:-80px;}


/* ══ PARTNERS CAROUSEL ══ */
.section-partners{padding:120px 0 80px;background:var(--bg);}

/* Slider wrap — full viewport width, clips overflow */
.partners-slider-wrap{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:12px 0 48px;
  margin-bottom:64px;
}

/* Each row */
.partners-row{
  width:100%;
  overflow:hidden;
  margin-bottom:16px;
}

/* Sliding track: CSS-animation infinite marquee */
.partners-track{
  display:flex;
  gap:20px;
  width:max-content;
  animation:partnerSlideLeft 32s linear infinite;
}
.partners-row-reverse .partners-track{
  animation:partnerSlideRight 28s linear infinite;
}

/* Pause on hover */
.partners-slider-wrap:hover .partners-track{
  animation-play-state:paused;
}

@keyframes partnerSlideLeft{
  0%  { transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
@keyframes partnerSlideRight{
  0%  { transform:translateX(-50%); }
  100%{ transform:translateX(0); }
}

/* Individual logo tile */
.partner-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:180px;
  height:100px;
  padding:16px 24px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:var(--radius);
  backdrop-filter:blur(12px);
  cursor:default;
  transition:all var(--transition);
  flex-shrink:0;
}
.partner-tile:hover{
  border-color:var(--border2);
  background:var(--gold-dim);
  transform:translateY(-4px) scale(1.04);
  box-shadow:0 16px 40px rgba(201,162,39,.15);
}
/* Partner tile - ALWAYS show logos in color */
.partner-tile img{
  height:38px;
  width:auto;
  max-width:120px;
  object-fit:contain;
  opacity:0.8;
  transition:opacity var(--transition),transform var(--transition);
}
.partner-tile:hover img{
  opacity:1;
  transform:scale(1.1);
}

.partner-tile span{
  font-size:.72rem;
  font-weight:600;
  color:var(--text2);
  letter-spacing:.07em;
  text-align:center;
  white-space:nowrap;
  transition:color var(--transition);
}
.partner-tile:hover span{
  color:var(--gold);
}

/* Edge fade masks */
.slider-fade-left,
.slider-fade-right{
  position:absolute;
  top:0;bottom:0;
  width:180px;
  z-index:2;
  pointer-events:none;
}
.slider-fade-left{
  left:0;
  background:linear-gradient(to right, var(--bg) 0%, transparent 100%);
}
.slider-fade-right{
  right:0;
  background:linear-gradient(to left, var(--bg) 0%, transparent 100%);
}
.address-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.address-card{padding:32px;border:1px solid var(--border);border-radius:var(--radius2);background:var(--card);transition:all var(--transition);}
.address-card:hover{border-color:var(--border2);transform:translateY(-4px);}
.addr-flag{font-size:2.5rem;margin-bottom:16px;}
.address-card h4{font-size:1.1rem;font-weight:700;margin-bottom:12px;}
.address-card p{color:var(--text2);font-size:.88rem;line-height:1.7;margin-bottom:16px;}
.address-card a{display:block;color:var(--text2);font-size:.85rem;margin-bottom:6px;transition:color var(--transition);}
.address-card a:hover{color:var(--gold);}

/* ══ GLOBE (Three.js WebGL) ══ */
.section-globe{position:relative;padding:120px 0;background:var(--bg2);overflow:hidden;}
.globe-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 100% at 70% 50%,rgba(26,108,240,.10),transparent 70%);}
.globe-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1;}
.globe-text p{color:var(--text2);line-height:1.8;margin-bottom:40px;font-size:1.05rem;}
.globe-pins{display:flex;flex-direction:column;gap:16px;}
.pin-item{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--border);border-radius:12px;background:var(--card);cursor:pointer;transition:all var(--transition);}
.pin-item.active,.pin-item:hover{border-color:var(--border2);background:var(--card2);}
.pin-dot{width:12px;height:12px;border-radius:50%;background:var(--text3);flex-shrink:0;transition:background var(--transition);}
.pin-item.active .pin-dot,.pin-item:hover .pin-dot{background:var(--gold);box-shadow:0 0 12px var(--gold);}
.pin-item strong{display:block;font-weight:700;font-size:.95rem;}
.pin-item span{font-size:.8rem;color:var(--text2);}

/* WebGL container */
.globe-canvas-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}
#globe-webgl{
  width:520px;
  height:520px;
  position:relative;
  cursor:grab;
  /* No overflow:hidden — labels must escape the circle */
  filter:drop-shadow(0 0 80px rgba(26,108,240,.6)) drop-shadow(0 0 160px rgba(0,80,255,.18));
}
#globe-webgl:active{cursor:grabbing;}
#globe-webgl canvas{
  border-radius:50%;
  display:block;
}

/* Tooltip */
.globe-tooltip{
  position:absolute;
  background:rgba(8,13,26,.88);
  border:1px solid var(--border2);
  border-radius:12px;
  padding:12px 18px;
  color:var(--text);
  font-size:.85rem;
  font-weight:600;
  pointer-events:none;
  backdrop-filter:blur(16px);
  white-space:nowrap;
  transition:opacity .2s ease;
  z-index:10;
  transform:translate(-50%,-130%);
  box-shadow:0 8px 32px rgba(0,0,0,.5);
}
.globe-tooltip::after{
  content:'';
  position:absolute;
  bottom:-6px;left:50%;
  transform:translateX(-50%);
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-top:6px solid var(--border2);
}
.globe-tooltip small{
  display:block;
  font-weight:400;
  color:var(--text2);
  font-size:.75rem;
  margin-top:2px;
}
.globe-tooltip.hidden{opacity:0;}

/* ══ TESTIMONIALS (glass) ══ */
.section-testimonials{padding:120px 0;background:var(--bg);}
.testimonials-track-wrap{position:relative;overflow:hidden;}
.testimonials-track{display:flex;gap:24px;transition:transform .6s cubic-bezier(0.23,1,0.32,1);}
.testimonial-card{min-width:calc(50% - 12px);padding:40px;border:1px solid var(--glass-border);border-radius:var(--radius2);background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-shrink:0;transition:border-color var(--transition);}
.testimonial-card:hover{border-color:var(--border2);}
.stars{color:var(--gold);font-size:1.2rem;margin-bottom:20px;letter-spacing:2px;}
.testimonial-card p{color:var(--text2);line-height:1.8;font-size:.98rem;margin-bottom:28px;font-style:italic;}
.test-author{display:flex;align-items:center;gap:14px;}
.test-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--blue));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--bg);flex-shrink:0;}
.test-author strong{display:block;font-weight:700;font-size:.95rem;}
.test-author span{font-size:.82rem;color:var(--text2);}
.test-controls{display:flex;gap:12px;justify-content:center;margin-top:32px;}
.test-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--border);background:var(--glass);backdrop-filter:blur(12px);color:var(--text);font-size:1.5rem;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center;}
.test-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ══ CONTACT (glass form) ══ */
.section-contact{padding:120px 0;background:var(--bg2);}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start;}
.contact-left p{color:var(--text2);line-height:1.8;margin-bottom:32px;font-size:1.05rem;}
.contact-info-items{display:flex;flex-direction:column;gap:12px;}
.ci-item{display:flex;align-items:center;gap:12px;font-size:.92rem;color:var(--text2);}
.ci-item span{font-size:1.1rem;width:24px;}
.ci-item a:hover{color:var(--gold);}
.contact-form{background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius2);padding:40px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.form-group label{font-size:.82rem;font-weight:600;color:var(--text2);letter-spacing:.06em;}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,.05);border:1px solid var(--glass-border);border-radius:10px;padding:12px 16px;color:var(--text);font-family:var(--font);font-size:.9rem;transition:all var(--transition);outline:none;resize:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.1);}
.form-group select option{background:var(--bg2);}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text3);}

/* ══ OFFICE LOCATIONS ══ */
.section-offices{padding:80px 0 100px;background:var(--bg);}
.address-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.address-card{
  position:relative;
  padding:32px 28px;
  border:1px solid var(--glass-border);
  border-radius:var(--radius2);
  background:var(--glass);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  overflow:hidden;
  transition:all var(--transition);
}
.address-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(201,162,39,.06),transparent 60%);
  opacity:0;transition:opacity var(--transition);pointer-events:none;
}
.address-card:hover{
  border-color:var(--border2);
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 0 1px rgba(201,162,39,.12);
}
.address-card:hover::before{opacity:1;}
.addr-flag{font-size:2.2rem;margin-bottom:16px;line-height:1;}
.address-card h4{font-size:1.05rem;font-weight:800;margin-bottom:12px;letter-spacing:.02em;}
.address-card p{color:var(--text2);font-size:.86rem;line-height:1.7;margin-bottom:16px;}
.address-card a{
  display:flex;align-items:center;gap:8px;
  color:var(--text2);font-size:.82rem;
  margin-bottom:8px;
  transition:color var(--transition);
}
.address-card a:hover{color:var(--gold);}

/* ══ FOOTER (premium 4-column) ══ */
.footer{position:relative;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);border-top:1px solid var(--border);padding-top:80px;}
.footer-glow{position:absolute;top:0;left:50%;transform:translateX(-50%);width:600px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5;pointer-events:none;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:56px;padding-bottom:64px;}
/* Brand column */
.footer-logo-link{display:inline-block;margin-bottom:20px;}
.footer-logo-img{height:40px;width:auto;filter:brightness(0) invert(1);opacity:.8;transition:opacity var(--transition);}
.footer-logo-img:hover{opacity:1;}
.footer-tagline{font-size:.88rem;color:var(--text2);line-height:1.78;margin-bottom:24px;max-width:280px;}
.footer-socials{display:flex;gap:10px;margin-bottom:24px;}
.social-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--glass);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;color:var(--text2);transition:all var(--transition);}
.social-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-dim);transform:translateY(-3px);}
.footer-compliance{display:flex;flex-wrap:wrap;gap:6px;}
.footer-compliance span{font-size:.64rem;font-weight:700;letter-spacing:.08em;padding:4px 10px;border:1px solid var(--border);border-radius:20px;color:var(--text3);}
/* Nav columns */
.footer-col-title{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:11px;}
.footer-links a{font-size:.88rem;color:var(--text2);transition:all var(--transition);display:inline-flex;align-items:center;gap:6px;}
.footer-links a::before{content:'›';color:var(--text3);transition:color var(--transition),transform var(--transition);display:inline-block;}
.footer-links a:hover{color:var(--text);padding-left:4px;}
.footer-links a:hover::before{color:var(--gold);transform:translateX(2px);}
/* Contact info column */
.footer-contact-list{display:flex;flex-direction:column;gap:18px;}
.fcl-item{display:flex;gap:12px;align-items:flex-start;}
.fcl-flag{font-size:1.2rem;flex-shrink:0;margin-top:3px;}
.fcl-item div{display:flex;flex-direction:column;gap:3px;}
.fcl-item strong{font-size:.82rem;font-weight:700;color:var(--text);display:block;}
.fcl-item a{font-size:.78rem;color:var(--text2);transition:color var(--transition);}
.fcl-item a:hover{color:var(--gold);}
/* Bottom bar */
.footer-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);}
.footer-bottom{padding:22px 0;}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:.78rem;color:var(--text3);}
.footer-legal{display:flex;gap:24px;}
.footer-legal a{font-size:.78rem;color:var(--text3);transition:color var(--transition);}
.footer-legal a:hover{color:var(--gold);}

/* ══ REVEAL ANIMATIONS ══ */
.reveal-up,.reveal-left,.reveal-right{opacity:0;transition:opacity .8s var(--transition),transform .8s var(--transition);}
.reveal-up{transform:translateY(40px);}
.reveal-left{transform:translateX(-40px);}
.reveal-right{transform:translateX(40px);}
.revealed{opacity:1;transform:none;}

/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px;}
}
@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .hero-inner{grid-template-columns:1fr;gap:40px;padding-top:100px;}
  .hero-right{display:none;}
  .hero-left{align-items:center;text-align:center;}
  .hero-sub{margin-left:auto;margin-right:auto;}
  .hero-stats{justify-content:center;}
}
@media(max-width:768px){
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .about-grid,.globe-layout,.contact-grid{grid-template-columns:1fr;gap:48px;}
  .address-grid{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .testimonial-card{min-width:100%;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .footer-bottom-inner{flex-direction:column;text-align:center;}
  .footer-legal{justify-content:center;}
  .hero-stats{gap:20px;}
  .stat-div{width:36px;height:1px;}
  #globe-webgl{width:320px !important;height:320px !important;}
  .globe-canvas-wrap{justify-content:center;}
  .partner-tile{min-width:140px;height:86px;padding:12px 16px;}
  .partner-tile img{height:28px;}
  .slider-fade-left,.slider-fade-right{width:60px;}
}
@media(max-width:480px){
  .hero-btns{flex-direction:column;align-items:center;}
  .footer-legal{flex-direction:column;gap:8px;align-items:center;}
  #globe-webgl{width:260px !important;height:260px !important;}
  .partner-tile{min-width:120px;height:76px;}
}

/* ══ HOW WE WORK ══ */
.section-process{padding:120px 0;background:var(--bg2);}
.process-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:start;gap:0;margin-top:24px;}
.process-step{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius2);padding:36px 28px;text-align:center;position:relative;transition:all var(--transition);backdrop-filter:blur(20px);}
.process-step:hover{border-color:var(--border2);transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,0,0,.5);}
.step-num{position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--bg);font-size:.72rem;font-weight:900;letter-spacing:.1em;padding:5px 14px;border-radius:20px;}
.step-icon{font-size:2.8rem;margin-bottom:16px;margin-top:8px;}
.process-step h3{font-size:1.1rem;font-weight:700;margin-bottom:10px;}
.process-step p{color:var(--text2);font-size:.88rem;line-height:1.7;}
.process-connector{align-self:center;width:40px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2));opacity:.4;flex-shrink:0;}
/* ══ IMPACT STATS ══ */
.section-impact{padding:80px 0;background:linear-gradient(135deg,rgba(201,162,39,.06),rgba(26,108,240,.06));border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.impact-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;}
.impact-stat{text-align:center;padding:40px 20px;border-right:1px solid var(--border);transition:all var(--transition);}
.impact-stat:last-child{border-right:none;}
.impact-stat:hover{background:rgba(201,162,39,.05);}
.impact-num{font-size:clamp(2.2rem,4vw,3.4rem);font-weight:900;background:linear-gradient(135deg,var(--gold),var(--gold2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:10px;}
.impact-label{font-size:.95rem;font-weight:700;margin-bottom:6px;}
.impact-sub{font-size:.78rem;color:var(--text2);}
/* ══ CASE STUDIES ══ */
.section-cases{padding:120px 0;background:var(--bg);}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.case-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius2);padding:40px 32px;backdrop-filter:blur(20px);position:relative;overflow:hidden;transition:all var(--transition);}
.case-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,162,39,.06),transparent 60%);opacity:0;transition:opacity var(--transition);}
.case-card:hover{border-color:var(--border2);transform:translateY(-8px);box-shadow:0 32px 64px rgba(0,0,0,.4);}
.case-card:hover::before{opacity:1;}
.case-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--gold);background:var(--gold-dim);border:1px solid var(--border2);padding:5px 12px;border-radius:20px;margin-bottom:20px;}
.case-card h3{font-size:1.2rem;font-weight:800;margin-bottom:14px;}
.case-card p{color:var(--text2);font-size:.9rem;line-height:1.75;margin-bottom:28px;}
.case-metrics{display:flex;gap:12px;}
.case-metric{flex:1;text-align:center;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;padding:14px 8px;}
.case-metric span{display:block;font-size:1.3rem;font-weight:900;color:var(--gold);margin-bottom:4px;}
.case-metric small{font-size:.7rem;color:var(--text2);}
/* ══ PRICING ══ */
.section-pricing{padding:120px 0;background:var(--bg2);}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;}
.pricing-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius2);padding:40px 32px;backdrop-filter:blur(20px);position:relative;transition:all var(--transition);}
.pricing-card:hover{border-color:rgba(255,255,255,.15);transform:translateY(-6px);}
.pricing-card.featured{border-color:var(--border2);background:rgba(201,162,39,.06);transform:scale(1.04);box-shadow:0 0 0 1px var(--border2),0 32px 80px rgba(201,162,39,.15);}
.plan-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--bg);font-size:.7rem;font-weight:800;padding:5px 16px;border-radius:20px;letter-spacing:.08em;white-space:nowrap;}
.plan-name{font-size:.8rem;font-weight:700;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}
.plan-price{font-size:3rem;font-weight:900;line-height:1;margin-bottom:8px;}
.plan-price span{font-size:1rem;font-weight:500;color:var(--text2);}
.plan-desc{font-size:.85rem;color:var(--text2);margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--border);}
.plan-features{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:32px;}
.plan-features li{font-size:.88rem;color:var(--text2);}
.plan-btn{display:block;text-align:center;width:100%;}
/* ══ FAQ ══ */
.section-faq{padding:120px 0;background:var(--bg);}
.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition);}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--glass);backdrop-filter:blur(12px);border:none;padding:20px 24px;color:var(--text);font-family:var(--font);font-size:.98rem;font-weight:600;cursor:pointer;text-align:left;transition:background var(--transition);}
.faq-q:hover{background:rgba(255,255,255,.07);}
.faq-icon{font-size:1.4rem;color:var(--gold);font-weight:300;transition:transform .3s;flex-shrink:0;margin-left:16px;display:inline-block;}
.faq-q.active .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(0.23,1,0.32,1);}
.faq-a.open{max-height:200px;}
.faq-a p{padding:20px 24px;color:var(--text2);font-size:.92rem;line-height:1.78;border-top:1px solid var(--border);}
/* ══ CTA BANNER ══ */
.section-cta-banner{padding:0;}
.cta-banner-inner{position:relative;background:linear-gradient(135deg,rgba(201,162,39,.12),rgba(26,108,240,.1));border-top:1px solid var(--border2);border-bottom:1px solid var(--border);}
.cta-banner-glow{position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 50% 0%,rgba(201,162,39,.15),transparent);pointer-events:none;}
.cta-content{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:80px 24px;flex-wrap:wrap;position:relative;z-index:1;}
.cta-text h2{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800;margin-bottom:10px;}
.cta-text p{color:var(--text2);font-size:1rem;}
.cta-actions{display:flex;align-items:center;gap:24px;flex-shrink:0;flex-wrap:wrap;}
.cta-phone{font-size:.95rem;font-weight:600;color:var(--text2);transition:color var(--transition);}
.cta-phone:hover{color:var(--gold);}
/* ══ FLOATING BUTTONS ══ */
.floating-btns{position:fixed;bottom:32px;right:28px;display:flex;flex-direction:column;gap:12px;z-index:500;}
.float-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:all var(--transition);box-shadow:0 8px 24px rgba(0,0,0,.4);}
.float-btn.whatsapp{background:linear-gradient(135deg,#25d366,#128c7e);}
.float-btn.whatsapp:hover{transform:scale(1.12);box-shadow:0 12px 32px rgba(37,211,102,.4);}
.float-btn.phone{background:linear-gradient(135deg,var(--blue),var(--blue2));}
.float-btn.phone:hover{transform:scale(1.12);box-shadow:0 12px 32px rgba(26,108,240,.4);}


/* ══ RESPONSIVE new sections ══ */
@media(max-width:1024px){
  .process-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .process-connector{display:none;}
  .impact-grid{grid-template-columns:repeat(3,1fr);}
  .cases-grid,.pricing-grid{grid-template-columns:1fr 1fr;}
  .pricing-card.featured{transform:none;}
}
@media(max-width:768px){
  .impact-grid{grid-template-columns:1fr 1fr;}
  .impact-stat{border-right:none;border-bottom:1px solid var(--border);}
  .cases-grid,.pricing-grid{grid-template-columns:1fr;}
  .cta-content{flex-direction:column;text-align:center;}
  .cta-actions{justify-content:center;}
  .process-grid{grid-template-columns:1fr;}
  .floating-btns{bottom:20px;right:16px;}
}

/* -- WORLD MAP SECTION -- */
.section-worldmap{padding:100px 0 80px;background:#000;position:relative;overflow:hidden;}
.section-worldmap::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(201,162,39,.05),transparent 70%);pointer-events:none;}
.worldmap-header{text-align:center;max-width:700px;margin:0 auto 60px;padding:0 24px;}
.worldmap-header .section-sub{color:var(--text2);font-size:1rem;margin-top:12px;}
.worldmap-wrap{position:relative;width:100%;max-width:1400px;margin:0 auto;padding:0 0 40px;overflow:hidden;}
.worldmap-wrap canvas{display:block;width:100%!important;height:auto!important;}
.map-tooltip{position:absolute;pointer-events:none;background:rgba(0,0,0,.92);border:1px solid #c9a227;border-radius:10px;padding:8px 14px;font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap;backdrop-filter:blur(12px);z-index:10;transition:opacity .2s;}
.map-tooltip strong{display:block;color:#c9a227;font-size:.82rem;margin-bottom:2px;}
.map-tooltip small{color:rgba(255,255,255,.6);font-weight:400;}
.map-tooltip.hidden{opacity:0;pointer-events:none;}
.worldmap-cards{display:flex;align-items:center;justify-content:center;gap:0;max-width:960px;margin:0 auto;padding:0 24px;}
.wm-card{display:flex;align-items:center;gap:16px;background:rgba(201,162,39,.06);border:1px solid rgba(201,162,39,.2);border-radius:16px;padding:20px 28px;flex:1;position:relative;transition:all .3s;backdrop-filter:blur(10px);}
.wm-card:hover{border-color:rgba(201,162,39,.5);background:rgba(201,162,39,.1);transform:translateY(-4px);box-shadow:0 16px 48px rgba(201,162,39,.12);}
.wm-connector{width:40px;height:1px;background:linear-gradient(90deg,rgba(201,162,39,.3),rgba(201,162,39,.6),rgba(201,162,39,.3));flex-shrink:0;}
.wm-flag{font-size:2rem;flex-shrink:0;}
.wm-info strong{display:block;font-size:.95rem;font-weight:800;color:#fff;margin-bottom:3px;}
.wm-info span{display:block;font-size:.8rem;color:rgba(201,162,39,.85);margin-bottom:2px;}
.wm-info small{font-size:.72rem;color:rgba(255,255,255,.4);}
.wm-pulse{width:10px;height:10px;border-radius:50%;position:absolute;top:14px;right:14px;}
.gold-pulse{background:#c9a227;box-shadow:0 0 0 0 rgba(201,162,39,.4);animation:goldPulse 2s infinite;}
@keyframes goldPulse{0%{box-shadow:0 0 0 0 rgba(201,162,39,.5);}70%{box-shadow:0 0 0 10px rgba(201,162,39,0);}100%{box-shadow:0 0 0 0 rgba(201,162,39,0);}}
@media(max-width:768px){.worldmap-cards{flex-direction:column;gap:12px;}.wm-connector{width:1px;height:24px;background:linear-gradient(180deg,rgba(201,162,39,.3),rgba(201,162,39,.6),rgba(201,162,39,.3));}.wm-card{width:100%;}}

/* == 2D MAP OVERRIDES == */
@keyframes pulseSVG {
  0% { transform: scale(0.5); opacity: 0.8; stroke-width: 2px; }
  100% { transform: scale(3); opacity: 0; stroke-width: 0.5px; }
}

