/* ================================================
   ADHIVE NETWORK — DESIGN SYSTEM v2
   Bebas Neue + DM Mono · Dark Premium · Ghana DOOH
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Syne:wght@400;700;800&family=DM+Mono:wght@300;400;500&display=swap');

:root {
  --a:#F5A623; --ao:#E8691A; --ad:#C44B1A;
  --t:#2A9BB5; --tl:#3DC0DC;
  --bg:#060608; --bg2:#0C0C10; --bg3:#121218; --bg4:#1A1A22;
  --fg:#F0EDE8; --fs:#9A9590; --fm:#4A4742;
  --grad:linear-gradient(135deg,#F5A623,#E8691A,#C44B1A);
  --border:rgba(255,255,255,0.06);
  --border-hot:rgba(245,166,35,0.25);
  --shadow-amber:0 16px 48px rgba(245,166,35,0.25);
  --font-display:'Bebas Neue',sans-serif;
  --font-ui:'Syne',sans-serif;
  --font-body:'DM Mono',monospace;
  --ease:cubic-bezier(0.16,1,0.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-body);
  background:var(--bg);color:var(--fg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* DESKTOP CURSOR */
@media (pointer:fine) {
  body { cursor:none; }
  #cursor,#cursor-ring { display:block; }
}
@media (pointer:coarse),(max-width:768px) {
  body { cursor:auto !important; }
  #cursor,#cursor-ring { display:none !important; }
  a,button { cursor:pointer !important; }
}

#cursor{
  position:fixed;width:12px;height:12px;
  background:var(--a);z-index:99999;pointer-events:none;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  transition:width .2s,height .2s,background .2s;
  transform:translate(-50%,-50%);
}
#cursor-ring{
  position:fixed;width:40px;height:40px;
  border:1px solid rgba(245,166,35,.3);border-radius:50%;
  z-index:99998;pointer-events:none;
  transform:translate(-50%,-50%);
  transition:width .3s,height .3s,border-radius .3s,border-color .3s;
}
body.cur-hover #cursor{width:20px;height:20px;background:var(--ao);}
body.cur-hover #cursor-ring{
  width:60px;height:60px;
  border-color:rgba(245,166,35,.6);
  border-radius:0;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
}

/* GRAIN */
#grain{
  position:fixed;inset:0;z-index:9999;pointer-events:none;
  opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px;
  animation:gr .4s steps(1) infinite;
}
@keyframes gr{0%{transform:translate(0,0)}25%{transform:translate(-3px,2px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,3px)}}

/* PROGRESS */
#progress{position:fixed;top:0;left:0;z-index:9999;height:2px;width:0%;background:var(--grad);transition:width .1s;}

/* CONTAINER */
.container{max-width:1320px;margin:0 auto;padding:0 5vw;}
.container-wide{max-width:1540px;margin:0 auto;padding:0 5vw;}

/* NAV */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:24px 0;
  display:flex;align-items:center;justify-content:space-between;
  padding-left:5vw;padding-right:5vw;
  transition:all .4s var(--ease);
}
.nav.solid{
  background:rgba(6,6,8,.94);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding-top:14px;padding-bottom:14px;
  box-shadow:0 8px 40px rgba(0,0,0,.5);
}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-hexes{display:flex;gap:3px;align-items:center;}
.lhd{
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  background:var(--grad);
  animation:hb 2.5s ease-in-out infinite alternate;display:block;
}
.lhd:nth-child(1){width:8px;height:8px}
.lhd:nth-child(2){width:13px;height:13px;animation-delay:.4s}
.lhd:nth-child(3){width:8px;height:8px;animation-delay:.8s}
@keyframes hb{from{opacity:.5;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.logo-type{
  font-family:var(--font-ui);font-weight:800;font-size:1.25rem;
  letter-spacing:-.02em;color:var(--fg);line-height:1;
}
.logo-type em{font-style:normal;color:var(--a);}
.logo-type sub{
  display:block;font-family:var(--font-body);font-size:.5rem;
  font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fm);margin-top:2px;
}
.nav-links{display:flex;gap:2.5rem;list-style:none;align-items:center;}
.nav-links a{
  font-family:var(--font-body);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--fs);text-decoration:none;
  transition:color .2s;position:relative;padding-bottom:4px;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;
  width:0;height:1px;background:var(--a);
  transition:width .3s var(--ease);
}
.nav-links a:hover{color:var(--fg);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--fg);}
.nav-cta{
  font-family:var(--font-body);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:#060608;background:var(--grad);
  padding:11px 24px;text-decoration:none;font-weight:500;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);
  transition:transform .2s,box-shadow .2s;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-amber);}

/* HAMBURGER */
.nav-burger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:8px;
}
.nav-burger span{width:22px;height:1.5px;background:var(--fg);display:block;transition:all .3s;}
.nav-burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* MOBILE NAV */
.nav-mobile{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;
  background:rgba(6,6,8,.97);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2rem;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:all .4s var(--ease);
}
.nav-mobile.open{opacity:1;visibility:visible;pointer-events:all;}
.nav-mobile a{
  font-family:var(--font-display);font-size:2.5rem;letter-spacing:.08em;
  color:var(--fs);text-decoration:none;transition:color .2s;
  display:block;text-align:center;
}
.nav-mobile a:hover{color:var(--a);}

/* TICKER */
.ticker{overflow:hidden;white-space:nowrap;background:var(--a);padding:11px 0;}
.ticker-inner{display:inline-flex;gap:3rem;animation:tick 30s linear infinite;}
.ticker-item{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.12em;color:#060608;}
.ticker-sep{color:rgba(6,6,8,.3);}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);font-size:.75rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  padding:13px 32px;transition:transform .2s var(--ease),box-shadow .2s;
  border:none;cursor:pointer;position:relative;overflow:hidden;
}
.btn-primary{
  background:var(--grad);color:#060608;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-amber);}
.btn-ghost{color:var(--fs);border:1px solid rgba(255,255,255,.1);}
.btn-ghost:hover{border-color:var(--a);color:var(--a);}
.btn-teal{color:var(--tl);border:1px solid rgba(42,155,181,.4);}
.btn-teal:hover{background:rgba(42,155,181,.1);}
.btn-wa{
  background:#25D366;color:#fff;
  display:inline-flex;align-items:center;gap:10px;
}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(37,211,102,.3);}

/* SECTION HELPERS */
.s-eye{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--t);margin-bottom:1rem;
}
.s-eye::before{content:'';display:block;width:22px;height:2px;background:var(--t);}
.s-title{
  font-family:var(--font-display);font-size:clamp(2.8rem,6vw,6rem);
  line-height:.92;letter-spacing:.02em;color:var(--fg);margin-bottom:1.2rem;
}
.s-title em,.s-title span.hl{
  font-style:normal;background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.s-body{font-size:.85rem;line-height:1.85;color:var(--fs);margin-bottom:2rem;}
.section{padding:8rem 0;position:relative;overflow:hidden;}
.section.alt{background:var(--bg2);}
.section.dark{background:#04040A;}

/* REVEAL */
.reveal,.reveal-l,.reveal-r,.reveal-s{
  opacity:0;transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.reveal{transform:translateY(36px);}
.reveal-l{transform:translateX(-36px);}
.reveal-r{transform:translateX(36px);}
.reveal-s{transform:scale(.96);}
.reveal.in,.reveal-l.in,.reveal-r.in,.reveal-s.in{
  opacity:1;transform:none;
}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* HEX GRID BG */
.hex-bg{
  position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='64'%3E%3Cpolygon points='28,2 52,16 52,48 28,62 4,48 4,16' fill='none' stroke='%23F5A623' stroke-width='0.4'/%3E%3C/svg%3E");
  background-size:56px 64px;
}

/* VIDEO UTILITIES */
.vid-wrap{
  position:absolute;inset:0;width:100%;height:100%;
  overflow:hidden;z-index:0;
}
.vid-wrap video{
  position:absolute;top:50%;left:50%;
  width:100%;height:100%;
  min-width:100%;min-height:100%;
  transform:translate(-50%,-50%);
  object-fit:cover;
  pointer-events:none;
}
.vid-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,
    rgba(6,6,8,.92) 0%,
    rgba(6,6,8,.65) 50%,
    rgba(6,6,8,.75) 100%
  );
}

/* ====== HERO ====== */
.page-hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;overflow:hidden;
  background:var(--bg);
}
.page-hero.short{min-height:70vh;}
.hero-inner{
  position:relative;z-index:2;
  padding:140px 5vw 100px;
  width:100%;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;
  color:var(--a);margin-bottom:2rem;
  opacity:0;animation:ru .8s .2s forwards;
}
.hero-eyebrow span{display:block;width:32px;height:1px;background:var(--a);}
.hero-h{
  font-family:var(--font-display);font-size:clamp(4rem,10vw,10rem);
  line-height:.88;letter-spacing:.02em;color:var(--fg);
  margin-bottom:2rem;max-width:900px;
}
.hero-h .hl{
  background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;display:inline;
}
.hero-h .tl{color:var(--tl);}
.hero-line{display:block;overflow:hidden;}
.hero-line span{
  display:block;
  transform:translateY(105%);
  animation:su .9s cubic-bezier(.16,1,.3,1) forwards;
}
.hero-line:nth-child(1) span{animation-delay:.35s;}
.hero-line:nth-child(2) span{animation-delay:.5s;}
.hero-line:nth-child(3) span{animation-delay:.65s;}
.hero-line:nth-child(4) span{animation-delay:.8s;}
.hero-sub{
  font-size:.9rem;line-height:1.8;color:var(--fs);max-width:500px;
  margin-bottom:2.5rem;opacity:0;animation:ru .8s .95s forwards;
}
.hero-acts{
  display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center;
  opacity:0;animation:ru .8s 1.1s forwards;
}
.hero-nodes{
  position:absolute;right:0;top:0;width:50%;height:100%;
  z-index:1;opacity:0.09;pointer-events:none;
}
@keyframes su{to{transform:translateY(0)}}
@keyframes ru{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* ====== STATS BAR ====== */
.stats-bar{background:var(--bg2);border-bottom:1px solid var(--border);}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
}
.stat-i{
  padding:3rem 2.5rem;border-right:1px solid var(--border);
  position:relative;overflow:hidden;transition:background .3s;
}
.stat-i:last-child{border-right:none;}
.stat-i::after{
  content:'';position:absolute;bottom:0;left:0;
  width:0;height:2px;background:var(--grad);
  transition:width .5s var(--ease);
}
.stat-i:hover{background:rgba(245,166,35,.02);}
.stat-i:hover::after{width:100%;}
.stat-n{
  font-family:var(--font-display);font-size:4rem;line-height:1;
  background:var(--grad);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:.4rem;letter-spacing:.02em;
}
.stat-l{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fm);}

/* ====== CLUSTER CARDS WITH VIDEO ====== */
.cluster-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:2px;background:rgba(255,255,255,.03);
}
.c-card{
  position:relative;overflow:hidden;
  background:var(--bg3);display:block;
  text-decoration:none;
  transform-style:preserve-3d;
  transition:transform .5s var(--ease);
}
.c-card:hover{z-index:2;}
.c-card-video{
  position:absolute;inset:0;width:100%;height:100%;overflow:hidden;
}
.c-card-video video{
  position:absolute;top:50%;left:50%;
  width:100%;height:100%;min-width:100%;min-height:100%;
  transform:translate(-50%,-50%);
  object-fit:cover;pointer-events:none;
  transition:transform .6s var(--ease),filter .4s;
  filter:brightness(.45) saturate(.7);
}
.c-card:hover .c-card-video video{
  transform:translate(-50%,-50%) scale(1.07);
  filter:brightness(.62) saturate(.9);
}
.c-card-img-fallback{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:brightness(.45) saturate(.7);
  transition:transform .6s var(--ease),filter .4s;
}
.c-card:hover .c-card-img-fallback{
  transform:scale(1.07);
  filter:brightness(.62) saturate(.9);
}
.c-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,6,8,.96) 0%,rgba(6,6,8,.3) 60%,transparent 100%);
  transition:background .3s;z-index:1;
}
.c-card:hover .c-overlay{
  background:linear-gradient(to top,rgba(6,6,8,.98) 0%,rgba(6,6,8,.5) 50%,rgba(245,166,35,.04) 100%);
}
.c-body{
  position:relative;z-index:2;
  padding:0 2.5rem 2.5rem;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:340px;
}
.c-num{
  font-family:var(--font-display);font-size:6rem;
  color:rgba(245,166,35,.06);position:absolute;
  top:.5rem;right:1.5rem;line-height:1;
  transition:color .3s;pointer-events:none;z-index:0;
}
.c-card:hover .c-num{color:rgba(245,166,35,.11);}
.c-tag{
  font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--t);margin-bottom:.6rem;display:block;z-index:1;
}
.c-name{
  font-family:var(--font-display);font-size:2.2rem;
  letter-spacing:.03em;color:var(--fg);
  line-height:1;margin-bottom:.5rem;z-index:1;
}
.c-desc{
  font-size:.78rem;line-height:1.7;color:var(--fs);
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .4s var(--ease),opacity .3s;z-index:1;
}
.c-card:hover .c-desc{max-height:80px;opacity:1;}
.c-arrow{
  position:absolute;top:1.5rem;right:1.5rem;z-index:2;
  width:42px;height:42px;border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;color:var(--fs);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  transition:all .3s;
}
.c-card:hover .c-arrow{background:var(--a);color:#060608;border-color:transparent;}

/* ====== CTA VIDEO SECTION ====== */
.cta-section{
  position:relative;padding:10rem 0;
  text-align:center;overflow:hidden;
  background:#04040A;
  min-height:600px;display:flex;align-items:center;
}
.cta-inner{position:relative;z-index:2;width:100%;}
.cta-pre{
  font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;
  color:rgba(245,166,35,.5);margin-bottom:1.5rem;
  display:flex;align-items:center;justify-content:center;gap:14px;
}
.cta-pre::before,.cta-pre::after{
  content:'';display:block;width:40px;height:1px;
  background:rgba(245,166,35,.3);
}
.cta-hl{
  font-family:var(--font-display);font-size:clamp(4rem,9vw,9rem);
  line-height:.9;letter-spacing:.02em;color:var(--fg);margin-bottom:1.5rem;
}
.cta-hl em{
  font-style:normal;background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.cta-sub{
  font-size:.88rem;line-height:1.8;color:var(--fs);
  max-width:440px;margin:0 auto 3.5rem;
}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.cta-glow{
  position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);
}
.cta-g1{width:700px;height:700px;background:rgba(245,166,35,.07);top:-250px;left:calc(50% - 350px);}
.cta-g2{width:350px;height:350px;background:rgba(42,155,181,.05);bottom:-100px;right:5%;}

/* ====== ADVANTAGE / WHY LIST ====== */
.why-list{display:flex;flex-direction:column;}
.why-item{
  padding:2rem 0;border-bottom:1px solid var(--border);
  display:grid;grid-template-columns:56px 1fr;gap:1.5rem;align-items:start;
  position:relative;transition:background .3s;
}
.why-item::before{
  content:'';position:absolute;left:0;top:0;width:2px;height:0;
  background:var(--grad);transition:height .4s var(--ease);
}
.why-item:hover::before{height:100%;}
.why-num{
  font-family:var(--font-display);font-size:2.5rem;line-height:1;
  color:rgba(245,166,35,.15);transition:color .3s;padding-left:.4rem;
}
.why-item:hover .why-num{color:rgba(245,166,35,.5);}
.why-h{font-family:var(--font-ui);font-weight:700;font-size:1rem;color:var(--fg);margin-bottom:.4rem;}
.why-p{font-size:.78rem;line-height:1.8;color:var(--fs);}

/* ====== PROCESS STEPS ====== */
.steps{display:flex;flex-direction:column;gap:0;}
.step{
  display:flex;gap:2rem;align-items:flex-start;
  padding:2rem 0;border-bottom:1px solid var(--border);
  position:relative;
}
.step-n{
  font-family:var(--font-display);font-size:3rem;line-height:1;
  background:var(--grad);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;
  flex-shrink:0;width:64px;
}
.step-h{font-family:var(--font-ui);font-weight:700;font-size:1rem;color:var(--fg);margin-bottom:.5rem;}
.step-p{font-size:.78rem;line-height:1.8;color:var(--fs);}

/* ====== GRID CARDS ====== */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.card{
  background:var(--bg3);border:1px solid var(--border);
  padding:2.2rem;position:relative;overflow:hidden;
  transition:background .3s,border-color .3s,transform .3s;
}
.card:hover{background:var(--bg4);border-color:var(--border-hot);}
.card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--grad);transform:scaleX(0);transform-origin:left;
  transition:transform .4s var(--ease);
}
.card:hover::before{transform:scaleX(1);}
.card-icon{font-size:1.8rem;margin-bottom:1.2rem;display:block;width:40px;height:40px;color:var(--a);}
.card-icon svg{width:100%;height:100%;fill:currentColor;}
.card-h{font-family:var(--font-ui);font-weight:700;font-size:1rem;color:var(--fg);margin-bottom:.5rem;}
.card-p{font-size:.78rem;line-height:1.8;color:var(--fs);}

/* ====== INTRO 2-COL ====== */
.intro-2{display:grid;grid-template-columns:1.1fr 1fr;gap:7rem;align-items:center;}
.intro-img{position:relative;overflow:hidden;}
.intro-img img{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  filter:brightness(.75) saturate(.9);
  transition:transform .6s var(--ease);
}
.intro-img:hover img{transform:scale(1.04);}
.intro-badge{
  position:absolute;bottom:1.5rem;left:1.5rem;
  background:rgba(6,6,8,.9);backdrop-filter:blur(12px);
  border:1px solid var(--border-hot);
  padding:.9rem 1.4rem;display:flex;align-items:center;gap:12px;
}
.ibh{
  width:36px;height:36px;background:var(--grad);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:.85rem;color:#060608;flex-shrink:0;
}
.ibt{font-size:.72rem;line-height:1.5;color:var(--fs);}
.ibt strong{font-family:var(--font-ui);font-size:.8rem;font-weight:700;color:var(--a);display:block;}

/* ====== CONTACT FORM ====== */
.contact-2{display:grid;grid-template-columns:1fr 1.5fr;gap:7rem;align-items:start;}
.contact-deets{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;}
.cd{
  display:flex;align-items:center;gap:1rem;
  padding:1rem 1.4rem;background:var(--bg3);
  border:1px solid var(--border);transition:border-color .2s;
}
.cd:hover{border-color:var(--border-hot);}
.cd-hex{
  width:36px;height:36px;background:rgba(245,166,35,.07);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;flex-shrink:0;color:var(--a);
}
.cd-hex svg{width:16px;height:16px;fill:currentColor;display:block;}
.cd dt{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fm);margin-bottom:2px;}
.cd dd{font-size:.82rem;color:var(--fs);}
.form-box{background:var(--bg2);border:1px solid var(--border);padding:3rem;}
.form-box h4{
  font-family:var(--font-body);font-size:.65rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--fm);margin-bottom:2.5rem;
  padding-bottom:1.5rem;border-bottom:1px solid var(--border);
}
.fg{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.2rem;}
.fg label{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fm);}
.fg input,.fg select,.fg textarea{
  background:var(--bg3);border:1px solid var(--border);
  color:var(--fg);padding:.85rem 1rem;
  font-family:var(--font-body);font-size:.8rem;
  outline:none;transition:border-color .2s,box-shadow .2s;
  -webkit-appearance:none;width:100%;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:var(--a);box-shadow:0 0 0 3px rgba(245,166,35,.08);
}
.fg select option{background:var(--bg3);}
.fg textarea{resize:vertical;min-height:100px;}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-submit{
  width:100%;background:var(--grad);color:#060608;
  padding:1.1rem;font-family:var(--font-body);
  font-size:.78rem;font-weight:500;letter-spacing:.15em;
  text-transform:uppercase;border:none;cursor:pointer;
  transition:transform .2s,box-shadow .2s;margin-top:.5rem;
}
.form-submit:hover{transform:translateY(-2px);box-shadow:var(--shadow-amber);}

/* ====== FOOTER ====== */
.footer{background:var(--bg2);border-top:1px solid var(--border);}
.foot-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;
  padding:5rem 0 4rem;border-bottom:1px solid var(--border);
}
.foot-brand p{font-size:.78rem;line-height:1.8;color:var(--fm);max-width:260px;margin-top:1.2rem;margin-bottom:1.8rem;}
.foot-socials{display:flex;gap:.5rem;}
.fs-s{
  width:34px;height:34px;background:var(--bg3);
  border:1px solid var(--border);display:flex;align-items:center;
  justify-content:center;font-size:.72rem;color:var(--fm);
  text-decoration:none;transition:all .2s;
}
.fs-s svg{width:15px;height:15px;fill:currentColor;display:block;}
.fs-s:hover{background:rgba(245,166,35,.1);border-color:var(--border-hot);color:var(--a);}
.foot-col h5{
  font-family:var(--font-body);font-size:.58rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--fm);margin-bottom:1.4rem;
}
.foot-col ul{list-style:none;}
.foot-col li{margin-bottom:.65rem;}
.foot-col a{font-size:.8rem;color:var(--fm);text-decoration:none;transition:color .2s;}
.foot-col a:hover{color:var(--a);}
.foot-bot{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.5rem 0;flex-wrap:wrap;gap:1rem;
}
.foot-bot p{font-size:.72rem;color:var(--fm);}
.foot-legal{display:flex;gap:1.5rem;}
.foot-legal a{font-size:.72rem;color:var(--fm);text-decoration:none;transition:color .2s;}
.foot-legal a:hover{color:var(--a);}

/* Float WA */
.float-wa{
  position:fixed;bottom:2rem;right:2rem;z-index:999;
  width:52px;height:52px;background:#25D366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  animation:fwab 3s ease-in-out infinite;
  transition:transform .2s,box-shadow .2s;
}
.float-wa svg{width:26px;height:26px;fill:#fff;display:block;}
.float-wa:hover{animation:none;transform:scale(1.12) translateY(-4px)!important;box-shadow:0 8px 32px rgba(37,211,102,.5);}
@keyframes fwab{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* ====== RESPONSIVE ====== */
@media(max-width:1100px){
  .intro-2,.contact-2{grid-template-columns:1fr;gap:4rem;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .stat-i:nth-child(2){border-right:none;}
  .stat-i:nth-child(3){border-top:1px solid var(--border);}
  .stat-i:nth-child(4){border-top:1px solid var(--border);border-right:none;}
}
@media(max-width:900px){
  .nav-links,.nav-cta{display:none;}
  .nav-burger{display:flex;}
  .cluster-grid,.grid-3,.grid-4{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .fg-row{grid-template-columns:1fr;}
  .why-list .why-item{grid-template-columns:42px 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .stats-grid{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .hero-h{font-size:clamp(3rem,13vw,5rem);}
  .cta-hl{font-size:clamp(3rem,12vw,5rem);}
  .cta-btns,.hero-acts{flex-direction:column;align-items:flex-start;}
  .cta-btns{align-items:center;}
  .section{padding:5rem 0;}
}

/* ====== VIDEO FALLBACK ====== */
.c-card-img-fallback{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:brightness(.45) saturate(.7);
  transition:transform .6s var(--ease),filter .4s;
  opacity:0;
  z-index:0;
}
.c-card-img-fallback.active{opacity:1;}

/* ====== CTA VIDEO WRAPPER ====== */
.cta-section .vid-wrap video{
  opacity:.55;
}
.cta-section .vid-overlay{
  background:linear-gradient(135deg,
    rgba(6,6,8,.95) 0%,
    rgba(6,6,8,.80) 50%,
    rgba(6,6,8,.88) 100%
  );
}
/* ensure glow orbs appear above video */
.cta-glow{
  position:absolute;border-radius:50%;
  pointer-events:none;filter:blur(80px);z-index:2;
}
.cta-g1{width:700px;height:700px;background:rgba(245,166,35,.07);top:-250px;left:calc(50% - 350px);}
.cta-g2{width:350px;height:350px;background:rgba(42,155,181,.05);bottom:-100px;right:5%;}

/* ====== RESPONSIVE VIDEO ====== */
@media(max-width:768px){
  .vid-wrap video{
    width:auto;height:100%;
    min-width:100%;min-height:100%;
  }
  .c-card .c-body{min-height:260px;}
  /* show fallback on mobile if video fails or is paused */
  .c-card-video{display:block;}
}

/* ====== GHANA MAP CANVAS ====== */
.ghana-map-wrap{
  position:relative;margin-top:4rem;
}
#mapCanvas{
  width:100%;display:block;
  max-height:420px;
}
.map-tooltip{
  position:absolute;pointer-events:none;
  background:rgba(6,6,8,.92);backdrop-filter:blur(12px);
  border:1px solid rgba(245,166,35,.3);
  padding:.7rem 1rem;opacity:0;
  transition:opacity .2s;z-index:10;
  max-width:220px;
}
.map-tooltip-name{
  font-family:'Bebas Neue',var(--font-display),sans-serif;
  font-size:1rem;letter-spacing:.06em;
  color:var(--fg);margin-bottom:.25rem;
}
.map-tooltip-desc{
  font-size:.65rem;letter-spacing:.05em;
  color:var(--fs);line-height:1.5;
}
.map-tooltip.visible{opacity:1;}

/* ====== SOL CARDS (awwwards style) ====== */
.solutions-aww{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2px;background:rgba(255,255,255,.03);
  margin-top:4rem;
}
.sol-card{
  background:var(--bg2);padding:3rem 2.5rem;
  position:relative;overflow:hidden;
  transition:background .3s;
}
.sol-card:hover{background:var(--bg3);}
.sol-card.sol-hot{
  background:#0C0806;
  outline:1px solid rgba(245,166,35,.22);
  outline-offset:-1px;
}
.sol-bg-num{
  font-family:var(--font-display),'Bebas Neue',sans-serif;
  font-size:8rem;line-height:1;
  color:rgba(245,166,35,.04);
  position:absolute;top:-1rem;right:1rem;
  pointer-events:none;transition:color .3s;
  user-select:none;
}
.sol-card:hover .sol-bg-num{color:rgba(245,166,35,.08);}
.sol-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;
  padding:4px 12px;margin-bottom:2rem;
  border:1px solid rgba(255,255,255,.1);color:var(--fs);
}
.sol-hot .sol-tag{
  background:var(--grad);color:#060608;border:none;
}
.sol-tag-star{
  width:10px;height:10px;flex-shrink:0;fill:currentColor;
}
.sol-name{
  font-family:var(--font-display),'Bebas Neue',sans-serif;
  font-size:2.2rem;letter-spacing:.02em;
  color:var(--fg);margin-bottom:1rem;line-height:1;
}
.sol-desc{
  font-size:.82rem;line-height:1.8;
  color:var(--fs);margin-bottom:2rem;
}
.sol-features{list-style:none;display:flex;flex-direction:column;gap:.65rem;}
.sol-features li{
  font-size:.78rem;color:var(--fs);
  display:flex;align-items:center;gap:10px;
}
.sol-features li::before{
  content:'';width:5px;height:5px;flex-shrink:0;
  background:var(--tl);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
}
.sol-hot .sol-features li::before{background:var(--a);}

/* ====== ACCRA NEIGHBOURHOOD CARDS ====== */
.neigh-section{padding:8rem 0;position:relative;overflow:hidden;}
.neigh-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;background:rgba(255,255,255,.03);
  margin-top:3rem;
}
.neigh-card{
  background:var(--bg2);padding:2.5rem 2rem;
  position:relative;overflow:hidden;
  transition:background .3s;border-top:2px solid transparent;
}
.neigh-card:hover{background:var(--bg3);}
.neigh-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--grad);transform:scaleX(0);transform-origin:left;
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.neigh-card:hover::before{transform:scaleX(1);}
.neigh-badge{
  font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;
  padding:3px 10px;margin-bottom:1.4rem;display:inline-block;
}
.neigh-badge.corp{border:1px solid rgba(245,166,35,.35);color:var(--a);}
.neigh-badge.retail{border:1px solid rgba(42,155,181,.35);color:var(--tl);}
.neigh-badge.res{border:1px solid rgba(155,149,144,.2);color:var(--fs);}
.neigh-badge.acad{border:1px solid rgba(42,155,181,.35);color:var(--tl);}
.neigh-badge.port{border:1px solid rgba(245,166,35,.35);color:var(--a);}
.neigh-badge.cbd{border:1px solid rgba(245,166,35,.35);color:var(--a);}
.neigh-name{
  font-family:var(--font-display),'Bebas Neue',sans-serif;
  font-size:1.5rem;letter-spacing:.04em;
  color:var(--fg);margin-bottom:.8rem;line-height:1.1;
}
.neigh-locs{
  font-size:.75rem;line-height:1.7;color:var(--fs);
  margin-bottom:1.2rem;
}
.neigh-locs strong{color:var(--fm);font-weight:400;letter-spacing:.05em;}
.neigh-desc{font-size:.72rem;color:var(--fm);line-height:1.6;}
.neigh-connector{
  position:absolute;bottom:0;right:0;
  width:60px;height:60px;opacity:.06;
}
.neigh-connector path{fill:var(--a);}

@media(max-width:900px){
  .solutions-aww{grid-template-columns:1fr;}
  .neigh-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:580px){
  .neigh-grid{grid-template-columns:1fr;}
  .sol-card{padding:2rem 1.5rem;}
}
