/* =========================================================
   neXgleX — rebuilt shared stylesheet
   Supports: nav, background graphics, cards, flip tiles,
   buttons, forms, footers, reveal animations and mobile menu.
   ========================================================= */
:root{
  --nav-h:76px;
  --max:1180px;
  --bg:#050a15;
  --panel:#0d1628;
  --panel-2:#101d34;
  --white:#f6fbff;
  --silver:#b8cfe8;
  --muted:rgba(184,207,232,.72);
  --accent:#5bb8f5;
  --accent-2:#2a6fc1;
  --line:rgba(91,184,245,.22);
  --shadow:0 24px 70px rgba(0,0,0,.42);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  min-height:100vh;
  font-family:'Nunito Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  background:
    radial-gradient(circle at 15% 10%,rgba(42,111,193,.28),transparent 34rem),
    radial-gradient(circle at 85% 0%,rgba(91,184,245,.16),transparent 30rem),
    linear-gradient(180deg,#061021 0%,#050a15 58%,#030711 100%);
  color:var(--white);
  line-height:1.65;
  overflow-x:hidden;
}
body::before{
  content:'';position:fixed;inset:0;z-index:-5;pointer-events:none;
  background:radial-gradient(circle at 50% -20%,rgba(91,184,245,.09),transparent 45%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 25%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.accent,.x{color:var(--accent)}
.lead{color:var(--silver);font-size:clamp(16px,1.5vw,20px);margin-top:18px;max-width:680px}
.section{position:relative;z-index:5}

/* Ambient background graphics */
#canvas{position:fixed;inset:0;z-index:-4;width:100vw;height:100vh;pointer-events:none;opacity:.55}
.bg-grid{position:fixed;inset:0;z-index:-3;pointer-events:none;background-image:linear-gradient(rgba(91,184,245,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(91,184,245,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,black 0,transparent 78%)}
.bg-glow{position:fixed;inset:auto -18vw -22vw auto;z-index:-2;width:55vw;height:55vw;border-radius:999px;background:radial-gradient(circle,rgba(91,184,245,.18),transparent 62%);filter:blur(18px);pointer-events:none}
.bg-scanline{position:fixed;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(255,255,255,.025) 0 1px,transparent 1px 5px);opacity:.18;mix-blend-mode:screen}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform-origin:left;transform:scaleX(calc(var(--progress,0%) / 100))}
.scroll-logo{position:fixed;right:18px;top:22vh;width:46px;height:46px;z-index:15;opacity:.7;pointer-events:none;filter:drop-shadow(0 0 18px rgba(91,184,245,.55))}
.scroll-trail{position:fixed;right:40px;top:10vh;height:80vh;width:1px;z-index:14;background:linear-gradient(180deg,transparent,rgba(91,184,245,.36),transparent);opacity:.45;pointer-events:none}

/* Navigation */
.nav{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:0 clamp(18px,4vw,46px);
  background:rgba(5,10,21,.72);
  border-bottom:1px solid rgba(91,184,245,.16);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.nav-brand{display:flex;align-items:center;gap:12px;font-family:'Rajdhani',sans-serif;font-size:24px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.nav-brand img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(91,184,245,.55))}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.nav-links a{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(184,207,232,.78);transition:color .2s,text-shadow .2s}
.nav-links a:hover,.nav-links a[data-active="true"]{color:var(--white);text-shadow:0 0 14px rgba(91,184,245,.55)}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:rgba(13,22,40,.55);color:var(--white);align-items:center;justify-content:center;cursor:pointer}
.nav-toggle svg{width:24px;height:24px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 22px;border-radius:999px;font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;cursor:pointer}
.btn svg{width:17px;height:17px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#041022;box-shadow:0 14px 34px rgba(42,111,193,.35)}
.btn-primary:hover{box-shadow:0 18px 44px rgba(91,184,245,.42)}
.btn-ghost{background:rgba(13,22,40,.4);border-color:rgba(91,184,245,.28);color:var(--silver)}
.btn-ghost:hover{border-color:var(--accent);color:var(--white);background:rgba(91,184,245,.08)}

/* Shared cards and flip tiles */
.card,.pillar,.service-card,.sector-card,.info-panel,.form-panel,.case,.highlight{
  position:relative;
}
.card,.pillar{
  border:1px solid rgba(91,184,245,.2);
  background:linear-gradient(160deg,rgba(42,111,193,.08),rgba(13,22,40,.54));
  border-radius:14px;padding:28px;box-shadow:var(--shadow);overflow:hidden;
}
.card::before,.pillar::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(91,184,245,.17),transparent 35%);opacity:0;transition:opacity .25s;pointer-events:none}.card:hover::before,.pillar:hover::before{opacity:1}
.flip-tile{perspective:1200px;cursor:pointer;min-height:190px}.flip-inner{position:relative;width:100%;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.flip-tile:hover .flip-inner,.flip-tile:focus .flip-inner,.flip-tile:focus-within .flip-inner{transform:rotateY(180deg)}
.flip-front,.flip-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit}.flip-front{position:relative}.flip-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;padding:28px;background:linear-gradient(160deg,rgba(13,22,40,.96),rgba(42,111,193,.34));border:1px solid rgba(91,184,245,.26)}
.fb-label{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.fb-title{font-family:'Rajdhani',sans-serif;font-size:24px;font-weight:700;margin-bottom:8px}.fb-hint{margin-top:16px;color:rgba(184,207,232,.55);font-size:12px;letter-spacing:.16em;text-transform:uppercase}

/* Reveals */
.fade-in,.rise-in,.reveal{opacity:0;transform:translateY(22px);animation:riseIn .75s ease forwards}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.18s}.delay-3{animation-delay:.28s}.delay-4{animation-delay:.38s}.delay-5{animation-delay:.48s}.delay-6{animation-delay:.58s}.reveal{animation:none}.reveal.in{animation:riseIn .75s ease forwards}@keyframes riseIn{to{opacity:1;transform:translateY(0)}}

/* Footers */
.site-footer{position:relative;z-index:5;max-width:var(--max);margin:0 auto;padding:38px 32px 46px;border-top:1px solid rgba(91,184,245,.16);display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;color:rgba(184,207,232,.68);font-size:14px}.social-icons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.social-icon{width:38px;height:38px;border:1px solid rgba(91,184,245,.24);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--silver);background:rgba(13,22,40,.45);transition:.2s}.social-icon svg{width:17px;height:17px}.social-icon:hover{border-color:var(--accent);color:var(--white);transform:translateY(-2px);box-shadow:0 0 20px rgba(91,184,245,.18)}.foot-links{display:flex;gap:16px;font-family:'Rajdhani',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:12px}.foot-links a:hover{color:var(--accent)}

/* Forms */
input,select,textarea{width:100%;padding:13px 16px;background:rgba(8,15,28,.62);border:1px solid rgba(91,184,245,.25);border-radius:8px;color:var(--white);outline:none;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:rgba(184,207,232,.42)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(91,184,245,.12)}label{cursor:pointer}.form-panel,.info-panel{box-shadow:var(--shadow)}

/* Page specific helpers used by uploaded HTML */
.kicker,.kicker-hand{font-family:'Cinzel',serif;letter-spacing:.38em;text-transform:uppercase;color:var(--accent)}
.underline{background:linear-gradient(90deg,var(--accent),transparent)}
.pillars .head,.sectors-head{color:var(--silver)}
.case .logo-mark{object-fit:contain}.chip{cursor:default}.soc:hover,.chip.is-active{box-shadow:0 0 22px rgba(91,184,245,.12)}
.policy-page{min-height:calc(100vh - var(--nav-h))}.policy-page a{color:var(--accent)}

/* Mobile */
@media (max-width:900px){
  :root{--nav-h:68px}.nav{padding:0 18px}.nav-toggle{display:flex}.nav-links{position:absolute;top:calc(var(--nav-h) - 1px);left:14px;right:14px;display:grid;gap:0;padding:14px;background:rgba(5,10,21,.96);border:1px solid rgba(91,184,245,.2);border-radius:0 0 16px 16px;box-shadow:var(--shadow);transform-origin:top;transform:scaleY(0);opacity:0;pointer-events:none;transition:.22s}.nav.is-open .nav-links{transform:scaleY(1);opacity:1;pointer-events:auto}.nav-links a{display:block;padding:13px 10px}.site-footer{justify-content:center;text-align:center}.scroll-logo,.scroll-trail{display:none}
}
@media (max-width:560px){.btn{width:100%;padding-inline:16px}.nav-brand span{font-size:20px}.nav-brand img{width:34px;height:34px}.card,.pillar{padding:22px}.flip-tile{min-height:210px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.flip-tile:hover .flip-inner,.flip-tile:focus .flip-inner{transform:none!important}}

/* Academy page + navigation addition */
.nav-links{gap:20px}
.academy-hero{max-width:var(--max);margin:0 auto;padding:130px 32px 50px;position:relative;z-index:10;text-align:left}
.academy-hero .about-visual{width:150px;margin-bottom:24px}
.academy-hero h1{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:clamp(44px,7vw,88px);line-height:1.02;letter-spacing:-.01em;max-width:850px}
.academy-grid{max-width:var(--max);margin:0 auto;padding:20px 32px 80px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;position:relative;z-index:10}
.academy-box{display:flex;flex-direction:column;min-height:420px;padding:36px 34px 32px;text-decoration:none;color:inherit;border-radius:16px;background:linear-gradient(160deg,rgba(42,111,193,.10),rgba(13,22,40,.62) 76%);border:1px solid rgba(91,184,245,.24);transition:transform .25s,border-color .25s,box-shadow .25s,background .25s;overflow:hidden;position:relative}
.academy-box:hover{transform:translateY(-6px);border-color:rgba(91,184,245,.62);box-shadow:0 22px 54px rgba(0,0,0,.42);background:linear-gradient(160deg,rgba(42,111,193,.18),rgba(13,22,40,.72) 76%)}
.academy-number{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;letter-spacing:.32em;color:var(--accent);margin-bottom:20px}
.academy-box h2{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:clamp(28px,3.2vw,38px);line-height:1.05;margin-bottom:16px;color:var(--white)}
.academy-box p{color:var(--silver);font-size:15px;line-height:1.7;margin-bottom:18px}
.academy-box ul{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid rgba(91,184,245,.16)}
.academy-box li{position:relative;color:rgba(184,207,232,.84);font-size:14px;line-height:1.65;padding:7px 0 7px 24px}
.academy-box li::before{content:'◆';position:absolute;left:0;top:9px;color:var(--accent);font-size:10px}
.academy-cta{margin-top:auto;padding-top:24px;font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.academy-strip{max-width:var(--max);margin:0 auto 90px;padding:48px 36px;text-align:center;border:1px solid rgba(91,184,245,.22);border-radius:16px;background:rgba(13,22,40,.55);position:relative;z-index:10}
.academy-strip h2{font-family:'Rajdhani',sans-serif;font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1.1;margin-bottom:12px}
.academy-strip p{max-width:680px;margin:0 auto 28px;color:var(--silver)}
@media(max-width:980px){.nav-links{gap:14px}.nav-links a{font-size:12px;letter-spacing:.14em}.academy-grid{grid-template-columns:1fr}.academy-box{min-height:auto}}
@media(max-width:760px){.academy-hero{padding:110px 22px 40px}.academy-grid{padding:10px 22px 60px}.academy-strip{margin:0 18px 70px;padding:38px 24px}}
@media(max-width:480px){.academy-hero{padding:90px 18px 34px}.academy-hero .about-visual{width:120px}.academy-grid{padding:8px 16px 50px;gap:16px}.academy-box{padding:28px 24px}.academy-strip{margin:0 12px 54px}.academy-strip .btn{width:100%}}
