
/*------------------------------------------------
---------------------------------------------------
----------------------------------------------------
----------------------------------------------------
------------------------------------------------------
----------------------------------------------------
------------------------------------------------
---------------------------------------------------
----------------------------------------------------
----------------------------------------------------
------------------------------------------------------
----------------------------------------------------
------------------------------------------------
---------------------------------------------------
----------------------------------------------------
----------------------------------------------------
------------------------------------------------------
----------------------------------------------------
------------------------------------------------
---------------------------------------------------
----------------------------------------------------
----------------------------------------------------
------------------------------------------------------
----------------------------------------------------*/

/* ─── RESET & ROOT ─────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --void:    #050507;
  --void2:   #09090e;
  --void3:   #0e0e17;
  --void4:   #14141f;
  --violet:  #7c3aed;
  --violet2: #a855f7;
  --violet3: #c084fc;
  --vglow:   rgba(124,58,237,0.18);
  --vborder: rgba(124,58,237,0.25);
  --vdim:    rgba(124,58,237,0.08);
  --ice:     #e8eaf6;
  --ice2:    #9fa8c8;
  --ice3:    #4a5080;
  --silver:  rgba(232,234,246,0.07);
  --silver2: rgba(232,234,246,0.12);
  --green:   #22d3a0;
  --amber:   #f59e0b;
}

html { scroll-behavior: smooth; }

body {
  background: var(--void);
  color: var(--ice);
  font-family: 'Outfit', sans-serif;
  overflow-x: hidden;
  cursor: none;
}

/* ─── CURSOR ───────────────────────────────────────────────────── */
#cursor {
  width: 8px; height: 8px;
  background: var(--violet2);
  border-radius: 50%;
  position: fixed; top: 0; left: 0;
  pointer-events: none; z-index: 9999;
  transform: translate(-50%,-50%);
  transition: transform 0.08s ease, width 0.2s, height 0.2s, background 0.2s;
  mix-blend-mode: screen;
}
#cursor-ring {
  width: 36px; height: 36px;
  border: 1px solid rgba(168,85,247,0.5);
  border-radius: 50%;
  position: fixed; top: 0; left: 0;
  pointer-events: none; z-index: 9998;
  transform: translate(-50%,-50%);
  transition: transform 0.18s ease, width 0.25s, height 0.25s, border-color 0.2s;
}
body:has(a:hover) #cursor,
body:has(button:hover) #cursor { width:14px; height:14px; background:white; }
body:has(a:hover) #cursor-ring,
body:has(button:hover) #cursor-ring { width:50px; height:50px; border-color:var(--violet3); }

/* ─── LOGO CUBE ────────────────────────────────────────────────── */
.nav-logo-icon { 
  width:auto; 
  height:auto; 
  background:none; 
  border:none; 
  clip-path:none; 
  display:flex; 
  align-items:center; 
}

.nav-logo-icon::after { display:none; }
.nav-logo-icon .img-logo{
  object-fit: cover;
  width: 90%;
}
.logo-cube { width:46px; height:50px; display:block; flex-shrink:0; overflow:visible; }

/* violet faces — 3 tones for depth */
.fv-top   { fill:#c084fc; }
.fv-left  { fill:#7c3aed; }
.fv-right { fill:#3b0764; }

/* teal faces — ALL faces same bright teal (like original logo) */
.ft-top   { fill:#22d3a0; }
.ft-left  { fill:#22d3a0; }
.ft-right { fill:#22d3a0; }

/* edges */
.ek { stroke:rgba(192,132,252,0.22); stroke-width:0.5; fill:none; stroke-linejoin:round; }
.et { stroke:rgba(34,211,160,0.5);   stroke-width:0.5; fill:none; stroke-linejoin:round; }

/* subtle float — no spin, just gentle bob */
.cube-g {
  transform-box: fill-box;
  transform-origin: center;
  animation: cube-float 3.5s ease-in-out infinite;
}
@keyframes cube-float {
  0%,100% { transform: translateY(0px) scale(1);    }
  50%     { transform: translateY(-2px) scale(1.02); }
}

/* teal glow pulse */
.ft-top, .ft-left, .ft-right {
  animation: teal-glow 2.5s ease-in-out infinite;
}
@keyframes teal-glow {
  0%,100% { filter: drop-shadow(0 0 2px rgba(34,211,160,0.6)); opacity:1;    }
  50%     { filter: drop-shadow(0 0 7px rgba(34,211,160,1));   opacity:0.92; }
}

/* logo text */
.nav-logo-text { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.14em; line-height:1.1; }
.nav-logo-sub  { font-size:8px; letter-spacing:.16em; }

/* ─── CANVAS BG ────────────────────────────────────────────────── */
#bg-canvas {
  position: fixed; inset:0; z-index:0; pointer-events:none;
}

/* ─── SCAN LINE ────────────────────────────────────────────────── */
.scanline {
  position: fixed; inset:0; z-index:1; pointer-events:none;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,0.03) 2px,
    rgba(0,0,0,0.03) 4px
  );
}

/* ─── NAV ──────────────────────────────────────────────────────── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:100;
  padding: 0 4rem;
  height: 72px;
  display: flex; align-items:center; justify-content:space-between;
  background: linear-gradient(180deg, rgba(5,5,7,0.95) 0%, transparent 100%);
  backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--silver);
}

.nav-logo {
  display: flex; align-items:center; gap:14px;
  text-decoration: none;
}
.nav-logo-icon {
  width:38px; height:38px;
  border: 1px solid var(--vborder);
  display:flex; align-items:center; justify-content:center;
  position:relative;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background: var(--vdim);
}
.nav-logo-icon::after {
  content:'';
  width:14px; height:14px;
  background: var(--violet2);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: hex-pulse 3s ease-in-out infinite;
}
@keyframes hex-pulse {
  0%,100% { opacity:0.7; transform:scale(0.9); }
  50% { opacity:1; transform:scale(1.1); }
}
.nav-logo-text { font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:.12em; color:var(--ice); }
.nav-logo-sub { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--violet3); letter-spacing:.2em; display:block; margin-top:-2px; }

.nav-links { display:flex; align-items:center; gap:2.5rem; }
.nav-links a { font-size:12px; color:var(--ice2); text-decoration:none; letter-spacing:.08em; font-weight:400; transition:color .2s; }
.nav-links a:hover { color:var(--ice); }

.nav-status {
  display:flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--green);
}
.status-dot {
  width:6px; height:6px; border-radius:50%; background:var(--green);
  box-shadow: 0 0 8px var(--green);
  animation: blink 2s ease-in-out infinite;
}
@keyframes blink { 0%,100%{opacity:1;} 50%{opacity:.3;} }

/* ─── SECTIONS ─────────────────────────────────────────────────── */
section { position:relative; z-index:2; }

/* ─── HERO ─────────────────────────────────────────────────────── */
.hero {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 0 4rem;
  gap: 4rem;
  position: relative; overflow:hidden;
}

.hero-left { padding-top:80px; }

.hero-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; color: var(--violet3);
  letter-spacing: .25em; text-transform: uppercase;
  margin-bottom: 2rem;
  display:flex; align-items:center; gap:12px;
  opacity:0; animation: fadein .8s .3s ease forwards;
}
.hero-eyebrow::before {
  content:'';display:block;
  width:32px; height:1px; background:var(--violet2);
}

.hero-h1 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(4rem, 8vw, 8rem);
  line-height: .95;
  letter-spacing: .04em;
  margin-bottom: 1.5rem;
  opacity:0; animation: slidein .9s .5s ease forwards;
}
.hero-h1 .line-accent { color: var(--violet2); display:block; }
.hero-h1 .line-outline {
  display:block;
  -webkit-text-stroke: 1px rgba(232,234,246,0.4);
  color: transparent;
}

.hero-desc {
  font-size: 1rem; color: var(--ice2); line-height:1.75;
  max-width: 440px; font-weight:300;
  margin-bottom:3rem;
  opacity:0; animation: fadein .8s .8s ease forwards;
}

.hero-actions { display:flex; gap:1rem; flex-wrap:wrap;
  opacity:0; animation: fadein .8s 1s ease forwards; }

.btn-vio {
  background: var(--violet);
  color: white;
  padding: 14px 36px;
  font-family: 'JetBrains Mono',monospace;
  font-size: 11px; letter-spacing:.12em; text-transform:uppercase;
  border: none; cursor:none;
  position:relative; overflow:hidden;
  transition: background .3s, transform .2s;
}
.btn-vio::before {
  content:''; position:absolute;
  top:0; left:-100%; width:100%; height:100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
  transition: left .4s;
}
.btn-vio:hover { background: var(--violet2); transform:translateY(-2px); }
.btn-vio:hover::before { left:100%; }

.btn-ghost {
  background: transparent;
  color: var(--ice2);
  padding: 13px 35px;
  font-family: 'JetBrains Mono',monospace;
  font-size: 11px; letter-spacing:.12em; text-transform:uppercase;
  border: 1px solid var(--silver2); cursor:none;
  transition: color .3s, border-color .3s, transform .2s;
}
.btn-ghost:hover { color:var(--ice); border-color:var(--violet3); transform:translateY(-2px); }

/* Hero right — animated node graph */
.hero-right {
  display:flex; align-items:center; justify-content:center;
  padding-top:80px;
  opacity:0; animation: fadein 1.2s 1.2s ease forwards;
}

/* ─── TICKER ───────────────────────────────────────────────────── */
.ticker-wrap {
  border-top: 1px solid var(--silver);
  border-bottom: 1px solid var(--silver);
  background: var(--void2);
  overflow: hidden; white-space:nowrap;
  padding: 14px 0;
}
.ticker-track {
  display:inline-block;
  animation: ticker 30s linear infinite;
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--ice3); letter-spacing:.1em;
}
.ticker-track span { margin: 0 3rem; }
.ticker-track .hi { color:var(--violet3); }
@keyframes ticker { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }

/* ─── ABOUT ────────────────────────────────────────────────────── */
.about {
  padding: 140px 4rem;
  display:grid; grid-template-columns: 1fr 1fr; gap:8rem; align-items:center;
}
.about-number {
  font-family:'Bebas Neue',sans-serif; font-size:12rem;
  line-height:1; color:var(--void4);
  position:absolute; top:-2rem; left:-2rem; z-index:0;
  user-select:none; pointer-events:none;
  -webkit-text-stroke: 1px var(--silver);
}
.about-text-wrap { position:relative; z-index:1; }
.label {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--violet3); letter-spacing:.25em; text-transform:uppercase;
  margin-bottom:1.5rem; display:flex; align-items:center; gap:10px;
}
.label::before {
  content:''; display:block; width:20px; height:1px; background:var(--violet2);
}
.h2-big {
  font-family:'Bebas Neue',sans-serif;
  font-size: clamp(2.5rem,4vw,4rem);
  line-height:1; letter-spacing:.04em; margin-bottom:1.5rem;
}
.body-text { font-size:.95rem; color:var(--ice2); line-height:1.8; font-weight:300; }

.stat-row {
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-top:3rem;
}
.stat-box {
  border: 1px solid var(--silver);
  padding:1.5rem;
  position:relative; overflow:hidden;
  transition: border-color .3s, background .3s;
}
.stat-box:hover { border-color:var(--vborder); background:var(--vdim); }
.stat-box::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:2px; background:var(--violet2);
  transition: width .4s;
}
.stat-box:hover::after { width:100%; }
.stat-val {
  font-family:'Bebas Neue',sans-serif; font-size:2.8rem; color:white; line-height:1;
}
.stat-unit { font-size:1.2rem; color:var(--violet3); }
.stat-key {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--ice3); letter-spacing:.12em; text-transform:uppercase; margin-top:.5rem;
}

/* ─── INFRA ────────────────────────────────────────────────────── */
.infra {
  padding: 100px 4rem;
  background: var(--void2);
  border-top: 1px solid var(--silver);
  border-bottom: 1px solid var(--silver);
}
.section-header {
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom: 4rem;
}
.infra-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--silver);
}
.infra-cell {
  background: var(--void2);
  padding:2.5rem 2rem;
  transition: background .3s;
  position:relative; overflow:hidden;
}
.infra-cell:hover { background:var(--void3); }
.infra-cell::before {
  content:''; position:absolute;
  top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, var(--violet2), transparent);
  opacity:0; transition: opacity .4s;
}
.infra-cell:hover::before { opacity:1; }
.infra-id {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--ice3); letter-spacing:.18em; margin-bottom:1.5rem;
}
.infra-icon-wrap {
  width:48px; height:48px; margin-bottom:1.5rem;
  border:1px solid var(--vborder); display:flex;
  align-items:center; justify-content:center;
  background:var(--vdim);
}
.infra-cell h3 {
  font-family:'Outfit',sans-serif; font-size:1rem; font-weight:600; margin-bottom:.75rem;
}
.infra-cell p { font-size:.85rem; color:var(--ice2); line-height:1.7; font-weight:300; }
.infra-spec {
  margin-top:1.25rem;
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--violet3); letter-spacing:.08em;
  padding-top:1rem; border-top:1px solid var(--silver);
}

/* ─── SERVICES ─────────────────────────────────────────────────── */
.services { padding:140px 4rem; }
.services-intro { max-width:560px; margin-bottom:5rem; }
.service-list { display:flex; flex-direction:column; }
.service-row {
  display:grid; grid-template-columns:80px 1fr 1fr auto;
  align-items:center; gap:3rem;
  padding:2rem 0;
  border-bottom:1px solid var(--silver);
  transition:background .2s; cursor:none;
}
.service-row:first-child { border-top:1px solid var(--silver); }
.service-row:hover { padding-left:1.5rem; }
.service-row:hover .service-num { color:var(--violet3); }
.service-num {
  font-family:'Bebas Neue',sans-serif; font-size:2.5rem;
  color:var(--ice3); line-height:1; transition:color .3s;
}
.service-name { font-family:'Outfit',sans-serif; font-size:1.1rem; font-weight:600; }
.service-desc { font-size:.875rem; color:var(--ice2); line-height:1.65; font-weight:300; }
.service-pill {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  padding:6px 14px; border:1px solid var(--vborder); color:var(--violet3);
  letter-spacing:.1em; text-transform:uppercase; white-space:nowrap;
}

/* ─── TEAM ─────────────────────────────────────────────────────── */
.team {
  padding:100px 4rem;
  background:var(--void2);
  border-top:1px solid var(--silver);
  border-bottom:1px solid var(--silver);
}
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--silver); margin-top:4rem; }
.team-card {
  background:var(--void2); overflow:hidden;
  transition:background .3s;
}
.team-card:hover { background:var(--void3); }
.team-avatar {
  height:200px; position:relative; overflow:hidden;
  background:var(--void3);
  display:flex; align-items:center; justify-content:center;
}
.avatar-shape {
  width:90px; height:90px; position:relative;
}
.team-body { padding:1.5rem; }
.team-name { font-family:'Outfit',sans-serif; font-size:1rem; font-weight:600; margin-bottom:.2rem; }
.team-role {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--violet3); letter-spacing:.1em; text-transform:uppercase; margin-bottom:.75rem;
}
.team-bio { font-size:.8rem; color:var(--ice2); line-height:1.6; font-weight:300; }


/* ─── GALLERY ──────────────────────────────────────────────────── */
.gallery {
  padding: 120px 4rem;
  background: var(--void2);
  border-top: 1px solid var(--silver);
  border-bottom: 1px solid var(--silver);
}
.gallery-intro { max-width: 600px; margin-bottom: 4rem; }
.gallery-intro .body-text { margin-top: .75rem; }

/* Masonry-style grid */
.gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 280px 280px;
  gap: 6px;
}
/* Layout:
   [img1 tall left] [img2 top-mid] [img3 top-right]
   [img1 continues] [img4 wide bottom-mid+right]
*/
.g-item { position: relative; overflow: hidden; cursor: none; }
.g-item:nth-child(1) { grid-row: 1 / 3; }                  /* tall left */
.g-item:nth-child(2) { grid-column: 2; grid-row: 1; }       /* top mid */
.g-item:nth-child(3) { grid-column: 3; grid-row: 1; }       /* top right */
.g-item:nth-child(4) { grid-column: 2 / 4; grid-row: 2; }  /* wide bottom */

.g-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(20%) brightness(0.88);
  transition: filter .5s ease, transform .6s ease;
}
.g-item:hover img {
  filter: grayscale(0%) brightness(1);
  transform: scale(1.05);
}

/* Overlay */
.g-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(5,5,7,0.82) 100%);
  opacity: 0; transition: opacity .4s;
  display: flex; align-items: flex-end; padding: 1.5rem;
}
.g-item:hover .g-overlay { opacity: 1; }
.g-caption {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; color: var(--ice2);
  letter-spacing: .1em; text-transform: uppercase;
  transform: translateY(8px); transition: transform .4s;
}
.g-item:hover .g-caption { transform: translateY(0); }

/* Corner accent top-left */
.g-item::before {
  content: '';
  position: absolute; top: 0; left: 0;
  width: 28px; height: 28px;
  border-top: 1px solid var(--violet3);
  border-left: 1px solid var(--violet3);
  z-index: 2; opacity: 0; transition: opacity .3s;
}
.g-item:hover::before { opacity: 1; }

/* index badge */
.g-index {
  position: absolute; top: 1rem; right: 1rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; color: var(--violet3);
  background: rgba(5,5,7,0.7);
  padding: 3px 8px; letter-spacing: .12em;
  z-index: 2;
  border: 1px solid var(--vborder);
}

@media(max-width:900px){
  .gallery { padding: 80px 1.5rem; }
  .gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 200px 200px 200px;
  }
  .g-item:nth-child(1) { grid-row:1; grid-column:1/3; }
  .g-item:nth-child(4) { grid-column:1/3; }
}

/* ─── LEADERS ──────────────────────────────────────────────────── */
.leaders {
  padding: 120px 4rem;
  background: var(--void);
  border-top: 1px solid var(--silver);
  border-bottom: 1px solid var(--silver);
  position: relative; overflow:hidden;
}
.leaders-sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px; color: var(--violet3);
  letter-spacing: .18em; text-transform: uppercase;
  margin-top: .6rem; margin-bottom: 0;
}
.leaders-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 3rem; margin-top: 5rem;
  max-width: 860px;
}
.leader-card {
  display: flex; flex-direction: column;
  border: 1px solid var(--silver);
  overflow: hidden;
  transition: border-color .4s;
  position: relative;
}
.leader-card:hover { border-color: var(--vborder); }
.leader-card:hover .leader-scan { animation-play-state: running; opacity: 1; }

/* Photo wrapper */
.leader-img-wrap {
  position: relative;
  height: 340px; overflow: hidden;
  background: var(--void3);
}
.leader-img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  display: block;
  filter: grayscale(30%) contrast(1.05);
  transition: filter .5s, transform .5s;
}
.leader-card:hover .leader-img {
  filter: grayscale(0%) contrast(1.08);
  transform: scale(1.03);
}

/* Dark violet gradient overlay */
.leader-img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    180deg,
    transparent 40%,
    rgba(5,5,7,0.55) 70%,
    rgba(5,5,7,0.9) 100%
  );
  pointer-events: none;
}

/* Scan line animation */
.leader-scan {
  position: absolute; top: -4px; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--violet2), transparent);
  opacity: 0;
  animation: scan-down 3s linear infinite paused;
  transition: opacity .3s;
}
@keyframes scan-down {
  0%   { top: -4px;   opacity: 0; }
  5%   {               opacity: .8; }
  95%  {               opacity: .8; }
  100% { top: 340px;  opacity: 0; }
}

/* Corner accent */
.leader-img-wrap::before {
  content: '';
  position: absolute; top: 0; right: 0;
  width: 40px; height: 40px;
  border-top: 1px solid var(--violet3);
  border-right: 1px solid var(--violet3);
  opacity: .5; z-index: 2;
  transition: opacity .3s;
}
.leader-card:hover .leader-img-wrap::before { opacity: 1; }

.leader-img-wrap::after {
  content: '';
  position: absolute; bottom: 0; left: 0;
  width: 40px; height: 40px;
  border-bottom: 1px solid var(--violet3);
  border-left: 1px solid var(--violet3);
  opacity: .5; z-index: 2;
  transition: opacity .3s;
}
.leader-card:hover .leader-img-wrap::after { opacity: 1; }

/* Info block */
.leader-body {
  padding: 1.5rem 1.75rem 1.75rem;
  background: var(--void2);
  border-top: 1px solid var(--silver);
  transition: background .3s;
}
.leader-card:hover .leader-body { background: var(--void3); }

.leader-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; color: var(--violet3);
  letter-spacing: .18em; text-transform: uppercase;
  margin-bottom: .6rem;
}
.leader-name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.5rem; letter-spacing: .05em;
  color: var(--ice); line-height: 1.1;
  margin-bottom: .4rem;
}
.leader-role {
  font-family: 'Outfit', sans-serif;
  font-size: .8rem; color: var(--ice2);
  font-weight: 300; line-height: 1.5;
}

/* ─── EVENTS ───────────────────────────────────────────────────── */
.events { padding:140px 4rem; }
.events-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:4rem; }
.event-card {
  border:1px solid var(--silver);
  padding:2.5rem;
  display:grid; grid-template-columns:72px 1fr; gap:2rem;
  transition:border-color .3s, background .3s;
  cursor:none;
}
.event-card:hover { border-color:var(--vborder); background:var(--vdim); }
.event-date-block { text-align:center; }
.event-day {
  font-family:'Bebas Neue',sans-serif; font-size:3rem; color:var(--violet2); line-height:1;
}
.event-mon {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--ice3); letter-spacing:.1em; text-transform:uppercase;
}
.event-title { font-family:'Outfit',sans-serif; font-size:1rem; font-weight:600; margin-bottom:.5rem; }
.event-info { font-size:.85rem; color:var(--ice2); line-height:1.65; font-weight:300; }
.event-meta { display:flex; gap:.75rem; align-items:center; margin-top:1rem; }
.epill {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  padding:4px 10px; letter-spacing:.08em; text-transform:uppercase;
}
.epill-live { border:1px solid rgba(34,211,160,.3); color:var(--green); }
.epill-open { border:1px solid var(--vborder); color:var(--violet3); }
.epill-soon { border:1px solid rgba(245,158,11,.3); color:var(--amber); }

/* ─── SUCCESS ──────────────────────────────────────────────────── */
.success {
  padding:100px 4rem;
  background:var(--void2);
  border-top:1px solid var(--silver);
  border-bottom:1px solid var(--silver);
}
.success-scroll {
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-top:4rem;
}
.success-card {
  border:1px solid var(--silver); padding:2.5rem;
  position:relative; overflow:hidden;
  transition:border-color .3s;
}
.success-card:hover { border-color:var(--vborder); }
.success-card::before {
  content:attr(data-num);
  font-family:'Bebas Neue',sans-serif; font-size:8rem;
  position:absolute; bottom:-1rem; right:1rem;
  color:var(--silver); pointer-events:none; line-height:1;
  transition: color .3s;
}
.success-card:hover::before { color:var(--vdim); }
.success-field {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--violet3); letter-spacing:.18em; text-transform:uppercase; margin-bottom:1.25rem;
}
.success-title { font-family:'Outfit',sans-serif; font-size:1.1rem; font-weight:600; margin-bottom:.75rem; }
.success-body { font-size:.875rem; color:var(--ice2); line-height:1.7; font-weight:300; }
.success-metrics { display:flex; gap:2.5rem; margin-top:2rem; }
.s-metric {}
.s-val {
  font-family:'Bebas Neue',sans-serif; font-size:2.2rem; color:var(--violet3); line-height:1;
}
.s-key {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--ice3); letter-spacing:.1em; text-transform:uppercase; margin-top:.2rem;
}

/* ─── CTA ──────────────────────────────────────────────────────── */
.cta-section {
  padding:180px 4rem;
  text-align:center;
  position:relative; overflow:hidden;
}
.cta-bg-text {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(6rem,18vw,18rem);
  color:transparent; -webkit-text-stroke:1px var(--silver);
  position:absolute; bottom:4rem; left:50%; transform:translateX(-50%);
  white-space:nowrap; pointer-events:none; user-select:none;
  opacity:.4;
}
.cta-section .label { justify-content:center; }
.cta-section .h2-big { font-size:clamp(3rem,6vw,6rem); max-width:700px; margin:0 auto 2rem; }
.cta-section .body-text { max-width:480px; margin:0 auto 3rem; }
.cta-row { display:flex; gap:1rem; justify-content:center; }

/* ─── FOOTER ───────────────────────────────────────────────────── */
footer {
  border-top:1px solid var(--silver);
  background:var(--void2);
  padding:4rem;
}
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; margin-bottom:3rem; }
.footer-brand-name { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:.1em; }
.footer-brand-sub { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--violet3); letter-spacing:.2em; }
.footer-desc { font-size:.85rem; color:var(--ice3); line-height:1.7; margin-top:1rem; }
.footer-col h4 {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--violet3); letter-spacing:.2em; text-transform:uppercase; margin-bottom:1.5rem;
}
.footer-col a {
  display:block; font-size:.85rem; color:var(--ice3); text-decoration:none;
  margin-bottom:.6rem; transition:color .2s;
}
.footer-col a:hover { color:var(--ice); }
.footer-bottom {
  padding-top:2rem; border-top:1px solid var(--silver);
  display:flex; justify-content:space-between; align-items:center;
}
.footer-copy { font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--ice3); }
.footer-sys { font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--ice3); }
.footer-sys span { color:var(--green); }

/* ─── ANIMATIONS ───────────────────────────────────────────────── */
@keyframes fadein { from{opacity:0;} to{opacity:1;} }
@keyframes slidein { from{opacity:0;transform:translateY(30px);} to{opacity:1;transform:translateY(0);} }

.reveal {
  opacity:0; transform:translateY(28px);
  transition: opacity .8s ease, transform .8s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }

@media(max-width:900px){
  .hero { grid-template-columns:1fr; padding:120px 1.5rem 4rem; }
  .hero-right { display:none; }
  .about { grid-template-columns:1fr; padding:80px 1.5rem; gap:3rem; }
  .infra-grid { grid-template-columns:1fr; }
  .services { padding:80px 1.5rem; }
  .service-row { grid-template-columns:50px 1fr; gap:1.5rem; }
  .service-desc,.service-pill { display:none; }
  .team { padding:80px 1.5rem; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .events { padding:80px 1.5rem; }
  .events-grid,.success-scroll { grid-template-columns:1fr; }
  .success { padding:80px 1.5rem; }
  .cta-section { padding:100px 1.5rem; }
  footer { padding:3rem 1.5rem; }
  .footer-top { grid-template-columns:1fr; gap:2rem; }
  nav { padding:0 1.5rem; }
  .nav-links { display:none; }
}