
:root {
  --bg: #070b12;
  --surface: #0b1120;
  --card: #101a2c;
  --card2: #16273f;
  --border: rgba(148,163,184,0.12);
  --border2: rgba(148,163,184,0.22);
  --cyan: #22d3ee;
  --green: #34d399;
  --orange: #eda85f;
  --purple: #a78bfa;
  --red: #f2626e;
  --gold: #f2c675;
  --text: #e7ecf3;
  --dim: #99a8c0;
  --dim2: #4c5a72;
  --gcyan: 0 0 28px rgba(34,211,238,0.22);
  --ggreen: 0 0 28px rgba(52,211,153,0.2);
  --gpurple: 0 0 28px rgba(167,139,250,0.22);
  --gred: 0 0 28px rgba(242,98,110,0.2);
  --ggold: 0 0 28px rgba(242,198,117,0.26);
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 26px;
  --r-full: 999px;
  --shadow-card: 0 4px 24px rgba(0,0,0,.28);
  --shadow-hover: 0 20px 48px rgba(0,0,0,.4);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;}

/* ═══ ACCESSIBILITY, MOTION & TEXTURE ═══ */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
[tabindex]:focus-visible,.editable:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;box-shadow:0 0 0 4px rgba(34,211,238,.18);border-radius:3px;}
:focus:not(:focus-visible){outline:none;}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
  .grid-bg,.orb,#hero-canvas,.hero-scanline,.cursor-glow{display:none !important;}
}
html.reduce-fx .grid-bg,html.reduce-fx .orb,html.reduce-fx .hero-scanline{animation:none !important;}
html.reduce-fx .particle{display:none;}

/* subtle film-grain overlay for depth */
.grain{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* thin scroll progress indicator */
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(90deg,var(--cyan),var(--green),var(--purple));z-index:1200;box-shadow:0 0 10px rgba(34,211,238,.55);}

/* cursor glow — desktop, fine pointer only, trails with slight delay */
.cursor-glow{position:fixed;top:0;left:0;width:380px;height:380px;border-radius:50%;pointer-events:none;z-index:2;
  background:radial-gradient(circle,rgba(34,211,238,.055) 0%,rgba(52,211,153,.03) 40%,transparent 72%);
  transform:translate(-50%,-50%);transition:left .55s cubic-bezier(.16,1,.3,1),top .55s cubic-bezier(.16,1,.3,1),opacity .4s;opacity:0;}
.cursor-glow.active{opacity:1;}
@media (pointer:coarse){.cursor-glow{display:none;}}

/* custom SVG icon system (replaces emoji) */
.icon{width:1.5em;height:1.5em;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.mnav-icon .icon{width:19px;height:19px;}

/* AMBIENT GRID BG (softened) */
.grid-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(148,163,184,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,0.05) 1px,transparent 1px);background-size:64px 64px;z-index:0;animation:gp 10s ease-in-out infinite;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 40%,transparent 100%);}
@keyframes gp{0%,100%{opacity:.6}50%{opacity:1}}

/* PARTICLES */
.particles{position:fixed;inset:0;z-index:1;pointer-events:none;}
.particle{position:absolute;width:2px;height:2px;border-radius:50%;animation:pfloat linear infinite;opacity:0;}
@keyframes pfloat{0%{transform:translateY(100vh) translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(-100px) translateX(var(--drift));opacity:0}}

.content{position:relative;z-index:2;}

/* ═══ NAV ═══ */
nav{position:fixed;top:0;left:0;right:0;z-index:500;background:rgb(0 3 11);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 32px;}
.nav-logo{font-family:'Space Grotesk',monospace;font-size:1rem;font-weight:900;color:var(--cyan);text-shadow:var(--gcyan);letter-spacing:3px;display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none;justify-self:start;}
.logo-box{width:34px;height:34px;border:2px solid var(--cyan);display:flex;align-items:center;justify-content:center;font-size:.75rem;animation:lb 3s ease-in-out infinite;box-shadow:var(--gcyan);}
/* @keyframes lb{0%,100%{border-color:var(--cyan);box-shadow:var(--gcyan)}50%{border-color:var(--green);box-shadow:var(--ggreen)}} */
.nav-links{display:flex;list-style:none;gap:4px;align-items:center;justify-self:center;}
.nav-links a{color:var(--dim);text-decoration:none;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;padding:6px 14px;border:1px solid transparent;transition:all .3s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:var(--cyan);border-color:rgba(0,245,255,.2);background:rgba(0,245,255,.05);text-shadow:var(--gcyan);}
.nav-links li.has-drop{position:relative;}
.nav-links li.has-drop .drop{display:none;position:absolute;top:100%;left:0;background:rgba(6,13,26,.98);border:1px solid var(--border2);min-width:200px;z-index:600;flex-direction:column;}
.nav-links li.has-drop:hover .drop{display:flex;}
.nav-links .drop a{display:block;padding:10px 18px;border:none;}
.nav-links .drop a:hover{background:rgba(0,245,255,.05);}
.nav-admin-btn{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:2px;padding:6px 16px;background:rgba(255,59,92,.08);border:1px solid rgba(255,59,92,.3);color:var(--red);cursor:pointer;transition:all .3s;text-transform:uppercase;justify-self:end;}
.nav-admin-btn:hover{background:rgba(255,59,92,.15);box-shadow:var(--gred);}

/* ═══ MOBILE NAV (hamburger + drawer) — refined ═══ */
.nav-burger{display:none;justify-self:end;width:44px;height:44px;background:rgba(0,245,255,.04);border:1px solid var(--border2);align-items:center;justify-content:center;cursor:pointer;position:relative;z-index:1100;padding:0;flex-direction:column;gap:6px;transition:all .3s;}
.nav-burger::before,.nav-burger::after{content:'';position:absolute;width:7px;height:7px;border-color:var(--dim2);transition:all .3s;}
.nav-burger::before{top:-1px;left:-1px;border-top:1px solid;border-left:1px solid;}
.nav-burger::after{bottom:-1px;right:-1px;border-bottom:1px solid;border-right:1px solid;}
.nav-burger:hover{border-color:rgba(0,245,255,.4);background:rgba(0,245,255,.07);}
.nav-burger.open{border-color:var(--cyan);box-shadow:var(--gcyan);background:rgba(0,245,255,.08);}
.nav-burger.open::before,.nav-burger.open::after{border-color:var(--cyan);}
.nav-burger span{display:block;width:20px;height:2px;background:var(--cyan);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--gcyan);border-radius:1px;}
.nav-burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.nav-burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

.mobile-drawer-scrim{position:fixed;inset:0;background:rgba(2,6,12,.7);backdrop-filter:blur(2px);z-index:1040;opacity:0;pointer-events:none;transition:opacity .4s;}
.mobile-drawer-scrim.open{opacity:1;pointer-events:all;}

.mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(376px,88vw);background-image:linear-gradient(rgba(0,245,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,245,255,.025) 1px,transparent 1px),linear-gradient(180deg,rgba(7,15,28,.99),rgba(3,8,16,.99));background-size:28px 28px,28px 28px,auto;border-left:1px solid var(--border2);z-index:1050;transform:translateX(100%);transition:transform .45s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(0,0,0,.55);}
.mobile-drawer.open{transform:translateX(0);}

.mdrawer-accent{position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--cyan),var(--green),var(--purple),var(--cyan));background-size:100% 300%;animation:accentflow 6s linear infinite;}
@keyframes accentflow{0%{background-position:0 0}100%{background-position:0 300%}}

.mdrawer-header{display:flex;align-items:center;justify-content:space-between;padding:24px 20px 20px 24px;border-bottom:1px solid var(--border);flex-shrink:0;margin-left:4px;}
.mdrawer-logo{font-family:'Space Grotesk',monospace;font-size:.94rem;font-weight:900;letter-spacing:2px;color:var(--cyan);text-shadow:var(--gcyan);display:flex;align-items:center;gap:10px;}
.mdrawer-logo-box{width:32px;height:32px;border:2px solid var(--cyan);display:flex;align-items:center;justify-content:center;font-size:.75rem;box-shadow:var(--gcyan);animation:lb 3s ease-in-out infinite;flex-shrink:0;}
.mdrawer-close{width:40px;height:40px;background:rgba(255,59,92,.08);border:1px solid rgba(255,59,92,.3);color:var(--red);cursor:pointer;font-size:.9rem;transition:all .25s;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mdrawer-close:hover,.mdrawer-close:active{background:rgba(255,59,92,.2);box-shadow:var(--gred);transform:rotate(90deg);}

.mdrawer-tag{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:3px;color:var(--dim2);padding:20px 24px 12px 28px;text-transform:uppercase;flex-shrink:0;}

.mdrawer-links{flex:1;min-height:0;overflow-y:auto;padding-bottom:12px;}

.mnav-row{display:flex;align-items:stretch;border-left:4px solid transparent;transition:all .25s;}
.mnav-row.active{border-left-color:var(--cyan);background:linear-gradient(90deg,rgba(0,245,255,.09),transparent);}
a.mnav-link{flex:1;display:flex;align-items:center;gap:16px;font-family:'JetBrains Mono',monospace;font-size:.94rem;font-weight:500;letter-spacing:1.1px;text-transform:uppercase;color:var(--text);text-decoration:none;padding:17px 12px 17px 24px;min-height:56px;transition:all .2s;opacity:0;transform:translateX(18px);}
.mobile-drawer.open a.mnav-link,.mobile-drawer.open .mnav-expand-btn{opacity:1;transform:translateX(0);}
.mnav-expand-btn{opacity:0;transform:translateX(18px);width:52px;background:transparent;border:none;border-left:1px solid var(--border);color:var(--dim2);font-size:.75rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;}
.mnav-row.active .mnav-expand-btn{color:var(--cyan);}
.mnav-group.expanded .mnav-expand-btn{transform:rotate(180deg);}
.mobile-drawer.open .mnav-group.expanded .mnav-expand-btn{transform:rotate(180deg) translateX(0);}
.mnav-icon{color:var(--cyan);;font-size:1.15rem;width:24px;text-align:center;flex-shrink:0;opacity:.75;}
a.mnav-link.active,.mnav-row.active a.mnav-link{color:var(--cyan);text-shadow:var(--gcyan);}
a.mnav-link.active .mnav-icon,.mnav-row.active .mnav-icon{opacity:1;}
a.mnav-link:active{background:rgba(0,245,255,.1);}

.mnav-sub{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1);background:rgba(0,0,0,.22);}
.mnav-group.expanded .mnav-sub{max-height:400px;}
.mnav-sub a{display:flex;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:.82rem;letter-spacing:.6px;color:var(--dim);text-decoration:none;padding:13px 24px 13px 34px;min-height:44px;position:relative;transition:all .2s;}
.mnav-sub a::before{content:'';width:6px;height:6px;border:1px solid var(--dim2);flex-shrink:0;transition:all .2s;}
.mnav-sub a:active{color:var(--green);background:rgba(0,255,157,.07);}
.mnav-sub a:active::before{border-color:var(--green);background:var(--green);box-shadow:var(--ggreen);}

.mdrawer-footer{flex-shrink:0;padding:20px 24px 24px;border-top:1px solid var(--border);margin-left:4px;}
.mobile-admin-btn{display:block;width:100%;font-family:'JetBrains Mono',monospace;font-size:.82rem;letter-spacing:2px;padding:14px 16px;min-height:48px;background:rgba(255,59,92,.08);border:1px solid rgba(255,59,92,.3);color:var(--red);cursor:pointer;text-transform:uppercase;text-align:center;transition:all .25s;}
.mobile-admin-btn:active{background:rgba(255,59,92,.2);}
.mdrawer-status{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--dim);letter-spacing:1px;margin-top:16px;justify-content:center;}

/* ═══ PAGE SYSTEM ═══ */
.page{display:none;min-height:100vh;padding-top:64px;}
.page.active{display:block;}

/* ═══ COMMON ═══ */
.section{padding:80px 40px;}
.section-header{text-align:center;margin-bottom:56px;}
.stag{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:4px;color:var(--green);text-transform:uppercase;margin-bottom:12px;display:inline-flex;align-items:center;gap:9px;position:relative;}
.stag::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:var(--ggreen);animation:bd 1.6s ease-in-out infinite;flex-shrink:0;}
.stitle{font-family:'Space Grotesk',monospace;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700;color:#fff;position:relative;display:inline-block;}
.stitle::after{content:'';display:block;height:3px;background:linear-gradient(90deg,var(--cyan),var(--green),transparent);margin-top:10px;}
.sdesc{margin-top:16px;color:var(--dim);font-size:1rem;max-width:600px;margin-left:auto;margin-right:auto;}

/* HUD corner-frame + entrance reveal for key section headers */
.about-vision .section-header,#ethics .section-header,#facilities .section-header,#achievements .section-header,#why .section-header{
  position:relative;padding:22px 34px;
  opacity:0;transform:translateY(18px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1);
}
.about-vision .section-header.in-view,#ethics .section-header.in-view,#facilities .section-header.in-view,#achievements .section-header.in-view,#why .section-header.in-view{
  opacity:1;transform:translateY(0);
}


/* Cards */
.card{background:var(--card);border:1px solid var(--border);padding:28px;position:relative;overflow:hidden;transition:all .3s;}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green));}
.card:hover{border-color:rgba(0,245,255,.3);transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,.4);}
.card.purple::before{background:linear-gradient(90deg,var(--purple),var(--cyan));}
.card.orange::before{background:linear-gradient(90deg,var(--green),var(--orange));}

/* Grid layouts */
.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;max-width:1200px;margin:0 auto;}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;max-width:1200px;margin:0 auto;}

/* Orb decorations */
.orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;}
.orb1{width:500px;height:500px;background:radial-gradient(circle,rgba(0,245,255,.08) 0%,transparent 70%);top:-100px;right:-100px;animation:of 10s ease-in-out infinite;}
.orb2{width:350px;height:350px;background:radial-gradient(circle,rgba(123,47,255,.1) 0%,transparent 70%);bottom:-50px;left:-50px;animation:of 12s ease-in-out infinite reverse;}
@keyframes of{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-30px)}}

/* ═══════════════════════════════════
   HOME PAGE
═══════════════════════════════════ */
/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 40px;position:relative;overflow:hidden;}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.75;}
.hero-scanline{position:absolute;left:0;right:0;height:120px;top:-120px;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(34,211,238,.06) 45%,rgba(52,211,153,.04) 55%,transparent);
  animation:scanpulse 7s linear infinite;}
@keyframes scanpulse{0%{top:-120px}100%{top:100%}}
.hero-content{text-align:center;max-width:900px;z-index:2;position:relative;}
.hero-content::before{content:'';position:absolute;inset:-40px -60px;z-index:-1;
  background:radial-gradient(ellipse 70% 65% at 50% 45%,rgba(2,6,14,.55) 0%,transparent 72%);}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(0,245,255,.07);border:1px solid rgba(0,245,255,.25);padding:6px 20px;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:3px;color:var(--cyan);margin-bottom:28px;animation:fid .8s ease both;}
.bdot{width:6px;height:6px;background:var(--green);border-radius:50%;animation:bd 1.5s ease-in-out infinite;box-shadow:var(--ggreen);}
@keyframes bd{0%,100%{opacity:1}50%{opacity:0}}
.hero-title{font-family:'Space Grotesk',monospace;font-size:clamp(2.5rem,6vw,5rem);font-weight:900;line-height:1.1;margin-bottom:16px;}
.hero-title .t1{color:#fff;display:block;animation:fiu .8s ease .2s both;text-shadow:0 2px 24px rgba(0,0,0,.6);}
.hero-title .t2{display:block;background:linear-gradient(90deg,var(--cyan),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fiu .8s ease .4s both;filter:drop-shadow(0 2px 20px rgba(0,0,0,.5));}
.hero-sub{font-size:1.1rem;color:var(--dim);letter-spacing:1px;margin-bottom:40px;font-family:'JetBrains Mono',monospace;animation:fiu .8s ease .5s both;text-shadow:0 1px 12px rgba(0,0,0,.5);}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:56px;animation:fiu .8s ease .6s both;}
.btn{position:relative;overflow:hidden;isolation:isolate;font-family:'Space Grotesk',monospace;font-size:.72rem;letter-spacing:3px;padding:14px 32px;cursor:pointer;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease,background .3s ease,border-color .3s ease,color .3s ease;text-transform:uppercase;text-decoration:none;display:inline-block;}
.btn::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);
  transform:translateX(-130%);transition:transform .7s ease;}
.btn:hover::before{transform:translateX(130%);}
.btn span{position:relative;z-index:2;}
.btn-primary{background:rgba(34,211,238,.1);border:1px solid var(--cyan);color:var(--cyan);box-shadow:0 0 0 rgba(34,211,238,0);}
.btn-primary:hover{background:var(--cyan);color:var(--bg);box-shadow:0 14px 34px rgba(34,211,238,.3),var(--gcyan);transform:translateY(-3px) scale(1.03);}
.btn-secondary{background:transparent;border:1px solid var(--border2);color:var(--dim);}
.btn-secondary:hover{border-color:var(--green);color:var(--green);box-shadow:0 10px 26px rgba(52,211,153,.18);transform:translateY(-3px);}
.hero-stats{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;animation:fiu .8s ease .7s both;}
.stat{text-align:center;}
.stat-n{font-family:'Space Grotesk',monospace;font-size:2.4rem;font-weight:700;color:var(--cyan);text-shadow:var(--gcyan);display:block;}
.stat-l{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:2px;color:var(--dim);text-transform:uppercase;}
@keyframes fid{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fiu{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ABOUT SUBSECTIONS */
.about-vision{background:radial-gradient(ellipse at 75% 15%,rgba(0,245,255,.07) 0%,transparent 55%),radial-gradient(ellipse at 5% 90%,rgba(167,139,250,.06) 0%,transparent 55%);position:relative;overflow:hidden;}
.vision-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:1100px;margin:0 auto;align-items:center;position:relative;z-index:1;}
.vision-text .vtag{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:4px;color:var(--cyan);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.vision-text .vtag::before{content:'';width:26px;height:2px;background:linear-gradient(90deg,var(--cyan),transparent);}
.vision-text h3{font-family:'Space Grotesk',monospace;font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:20px;background:linear-gradient(100deg,#fff 45%,var(--cyan) 90%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.vision-text p{color:var(--text);font-size:1rem;margin-bottom:16px;}
.vision-text p:first-of-type{padding-left:16px;border-left:2px solid rgba(34,211,238,.35);}

.vision-pillars{display:flex;flex-direction:column;gap:16px;position:relative;background-image:radial-gradient(rgba(34,211,238,.12) 1px,transparent 1px);background-size:16px 16px;background-position:-4px -4px;}
.vision-pillars::before{content:'';position:absolute;left:46px;top:38px;bottom:38px;width:2px;background:linear-gradient(180deg,var(--cyan),var(--purple),var(--green),var(--orange));opacity:.3;z-index:0;}
.pillar{display:flex;align-items:flex-start;gap:16px;padding:20px;background:linear-gradient(155deg,var(--card),var(--card2) 130%),radial-gradient(circle 200px at var(--mx,50%) var(--my,50%),rgba(255,255,255,var(--spot-o,0)),transparent 60%);background-size:100% 100%,100% 100%;background-position:0 0,0 0;background-repeat:no-repeat,no-repeat;border:1px solid var(--border);position:relative;z-index:1;opacity:0;transform:translateX(26px);transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s ease,border-color .35s,box-shadow .4s;}
.vision-pillars.in-view .pillar{opacity:1;transform:translateX(0);}
.pillar:nth-child(1){--accent:var(--cyan);--accent-a2:rgba(34,211,238,.14);--accent-a3:rgba(34,211,238,.4);transition-delay:.05s;}
.pillar:nth-child(2){--accent:var(--purple);--accent-a2:rgba(167,139,250,.14);--accent-a3:rgba(167,139,250,.4);transition-delay:.16s;}
.pillar:nth-child(3){--accent:var(--green);--accent-a2:rgba(52,211,153,.14);--accent-a3:rgba(52,211,153,.4);transition-delay:.27s;}
.pillar:nth-child(4){--accent:var(--orange);--accent-a2:rgba(237,168,95,.14);--accent-a3:rgba(237,168,95,.4);transition-delay:.38s;}
.pillar:hover{border-color:var(--accent-a3);transform:translateX(8px);box-shadow:0 16px 34px rgba(0,0,0,.35);}
.pillar-icon{color:var(--accent);;flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:radial-gradient(circle at 32% 28%,var(--accent-a2),transparent 70%);border:1px solid var(--accent-a3);border-radius:var(--r-md);transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .3s;animation:iconBreathe 3.4s ease-in-out infinite;}
.pillar:hover .pillar-icon{transform:scale(1.12) rotate(-6deg);box-shadow:0 0 24px var(--accent-a3);border-color:var(--accent);}
.pillar-title{font-family:'Space Grotesk',monospace;font-size:.85rem;color:var(--accent);margin-bottom:4px;transition:color .3s;}
.pillar-desc{font-size:.9rem;color:var(--dim);}

/* FOUNDER MSG */
.founder-msg{background:var(--surface);position:relative;}
.fmsg-layout{display:grid;grid-template-columns:300px 1fr;gap:48px;max-width:1100px;margin:0 auto;align-items:start;}
.fmsg-avatar{background:var(--card);border:1px solid var(--border);padding:32px;text-align:center;position:relative;}
.fmsg-avatar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green));}
.favatar-circle{width:120px;height:120px;background:linear-gradient(135deg,rgba(0,245,255,.1),rgba(123,47,255,.1));border:2px solid rgba(0,245,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:'Space Grotesk',monospace;font-size:2rem;font-weight:900;color:var(--cyan);text-shadow:var(--gcyan);}
.favatar-name{font-family:'Space Grotesk',monospace;font-size:.95rem;font-weight:700;color:#fff;margin-bottom:4px;}
.favatar-role{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--cyan);margin-bottom:4px;}
.favatar-inst{font-size:.85rem;color:var(--dim);}
.fmsg-content blockquote{border-left:3px solid var(--cyan);padding-left:24px;margin-bottom:20px;}
.fmsg-content blockquote p{font-size:1.05rem;color:var(--text);font-style:italic;line-height:1.8;}
.fmsg-content .sig{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--cyan);}

/* ETHICS & FACILITIES */
#ethics,#facilities{position:relative;overflow:hidden;}
.ethics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;max-width:1100px;margin:0 auto;position:relative;z-index:1;}
.ethics-card{background:linear-gradient(155deg,var(--card),var(--card2) 130%),linear-gradient(120deg,transparent 35%,rgba(255,255,255,.06) 50%,transparent 65%),radial-gradient(circle 220px at var(--mx,50%) var(--my,50%),rgba(255,255,255,var(--spot-o,0)),transparent 60%);background-size:100% 100%,240% 240%,100% 100%;background-position:0 0,-130% -130%,0 0;background-repeat:no-repeat;border:1px solid var(--border);padding:30px 26px;position:relative;overflow:hidden;isolation:isolate;opacity:0;transform:translateY(24px);transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .55s ease,border-color .4s,box-shadow .45s,background-position .9s cubic-bezier(.16,1,.3,1);}
.ethics-card:hover{background-position:0 0,130% 130%;}
.ethics-grid.in-view .ethics-card{opacity:1;transform:translateY(0);}
.ethics-card:nth-child(6n+1){--accent:var(--cyan);--accent-a2:rgba(34,211,238,.14);--accent-a3:rgba(34,211,238,.4);--accent-a4:rgba(34,211,238,.26);transition-delay:.03s;}
.ethics-card:nth-child(6n+2){--accent:var(--purple);--accent-a2:rgba(167,139,250,.14);--accent-a3:rgba(167,139,250,.4);--accent-a4:rgba(167,139,250,.26);transition-delay:.1s;}
.ethics-card:nth-child(6n+3){--accent:var(--green);--accent-a2:rgba(52,211,153,.14);--accent-a3:rgba(52,211,153,.4);--accent-a4:rgba(52,211,153,.26);transition-delay:.17s;}
.ethics-card:nth-child(6n+4){--accent:var(--orange);--accent-a2:rgba(237,168,95,.14);--accent-a3:rgba(237,168,95,.4);--accent-a4:rgba(237,168,95,.26);transition-delay:.24s;}
.ethics-card:nth-child(6n+5){--accent:var(--red);--accent-a2:rgba(242,98,110,.14);--accent-a3:rgba(242,98,110,.4);--accent-a4:rgba(242,98,110,.26);transition-delay:.31s;}
.ethics-card:nth-child(6n+6){--accent:var(--cyan);--accent-a2:rgba(34,211,238,.14);--accent-a3:rgba(34,211,238,.4);--accent-a4:rgba(34,211,238,.26);transition-delay:.38s;}
.ethics-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:2;}
.ethics-card:hover::before{transform:scaleX(1);}
.ethics-card:hover{border-color:var(--accent-a3);transform:translateY(-8px);box-shadow:0 24px 46px rgba(0,0,0,.4),0 0 0 1px var(--accent-a4) inset;}
.ethics-card::after{content:attr(data-n);position:absolute;bottom:4px;right:14px;font-family:'Space Grotesk',monospace;font-weight:800;font-size:3.4rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);z-index:0;transition:transform .5s cubic-bezier(.16,1,.3,1),-webkit-text-stroke-color .4s;}
.ethics-card:hover::after{transform:translateY(-4px) scale(1.05);-webkit-text-stroke-color:var(--accent-a4);}
.ec-icon{color:var(--accent);;position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;font-size:1.6rem;margin-bottom:16px;background:radial-gradient(circle at 32% 28%,var(--accent-a2),transparent 70%);border:1px solid var(--accent-a3);border-radius:var(--r-md);transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .45s,border-color .35s;animation:iconBreathe 3.4s ease-in-out infinite;}
.ethics-card:hover .ec-icon{transform:scale(1.12) rotate(6deg);box-shadow:0 0 26px var(--accent-a3);border-color:var(--accent);}
.ec-title{position:relative;z-index:1;font-family:'Space Grotesk',monospace;font-size:.95rem;color:var(--text);margin-bottom:10px;transition:color .35s;}
.ethics-card:hover .ec-title{color:var(--accent);}
.ec-desc{position:relative;z-index:1;font-size:.88rem;color:var(--dim);line-height:1.6;}

/* FACILITIES — scoped redesign of shared .why-card look */
#facilities .why-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;position:relative;z-index:1;}
#facilities .why-card{background:linear-gradient(155deg,var(--card),var(--card2) 130%),linear-gradient(120deg,transparent 35%,rgba(255,255,255,.06) 50%,transparent 65%),radial-gradient(circle 220px at var(--mx,50%) var(--my,50%),rgba(255,255,255,var(--spot-o,0)),transparent 60%);background-size:100% 100%,240% 240%,100% 100%;background-position:0 0,-130% -130%,0 0;background-repeat:no-repeat;border:1px solid var(--border);padding:30px 28px;position:relative;overflow:hidden;isolation:isolate;opacity:0;transform:translateY(24px);transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .55s ease,border-color .4s,box-shadow .45s,background-position .9s cubic-bezier(.16,1,.3,1);}
#facilities .why-card:hover{background-position:0 0,130% 130%;}
#facilities .why-grid.in-view .why-card{opacity:1;transform:translateY(0);}
#facilities .why-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:2;}
#facilities .why-card:hover::before{transform:scaleX(1);}
#facilities .why-card::after{content:'● ONLINE';position:absolute;top:18px;right:18px;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:1.5px;color:var(--accent);animation:statusPulse 2s ease-in-out infinite;}
#facilities .why-card:nth-child(6n+1){--accent:var(--cyan);--accent-a2:rgba(34,211,238,.14);--accent-a3:rgba(34,211,238,.4);transition-delay:.03s;}
#facilities .why-card:nth-child(6n+2){--accent:var(--green);--accent-a2:rgba(52,211,153,.14);--accent-a3:rgba(52,211,153,.4);transition-delay:.1s;}
#facilities .why-card:nth-child(6n+3){--accent:var(--purple);--accent-a2:rgba(167,139,250,.14);--accent-a3:rgba(167,139,250,.4);transition-delay:.17s;}
#facilities .why-card:nth-child(6n+4){--accent:var(--orange);--accent-a2:rgba(237,168,95,.14);--accent-a3:rgba(237,168,95,.4);transition-delay:.24s;}
#facilities .why-card:nth-child(6n+5){--accent:var(--red);--accent-a2:rgba(242,98,110,.14);--accent-a3:rgba(242,98,110,.4);transition-delay:.31s;}
#facilities .why-card:nth-child(6n+6){--accent:var(--cyan);--accent-a2:rgba(34,211,238,.14);--accent-a3:rgba(34,211,238,.4);transition-delay:.38s;}
#facilities .why-card:hover{border-color:var(--accent-a3);transform:translateY(-8px);box-shadow:0 22px 44px rgba(0,0,0,.38);}
#facilities .why-icon{color:var(--accent);display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;font-size:1.8rem;margin-bottom:16px;background:radial-gradient(circle at 32% 28%,var(--accent-a2),transparent 70%);border:1px solid var(--accent-a3);border-radius:var(--r-md);transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .45s,border-color .35s;animation:iconBreathe 3.4s ease-in-out infinite;}
#facilities .why-card:hover .why-icon{transform:scale(1.1) rotate(-6deg);box-shadow:0 0 24px var(--accent-a3);border-color:var(--accent);}
#facilities .why-title{color:var(--text);text-shadow:none;transition:color .3s;}
#facilities .why-card:hover .why-title{color:var(--accent);}
@keyframes statusPulse{0%,100%{opacity:.45}50%{opacity:1}}

/* SECTION RAIL — desktop scroll tracker */
.section-rail{position:fixed;right:26px;left:auto;top:50%;height:auto;transform:translateY(-50%);z-index:400;display:flex;flex-direction:column;align-items:center;gap:20px;padding:0;background:transparent;backdrop-filter:none;border:none;border-bottom:none;}
.section-rail::before{content:'';position:absolute;left:50%;top:-4px;bottom:-4px;width:1px;background:linear-gradient(180deg,transparent,var(--border2) 15%,var(--border2) 85%,transparent);transform:translateX(-50%);z-index:-1;}
.rail-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--border2);background:rgba(7,11,18,.8);position:relative;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;text-decoration:none;flex-shrink:0;}
.rail-dot:hover{border-color:var(--cyan);transform:scale(1.35);}
.rail-dot.active{background:var(--cyan);border-color:var(--cyan);box-shadow:var(--gcyan);transform:scale(1.35);}
.rail-num{position:absolute;right:22px;top:50%;transform:translateY(-50%) translateX(4px);font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:1.5px;color:var(--dim);white-space:nowrap;opacity:0;transition:opacity .25s ease,transform .25s ease;pointer-events:none;background:rgba(6,13,26,.94);padding:6px 12px;border:1px solid var(--border2);text-transform:uppercase;}
.rail-dot:hover .rail-num{opacity:1;transform:translateY(-50%) translateX(0);}
.rail-dot.active .rail-num{color:var(--cyan);}
@media(max-width:1180px){.section-rail{display:none;}}

/* ACHIEVEMENTS */
.ach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;max-width:1100px;margin:0 auto;}
.ach-card{background:linear-gradient(155deg,var(--card),var(--card2) 130%),linear-gradient(120deg,transparent 35%,rgba(255,255,255,.06) 50%,transparent 65%),radial-gradient(circle 220px at var(--mx,50%) var(--my,50%),rgba(255,255,255,var(--spot-o,0)),transparent 60%);background-size:100% 100%,240% 240%,100% 100%;background-position:0 0,-130% -130%,0 0;background-repeat:no-repeat;border:1px solid var(--border);padding:30px 26px;text-align:center;position:relative;overflow:hidden;transition:opacity .6s ease,transform .55s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .45s,background-position .9s cubic-bezier(.16,1,.3,1);}
.ach-card:hover{background-position:0 0,130% 130%;}
.ach-card:hover{border-color:var(--accent-a3);transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.38),0 0 0 1px var(--accent-a4) inset;}
.ach-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(.32);transform-origin:center;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.ach-card:hover::before{transform:scaleX(1);}
.ach-card:nth-child(8n+1){--accent:var(--cyan);--accent-a2:rgba(34,211,238,.14);--accent-a3:rgba(34,211,238,.4);--accent-a4:rgba(34,211,238,.26);--accent-glow:var(--gcyan);}
.ach-card:nth-child(8n+2){--accent:var(--green);--accent-a2:rgba(52,211,153,.14);--accent-a3:rgba(52,211,153,.4);--accent-a4:rgba(52,211,153,.26);--accent-glow:var(--ggreen);}
.ach-card:nth-child(8n+3){--accent:var(--purple);--accent-a2:rgba(167,139,250,.14);--accent-a3:rgba(167,139,250,.4);--accent-a4:rgba(167,139,250,.26);--accent-glow:var(--gpurple);}
.ach-card:nth-child(8n+4){--accent:var(--orange);--accent-a2:rgba(237,168,95,.14);--accent-a3:rgba(237,168,95,.4);--accent-a4:rgba(237,168,95,.26);--accent-glow:0 0 24px rgba(237,168,95,.35);}
.ach-card:nth-child(8n+5){--accent:var(--cyan);--accent-a2:rgba(34,211,238,.14);--accent-a3:rgba(34,211,238,.4);--accent-a4:rgba(34,211,238,.26);--accent-glow:var(--gcyan);}
.ach-card:nth-child(8n+6){--accent:var(--green);--accent-a2:rgba(52,211,153,.14);--accent-a3:rgba(52,211,153,.4);--accent-a4:rgba(52,211,153,.26);--accent-glow:var(--ggreen);}
.ach-card:nth-child(8n+7){--accent:var(--red);--accent-a2:rgba(242,98,110,.14);--accent-a3:rgba(242,98,110,.4);--accent-a4:rgba(242,98,110,.26);--accent-glow:var(--gred);}
.ach-card:nth-child(8n+8){--accent:var(--purple);--accent-a2:rgba(167,139,250,.14);--accent-a3:rgba(167,139,250,.4);--accent-a4:rgba(167,139,250,.26);--accent-glow:var(--gpurple);}
.ach-card:nth-child(8){--accent:var(--gold);--accent-a2:rgba(242,198,117,.16);--accent-a3:rgba(242,198,117,.45);--accent-a4:rgba(242,198,117,.28);--accent-glow:var(--ggold);}
.ach-icon{color:var(--accent);;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;font-size:1.65rem;margin:0 auto 16px;background:radial-gradient(circle at 32% 28%,var(--accent-a2),transparent 72%);border:1px solid var(--accent-a3);border-radius:var(--r-md);transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .3s;animation:iconBreathe 3.4s ease-in-out infinite;}
@keyframes iconBreathe{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 7px var(--accent-a3,rgba(34,211,238,.5)))}}
.ach-card:hover .ach-icon{transform:scale(1.14) rotate(6deg);box-shadow:0 0 26px var(--accent-a3);border-color:var(--accent);}
.ach-num{font-family:'Space Grotesk',monospace;font-size:2.6rem;font-weight:800;color:var(--accent);text-shadow:var(--accent-glow);display:block;margin-bottom:8px;letter-spacing:-.5px;}
.ach-label{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:2px;color:var(--dim);text-transform:uppercase;}
.ach-sub{font-size:.85rem;color:var(--text);margin-top:8px;}
#achievements.reveal-ready .ach-card{opacity:0;transform:translateY(26px);}
#achievements.reveal-ready .ach-card.in-view{opacity:1;transform:translateY(0);}
#achievements{position:relative;overflow:hidden;}
#achievements .ach-grid{position:relative;z-index:1;}

/* WHY CHOOSE */
.why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;max-width:1100px;margin:0 auto;}
.why-card{background:var(--card);border:1px solid var(--border);padding:32px;transition:all .3s;position:relative;}
.why-card:hover{border-color:rgba(0,245,255,.3);transform:translateY(-4px);}
.why-icon{font-size:2.2rem;margin-bottom:16px;display:block;}
.why-title{font-family:'Space Grotesk',monospace;font-size:.9rem;color:var(--cyan);margin-bottom:10px;text-shadow:var(--gcyan);}
.why-desc{font-size:.92rem;color:var(--dim);line-height:1.7;}

/* ═══════════════════════════════════
   "WHY CHOOSE CYBERAI LAB?" — scoped redesign only
   (facilities section keeps the plain .why-* look above)
═══════════════════════════════════ */
#why .why-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;counter-reset:whyIdx;}
#why .why-card{
  counter-increment:whyIdx;
  padding:40px 32px 34px;
  background:linear-gradient(155deg,var(--card),var(--card2) 120%),linear-gradient(120deg,transparent 35%,rgba(255,255,255,.06) 50%,transparent 65%),radial-gradient(circle 220px at var(--mx,50%) var(--my,50%),rgba(255,255,255,var(--spot-o,0)),transparent 60%);
  background-size:100% 100%,240% 240%,100% 100%;
  background-position:0 0,-130% -130%,0 0;
  background-repeat:no-repeat;
  border:1px solid var(--border);
  isolation:isolate;
  cursor:default;
  transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .55s ease,border-color .4s,box-shadow .45s,background-position .9s cubic-bezier(.16,1,.3,1);
}
#why .why-card:nth-child(6n+1){--accent:var(--orange);--accent-a2:rgba(237,168,95,.14);--accent-a3:rgba(237,168,95,.4);--accent-a4:rgba(237,168,95,.28);}
#why .why-card:nth-child(6n+2){--accent:var(--cyan);--accent-a2:rgba(34,211,238,.14);--accent-a3:rgba(34,211,238,.4);--accent-a4:rgba(34,211,238,.28);}
#why .why-card:nth-child(6n+3){--accent:var(--purple);--accent-a2:rgba(167,139,250,.14);--accent-a3:rgba(167,139,250,.4);--accent-a4:rgba(167,139,250,.28);}
#why .why-card:nth-child(6n+4){--accent:var(--green);--accent-a2:rgba(52,211,153,.14);--accent-a3:rgba(52,211,153,.4);--accent-a4:rgba(52,211,153,.28);}
#why .why-card:nth-child(6n+5){--accent:var(--red);--accent-a2:rgba(242,98,110,.14);--accent-a3:rgba(242,98,110,.4);--accent-a4:rgba(242,98,110,.28);}
#why .why-card:nth-child(6n+6){--accent:var(--cyan);--accent-a2:rgba(34,211,238,.14);--accent-a3:rgba(34,211,238,.4);--accent-a4:rgba(34,211,238,.28);}
#why .why-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:2;}
#why .why-card::after{
  content:counter(whyIdx,decimal-leading-zero);
  position:absolute;top:6px;right:14px;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:4rem;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);
  z-index:0;pointer-events:none;
  transition:transform .55s cubic-bezier(.16,1,.3,1),-webkit-text-stroke-color .4s;
}
#why .why-card:hover{transform:translateY(-10px);border-color:var(--accent-a3);box-shadow:0 26px 50px rgba(0,0,0,.4),0 0 0 1px var(--accent-a4) inset;background-position:0 0,130% 130%;}
#why .why-card:hover::before{transform:scaleX(1);}
#why .why-card:hover::after{transform:translateY(-4px);-webkit-text-stroke-color:var(--accent-a4);}
#why .why-icon{
  position:relative;z-index:1;color:var(--accent);
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;font-size:2rem;margin-bottom:22px;
  background:radial-gradient(circle at 32% 28%,var(--accent-a2),transparent 70%);
  border:1px solid var(--accent-a3);
  transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .45s,border-color .35s,background .4s;
  animation:iconBreathe 3.4s ease-in-out infinite;
}
#why .why-card:hover .why-icon{transform:scale(1.14) rotate(-8deg);box-shadow:0 0 30px var(--accent-a3);border-color:var(--accent);}
#why .why-title{
  position:relative;z-index:1;
  font-size:1.05rem;font-weight:700;letter-spacing:.2px;text-transform:none;
  color:var(--text);text-shadow:none;margin-bottom:12px;
  transition:color .35s;
}
#why .why-card:hover .why-title{color:var(--accent);}
#why .why-desc{position:relative;z-index:1;font-size:.92rem;color:var(--dim);transition:color .35s;}
#why .why-card:hover .why-desc{color:#b7c2d6;}
#why{position:relative;overflow:hidden;}
#why .why-grid{opacity:1;}
#why .why-grid .why-card{opacity:0;transform:translateY(24px) scale(.98);}
#why .why-grid.in-view .why-card{opacity:1;transform:translateY(0) scale(1);}
#why .why-card:nth-child(6n+1){transition-delay:.03s;}
#why .why-card:nth-child(6n+2){transition-delay:.1s;}
#why .why-card:nth-child(6n+3){transition-delay:.17s;}
#why .why-card:nth-child(6n+4){transition-delay:.24s;}
#why .why-card:nth-child(6n+5){transition-delay:.31s;}
#why .why-card:nth-child(6n+6){transition-delay:.38s;}

/* ═══════════════════════════════════
   RESEARCH PAGE
═══════════════════════════════════ */
.research-areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;max-width:1200px;margin:0 auto;}
.ra-card{background:var(--card);border:1px solid var(--border);padding:36px 28px;transition:all .3s;position:relative;overflow:hidden;}
.ra-card:hover{border-color:rgba(0,245,255,.3);transform:translateY(-4px);}
.ra-card::after{content:attr(data-num);position:absolute;bottom:16px;right:20px;font-family:'Space Grotesk',monospace;font-size:3rem;font-weight:900;color:rgba(0,245,255,.05);line-height:1;}
.ra-icon{font-size:2.5rem;margin-bottom:20px;display:block;}
.ra-name{font-family:'Space Grotesk',monospace;font-size:1rem;font-weight:700;color:#fff;margin-bottom:12px;}
.ra-desc{font-size:.9rem;color:var(--dim);}

/* ═══════════════════════════════════
   PUBLICATIONS PAGE
═══════════════════════════════════ */
.pub-filters{display:flex;gap:10px;flex-wrap:wrap;max-width:1200px;margin:0 auto 40px;justify-content:center;}
.pf-btn{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:2px;padding:8px 20px;background:transparent;border:1px solid var(--border2);color:var(--dim);cursor:pointer;transition:all .3s;text-transform:uppercase;}
.pf-btn.active,.pf-btn:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,245,255,.06);}
.pub-list{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:20px;}
.pub-card{background:var(--card);border:1px solid var(--border);padding:28px;position:relative;transition:all .3s;}
.pub-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cyan);}
.pub-card:hover{border-color:rgba(0,245,255,.3);}
.pub-year-badge{position:absolute;top:20px;right:20px;font-family:'Space Grotesk',monospace;font-size:.75rem;font-weight:700;color:var(--cyan);background:rgba(0,245,255,.08);border:1px solid rgba(0,245,255,.2);padding:4px 12px;}
.pub-type{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:3px;color:var(--orange);text-transform:uppercase;margin-bottom:8px;}
.pub-title{font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:8px;padding-right:80px;}
.pub-authors{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--dim);margin-bottom:8px;}
.pub-authors .highlight{color:var(--cyan);}
.pub-venue{font-size:.85rem;color:var(--text);}
.pub-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.ptag{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:1px;padding:3px 10px;border:1px solid var(--border);color:var(--dim);}
.pub-actions{display:none;gap:8px;margin-top:12px;}
.pub-del{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:1px;padding:4px 12px;background:rgba(255,59,92,.08);border:1px solid rgba(255,59,92,.2);color:var(--red);cursor:pointer;transition:all .3s;}
.pub-del:hover{background:rgba(255,59,92,.2);}

/* ═══════════════════════════════════
   TEAM PAGE
═══════════════════════════════════ */
.team-tabs{display:flex;gap:4px;max-width:1200px;margin:0 auto 48px;border-bottom:1px solid var(--border);}
.tab-btn{font-family:'Space Grotesk',monospace;font-size:.75rem;letter-spacing:2px;padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--dim);cursor:pointer;transition:all .3s;text-transform:uppercase;}
.tab-btn.active{color:var(--cyan);border-bottom-color:var(--cyan);}
.tab-content{display:none;max-width:1200px;margin:0 auto;}
.tab-content.active{display:block;}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px;}
.member-card{background:var(--card);border:1px solid var(--border);padding:28px;position:relative;overflow:hidden;transition:all .3s;}
.member-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;}
.member-card.advisor::before{background:linear-gradient(90deg,var(--purple),var(--cyan));}
.member-card.ra::before{background:linear-gradient(90deg,var(--cyan),var(--green));}
.member-card.intern::before{background:linear-gradient(90deg,var(--green),var(--orange));}
.member-card:hover{transform:translateY(-6px);border-color:rgba(0,245,255,.3);box-shadow:0 20px 60px rgba(0,0,0,.4);}
.mc-avatar{width:68px;height:68px;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',monospace;font-size:1.3rem;font-weight:700;margin-bottom:16px;border:1px solid;position:relative;}
.member-card.advisor .mc-avatar{color:var(--purple);border-color:rgba(123,47,255,.3);background:rgba(123,47,255,.08);}
.member-card.ra .mc-avatar{color:var(--cyan);border-color:rgba(0,245,255,.3);background:rgba(0,245,255,.08);}
.member-card.intern .mc-avatar{color:var(--green);border-color:rgba(0,255,157,.3);background:rgba(0,255,157,.08);}
.mc-role-badge{position:absolute;top:-1px;right:-1px;padding:2px 8px;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:1px;text-transform:uppercase;}
.member-card.advisor .mc-role-badge{background:var(--purple);color:#fff;}
.member-card.ra .mc-role-badge{background:rgba(0,245,255,.12);color:var(--cyan);border:1px solid var(--cyan);}
.member-card.intern .mc-role-badge{background:rgba(0,255,157,.12);color:var(--green);border:1px solid var(--green);}
.mc-name{font-family:'Space Grotesk',monospace;font-size:.95rem;font-weight:700;color:#fff;margin-bottom:6px;}
.mc-title{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--dim);margin-bottom:10px;line-height:1.4;}
.mc-email{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--cyan);margin-bottom:12px;}
.mc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.mc-tag{padding:3px 10px;font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:1px;border:1px solid var(--border);color:var(--dim);}
.mc-del{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:1px;padding:5px 14px;background:rgba(255,59,92,.06);border:1px solid rgba(255,59,92,.2);color:var(--red);cursor:pointer;transition:all .3s;width:100%;display:none;}
.mc-del:hover{background:rgba(255,59,92,.18);}
.add-card{background:transparent;border:2px dashed var(--border2);display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all .3s;min-height:220px;padding:32px;}
.add-card:hover{border-color:var(--cyan);background:rgba(0,245,255,.03);}
/* Show admin-only elements only when authenticated */
body.admin-mode .mc-del{display:block;}
body.admin-mode .add-card{display:flex;}
body.admin-mode .pub-del{display:inline-block;}
body.admin-mode .pub-actions{display:flex;}.add-icon{font-size:2rem;color:var(--dim);transition:all .3s;}
.add-card:hover .add-icon{color:var(--cyan);text-shadow:var(--gcyan);}
.add-lbl{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:2px;color:var(--dim);text-transform:uppercase;transition:color .3s;}
.add-card:hover .add-lbl{color:var(--cyan);}

/* FOUNDER IN TEAM */
.founder-highlight{background:var(--card);border:1px solid var(--border);padding:40px;max-width:1200px;margin:0 auto 48px;position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;}
.founder-highlight::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green),var(--purple));}
.fh-avatar{width:100px;height:100px;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',monospace;font-size:2rem;font-weight:900;color:var(--cyan);text-shadow:var(--gcyan);border:2px solid rgba(0,245,255,.3);background:rgba(0,245,255,.05);position:relative;}
.fh-label{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);background:var(--cyan);color:var(--bg);font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:1px;padding:2px 8px;white-space:nowrap;}
.fh-name{font-family:'Space Grotesk',monospace;font-size:1.4rem;font-weight:900;color:#fff;margin-bottom:4px;}
.fh-role{font-family:'JetBrains Mono',monospace;font-size:.82rem;color:var(--cyan);margin-bottom:4px;}
.fh-inst{font-size:.9rem;color:var(--dim);margin-bottom:12px;}
.fh-tags{display:flex;flex-wrap:wrap;gap:8px;}
.fh-tag{padding:4px 14px;font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:1px;border:1px solid rgba(0,245,255,.2);color:var(--cyan);background:rgba(0,245,255,.05);}

/* ═══════════════════════════════════
   COLLABORATIONS PAGE
═══════════════════════════════════ */
.collab-slider-wrap{max-width:1200px;margin:0 auto 60px;position:relative;overflow:hidden;}
.collab-slider-track{display:flex;gap:24px;animation:scroll 30s linear infinite;}
.collab-slider-track:hover{animation-play-state:paused;}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.collab-card{flex-shrink:0;width:220px;background:var(--card);border:1px solid var(--border);padding:28px 20px;text-align:center;transition:all .3s;}
.collab-card:hover{border-color:rgba(0,245,255,.3);transform:translateY(-4px);}
.collab-flag{font-size:2rem;margin-bottom:12px;display:block;}
.collab-name{font-family:'Space Grotesk',monospace;font-size:.78rem;font-weight:700;color:#fff;margin-bottom:4px;}
.collab-country{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--dim);}
.collab-type{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:2px;color:var(--cyan);margin-top:8px;text-transform:uppercase;}
.collab-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:1200px;margin:0 auto;}
.cmap-card{background:var(--card);border:1px solid var(--border);padding:24px;display:flex;align-items:center;gap:20px;transition:all .3s;}
.cmap-card:hover{border-color:rgba(0,245,255,.3);}
.cmap-flag{font-size:2.5rem;}
.cmap-info{}
.cmap-uni{font-family:'Space Grotesk',monospace;font-size:.82rem;color:#fff;margin-bottom:4px;}
.cmap-country{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--dim);}
.cmap-tag{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:1px;color:var(--green);margin-top:4px;}

/* ═══════════════════════════════════
   CONTACT PAGE
═══════════════════════════════════ */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1100px;margin:0 auto;}
.contact-info{display:flex;flex-direction:column;gap:24px;}
.ci-item{background:var(--card);border:1px solid var(--border);padding:24px;display:flex;align-items:flex-start;gap:16px;transition:all .3s;}
.ci-item:hover{border-color:rgba(0,245,255,.3);}
.ci-icon{width:44px;height:44px;background:rgba(0,245,255,.06);border:1px solid rgba(0,245,255,.2);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;color:var(--cyan);}
.ci-label{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:2px;color:var(--dim);text-transform:uppercase;margin-bottom:4px;}
.ci-val{font-size:.95rem;color:#fff;}
.contact-form{background:var(--card);border:1px solid var(--border);padding:36px;position:relative;}
.contact-form::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green));}
.contact-form h3{font-family:'Space Grotesk',monospace;font-size:1rem;color:var(--cyan);margin-bottom:28px;letter-spacing:2px;}

/* ═══════════════════════════════════
   FORMS & INPUTS
═══════════════════════════════════ */
.fg{margin-bottom:18px;}
.fl{display:block;font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:2px;color:var(--dim);margin-bottom:6px;text-transform:uppercase;}
.fi,.fs,.fta{width:100%;background:var(--surface);border:1px solid var(--border2);color:var(--text);padding:12px 16px;font-family:'JetBrains Mono',monospace;font-size:.85rem;outline:none;transition:border-color .3s;}
.fi:focus,.fs:focus,.fta:focus{border-color:var(--cyan);box-shadow:var(--gcyan);}
.fta{min-height:120px;resize:vertical;}
.fs option{background:var(--surface);}
.btn-form{font-family:'Space Grotesk',monospace;font-size:.78rem;letter-spacing:3px;padding:14px 32px;background:transparent;border:1px solid var(--cyan);color:var(--cyan);cursor:pointer;width:100%;transition:all .3s;text-transform:uppercase;margin-top:8px;}
.btn-form:hover{background:var(--cyan);color:var(--bg);box-shadow:var(--gcyan);}
.btn-form.red{border-color:var(--red);color:var(--red);}
.btn-form.red:hover{background:var(--red);color:#fff;box-shadow:var(--gred);}

/* ═══════════════════════════════════
   MODAL (contact form toast)
═══════════════════════════════════ */
.toast{position:fixed;bottom:32px;right:32px;background:var(--card);border:1px solid var(--green);padding:16px 24px;z-index:900;font-family:'JetBrains Mono',monospace;font-size:.82rem;color:var(--green);box-shadow:var(--ggreen);transform:translateX(200%);transition:transform .4s ease;}
.toast.show{transform:translateX(0);}

/* ═══ SCROLL UP ═══ */
.scroll-up{position:fixed;bottom:32px;right:32px;z-index:600;width:40px;height:40px;background:rgba(0,245,255,.1);border:1px solid rgba(0,245,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;opacity:0;pointer-events:none;font-size:1rem;color:var(--cyan);}
.scroll-up.visible{opacity:1;pointer-events:all;}
.scroll-up:hover{background:rgba(0,245,255,.2);box-shadow:var(--gcyan);}

/* ═══════════════════════════════════
   GLOBAL POLISH — rounded, warmer, friendlier
═══════════════════════════════════ */
.card,.ethics-card,.ach-card,.why-card,.ra-card,.pub-card,.member-card,.add-card,
.collab-card,.cmap-card,.pillar,.ci-item,.contact-form,.admin-form-box,.admin-list-box,
.cust-section,.fmsg-avatar,.founder-highlight,.pw-box,.preview-bar,.admin-item,
.pw-change-box{border-radius:var(--r-lg);overflow:hidden;}
.pub-card{overflow:hidden;}
.toast{border-radius:var(--r-md);}
.hero-badge,.ptag,.mc-tag,.fh-tag,.pub-year-badge,.collab-type-badge{border-radius:var(--r-full);}
.fi,.fs,.fta,.color-hex,.pw-input,#formspree-id{border-radius:var(--r-sm);}
.btn,.btn-form,.pf-btn,.apply-btn,.ai-del,.mc-del,.pub-del,.pw-btn,.admin-close,.nav-admin-btn,
.mobile-admin-btn,.atab{border-radius:var(--r-sm);}
.tab-btn{border-radius:var(--r-sm) var(--r-sm) 0 0;}
.scroll-up,.nav-burger,.mdrawer-close,.fb-soc-btn,.ci-icon{border-radius:var(--r-md);}
.mc-avatar,.fh-avatar,.favatar-circle,.logo-box,.fb-logo-box,.mdrawer-logo-box{border-radius:var(--r-sm);}
.card:hover,.ethics-card:hover,.ach-card:hover,.why-card:hover,.ra-card:hover,.member-card:hover,
.pub-card:hover,.pillar:hover,.ci-item:hover,.collab-card:hover,.cmap-card:hover{
  box-shadow:var(--shadow-hover);
}
.card,.ethics-card,.ach-card,.why-card,.ra-card,.pub-card,.member-card,.collab-card,.cmap-card{
  box-shadow:var(--shadow-card);
}
/* unify hover lift across the different card variants so motion feels consistent */
.ra-card:hover,.member-card:hover,.ach-card:hover,.pub-card:hover,.collab-card:hover,.cmap-card:hover{
  transform:translateY(-8px);
}
.ra-card,.member-card{transition:transform .55s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .45s;}
.btn-primary,.btn-form{border-radius:var(--r-full);}
.btn-secondary{border-radius:var(--r-full);}
.mobile-drawer{border-radius:var(--r-xl) 0 0 var(--r-xl);}
.pub-card::before{border-radius:var(--r-full) 0 0 var(--r-full);}

/* Typography rhythm: generous line-height + breathing room between sections */
.vision-text p,.fmsg-content blockquote p,.founder-highlight p,.pillar-desc,.ec-desc,#facilities .why-desc,.why-desc{line-height:1.75;}
.section + .section,.section-header{margin-top:0;}
.section{padding:96px 40px;}

/* Responsive */
@media(max-width:900px){
  nav{padding:0 16px;grid-template-columns:auto auto;justify-content:space-between;}
  .nav-links{display:none;}
  .nav-admin-btn{display:none;}
  .nav-burger{display:flex;}
  .vision-layout,.fmsg-layout,.contact-layout,.admin-grid{grid-template-columns:1fr;}
  .section{padding:64px 20px;}
  .hero{padding:76px 20px 56px;}
  .hero-stats{gap:24px;}
  .founder-highlight{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .fh-tags{justify-content:center;}
  /* lighten costly effects on tablet/mobile for smoother scroll */
  .mobile-drawer{background-image:linear-gradient(180deg,rgba(7,15,28,.97),rgba(3,8,16,.97));box-shadow:-16px 0 40px rgba(0,0,0,.4);}
  .grid-bg{animation:none;opacity:.7;}
  #hero-canvas{opacity:.55;}
}

@media(max-width:600px){
  nav{height:58px;padding:0 14px;}
  .nav-logo{font-size:.82rem;letter-spacing:2px;gap:8px;}
  .logo-box{width:28px;height:28px;font-size:.65rem;}
  .page{padding-top:58px;}
  .section{padding:48px 18px;}
  .section-header{margin-bottom:36px;}
  .sdesc{font-size:.92rem;}
  .hero{min-height:auto;padding:64px 18px 48px;}
  .hero-badge{font-size:.62rem;padding:5px 14px;letter-spacing:2px;}
  .hero-sub{font-size:.95rem;}
  .hero-btns{gap:12px;}
  .btn{padding:13px 22px;font-size:.68rem;width:100%;max-width:280px;text-align:center;}
  .hero-stats{gap:16px 28px;}
  .stat-n{font-size:1.9rem;}
  .stat-l{font-size:.6rem;}
  .grid2,.grid3,.ethics-grid,.ach-grid,.why-grid,.research-areas-grid,.team-grid,.collab-map-grid{grid-template-columns:1fr;}
  .vision-layout,.fmsg-layout{gap:32px;}
  .fmsg-layout{grid-template-columns:1fr;}
  .fmsg-avatar{padding:24px;}
  .pillar{padding:16px;gap:12px;}
  .founder-highlight{padding:28px 20px;gap:20px;}
  .fh-avatar{width:80px;height:80px;font-size:1.5rem;}
  .fh-name{font-size:1.15rem;}
  .pub-title{padding-right:0;}
  .pub-year-badge{position:static;display:inline-block;margin-bottom:8px;}
  .pub-card{padding:22px;}
  .team-tabs{gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 auto 32px;flex-wrap:nowrap;}
  .tab-btn{padding:10px 14px;font-size:.68rem;white-space:nowrap;flex-shrink:0;}
  .collab-card{width:170px;padding:22px 14px;}
  .contact-form{padding:24px;}
  .admin-panel{padding:88px 18px 32px;}
  .admin-header{flex-wrap:wrap;gap:12px;}
  .admin-title{font-size:1.1rem;}
  .admin-tabs{gap:6px;}
  .atab{padding:8px 14px;font-size:.65rem;}
  .admin-form-box,.admin-list-box{padding:20px;}
  .admin-item{flex-wrap:wrap;}
  .customise-grid{gap:16px;}
  .cust-section{padding:18px;}
  .color-row{flex-wrap:wrap;}
  .footer-inner{padding:40px 20px 24px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .toast{left:16px;right:16px;bottom:16px;}
  .scroll-up{bottom:88px;right:16px;width:46px;height:46px;}
  .fb-soc-btn{width:44px;height:44px;}
  .btn{min-height:48px;display:flex;align-items:center;justify-content:center;}
  .orb{filter:blur(50px);}
  .hero-scanline,.grain{display:none;}
  .particle{animation-duration:20s !important;}
}

@media(max-width:380px){
  .hero-title{font-size:clamp(2rem,9vw,2.6rem);}
  .stat-n{font-size:1.6rem;}
  .hero-stats{gap:14px 20px;}
  .btn{width:100%;}
}

/* ═══════════════════════════════════
   PASSWORD GATE
═══════════════════════════════════ */
.pw-gate{position:fixed;inset:0;background:rgba(2,8,16,.98);z-index:2000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(10px);}
.pw-gate.visible{display:flex;}
.pw-gate.gone{display:none;}
.pw-box{background:var(--card);border:1px solid rgba(255,59,92,.4);padding:48px 40px;max-width:420px;width:90%;position:relative;box-shadow:0 0 60px rgba(255,59,92,.15);}
.pw-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red),var(--purple));}
.pw-title{font-family:'Space Grotesk',monospace;font-size:1.1rem;font-weight:900;color:var(--red);letter-spacing:3px;margin-bottom:6px;}
.pw-sub{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:2px;color:var(--dim);margin-bottom:28px;}
.pw-input{width:100%;background:var(--surface);border:1px solid var(--border2);color:var(--text);padding:14px 16px;font-family:'JetBrains Mono',monospace;font-size:1rem;outline:none;letter-spacing:4px;margin-bottom:16px;transition:border-color .3s;}
.pw-input:focus{border-color:var(--red);box-shadow:var(--gred);}
.pw-btn{width:100%;font-family:'Space Grotesk',monospace;font-size:.78rem;letter-spacing:3px;padding:14px;background:transparent;border:1px solid var(--red);color:var(--red);cursor:pointer;transition:all .3s;text-transform:uppercase;}
.pw-btn:hover{background:var(--red);color:#fff;box-shadow:var(--gred);}
.pw-err{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--red);margin-top:10px;display:none;letter-spacing:1px;}
.pw-hint{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--dim);margin-top:12px;text-align:center;}

/* ═══════════════════════════════════
   FOOTER
═══════════════════════════════════ */
.site-footer{background:var(--surface);border-top:1px solid var(--border);position:relative;overflow:hidden;z-index:2;}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green),var(--purple),var(--cyan));}
.footer-inner{max-width:1200px;margin:0 auto;padding:60px 40px 32px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-brand{}
.fb-logo{font-family:'Space Grotesk',monospace;font-size:1.1rem;font-weight:900;color:var(--cyan);text-shadow:var(--gcyan);letter-spacing:3px;display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.fb-logo-box{width:30px;height:30px;border:2px solid var(--cyan);display:flex;align-items:center;justify-content:center;font-size:.7rem;box-shadow:var(--gcyan);}
.fb-desc{font-size:.9rem;color:var(--dim);line-height:1.7;margin-bottom:20px;}
.fb-social{display:flex;gap:10px;}
.fb-soc-btn{width:36px;height:36px;background:rgba(0,245,255,.06);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;transition:all .3s;color:var(--dim);}
.fb-soc-btn:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:var(--gcyan);}
.footer-col{}
.fc-title{font-family:'Space Grotesk',monospace;font-size:.78rem;font-weight:700;color:#fff;letter-spacing:2px;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.fc-links{display:flex;flex-direction:column;gap:10px;}
.fc-link{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--dim);cursor:pointer;transition:color .3s;letter-spacing:1px;text-decoration:none;display:block;}
.fc-link:hover{color:var(--cyan);}
.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.fb-copy{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--dim);letter-spacing:1px;}
.fb-copy span{color:var(--cyan);}
.fb-status{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--dim);letter-spacing:1px;}
.status-pulse{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:var(--ggreen);animation:bd 1.5s ease-in-out infinite;}

/* ═══════════════════════════════════
   ADMIN – SITE CUSTOMISE TAB
═══════════════════════════════════ */
.customise-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.cust-section{background:var(--card);border:1px solid var(--border);padding:24px;position:relative;}
.cust-section::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--purple),var(--cyan));}
.cust-title{font-family:'Space Grotesk',monospace;font-size:.78rem;color:var(--purple);letter-spacing:2px;margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.cust-title .ct-icon{font-size:1rem;}
.color-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.color-label{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--dim);letter-spacing:1px;flex:1;}
.color-input{width:48px;height:32px;background:none;border:1px solid var(--border2);cursor:pointer;padding:2px;}
.color-hex{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--text);width:80px;background:var(--surface);border:1px solid var(--border2);padding:6px;outline:none;transition:border-color .3s;}
.color-hex:focus{border-color:var(--purple);}
.apply-btn{font-family:'Space Grotesk',monospace;font-size:.7rem;letter-spacing:2px;padding:10px 20px;background:transparent;border:1px solid var(--purple);color:var(--purple);cursor:pointer;transition:all .3s;text-transform:uppercase;margin-top:8px;}
.apply-btn:hover{background:rgba(123,47,255,.15);box-shadow:var(--gpurple);}
.apply-btn.full{width:100%;margin-top:16px;}
.pw-change-box{background:var(--card);border:1px solid var(--border);padding:24px;position:relative;margin-top:24px;}
.pw-change-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);}
.pw-change-title{font-family:'Space Grotesk',monospace;font-size:.78rem;color:var(--red);letter-spacing:2px;margin-bottom:16px;}
.preview-bar{background:var(--surface);border:1px solid var(--border);padding:16px;margin-top:12px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.preview-swatch{width:28px;height:28px;border-radius:3px;border:1px solid var(--border2);}

/* Edit-in-place indicator */
.editable{cursor:text;border-bottom:1px dashed rgba(0,245,255,.3);transition:all .3s;display:inline;}
.editable:hover{background:rgba(0,245,255,.06);}
.editable:focus{outline:none;border-bottom:1px solid var(--cyan);background:rgba(0,245,255,.08);}
.edit-mode-badge{position:fixed;top:72px;right:16px;background:rgba(123,47,255,.15);border:1px solid var(--purple);padding:6px 14px;font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:2px;color:var(--purple);z-index:400;display:none;}
.edit-mode-badge.on{display:block;}

@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .customise-grid{grid-template-columns:1fr;}
  .pw-box{padding:32px 24px;}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr;}
  .footer-inner{padding:40px 20px 24px;}
}

/* for chat box  */

/* ============ CHAT LAUNCHER ============ */
#cx-launcher{
  position:fixed; bottom:26px; right:80px; z-index:9999;
  width:60px; height:60px; border-radius:50%;
  background:linear-gradient(135deg, rgba(34,211,238,.18), rgba(167,139,250,.14));
  border:1px solid rgba(34,211,238,.4);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 8px 30px rgba(0,0,0,.5), var(--gcyan);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s;
  animation:cxPulse 3s ease-in-out infinite;
}
#cx-launcher:hover{ transform:scale(1.08) rotate(-4deg); }
#cx-launcher svg{ width:26px; height:26px; stroke:var(--cyan); }
@keyframes cxPulse{
  0%,100%{ box-shadow:0 8px 30px rgba(0,0,0,.5), 0 0 0 0 rgba(34,211,238,.25); }
  50%{ box-shadow:0 8px 30px rgba(0,0,0,.5), 0 0 0 10px rgba(34,211,238,0); }
}
#cx-launcher .cx-dot{
  position:absolute; top:2px; right:2px; width:12px; height:12px; border-radius:50%;
  background:var(--green); border:2px solid var(--bg); animation:cxBlink 2s infinite;
}
@keyframes cxBlink{ 0%,100%{opacity:1;} 50%{opacity:.35;} }

/* ============ CHAT PANEL ============ */
#cx-panel{
  position:fixed; bottom:100px; right:26px; z-index:9999;
  width:380px; max-width:calc(100vw - 32px); height:560px; max-height:calc(100vh - 140px);
  background:var(--surface); border:1px solid var(--border2); border-radius:var(--r-lg);
  display:flex; flex-direction:column; overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.6), var(--gcyan);
  opacity:0; transform:translateY(16px) scale(.97); pointer-events:none;
  transition:opacity .28s ease, transform .28s cubic-bezier(.34,1.56,.64,1);
}
#cx-panel.open{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }

.cx-head{
  padding:16px 18px; background:linear-gradient(120deg, rgba(34,211,238,.08), rgba(167,139,250,.06));
  border-bottom:1px solid var(--border); display:flex; align-items:center; gap:12px; flex-shrink:0;
}
.cx-avatar{
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg, rgba(34,211,238,.16), rgba(167,139,250,.14));
  border:1px solid rgba(34,211,238,.4); display:flex; align-items:center; justify-content:center;
  font-family:'Space Grotesk',monospace; font-weight:900; font-size:.85rem; color:var(--cyan);
}
.cx-head-info{ flex:1; min-width:0; }
.cx-head-title{ font-family:'Space Grotesk',monospace; font-size:.86rem; font-weight:700; color:#fff; letter-spacing:.5px; }
.cx-head-status{ font-family:'JetBrains Mono',monospace; font-size:.65rem; color:var(--green); letter-spacing:1px; display:flex; align-items:center; gap:5px; margin-top:2px; }
.cx-head-status::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 6px var(--green); }
#cx-close{ background:none; border:none; color:var(--dim); cursor:pointer; padding:6px; border-radius:6px; transition:all .2s; }
#cx-close:hover{ color:var(--red); background:rgba(242,98,110,.1); }

#cx-messages{
  flex:1; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:12px;
  scrollbar-width:thin; scrollbar-color:var(--card2) transparent;
}
#cx-messages::-webkit-scrollbar{ width:5px; }
#cx-messages::-webkit-scrollbar-thumb{ background:var(--card2); border-radius:10px; }

.cx-msg{ max-width:86%; font-size:.86rem; line-height:1.55; animation:cxIn .3s ease both; }
@keyframes cxIn{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
.cx-msg.bot{ align-self:flex-start; }
.cx-msg.user{ align-self:flex-end; }
.cx-bubble{ padding:10px 14px; border-radius:var(--r-md); }
.cx-msg.bot .cx-bubble{
  background:var(--card); border:1px solid var(--border); color:var(--text);
  border-top-left-radius:4px;
}
.cx-msg.user .cx-bubble{
  background:linear-gradient(120deg, rgba(34,211,238,.16), rgba(34,211,238,.08));
  border:1px solid rgba(34,211,238,.35); color:#fff; border-top-right-radius:4px;
}
.cx-msg .cx-src{
  font-family:'JetBrains Mono',monospace; font-size:.6rem; letter-spacing:1px; color:var(--dim2);
  margin-top:5px; padding-left:2px; text-transform:uppercase;
}

.cx-quick{ display:flex; flex-wrap:wrap; gap:7px; margin-top:2px; }
.cx-chip{
  font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.5px;
  padding:7px 12px; border-radius:var(--r-full); border:1px solid rgba(34,211,238,.3);
  background:rgba(34,211,238,.06); color:var(--cyan); cursor:pointer; transition:all .2s; text-transform:uppercase;
}
.cx-chip:hover{ background:rgba(34,211,238,.16); border-color:var(--cyan); transform:translateY(-1px); }

.cx-typing{ display:flex; gap:4px; padding:12px 14px; }
.cx-typing span{ width:6px; height:6px; border-radius:50%; background:var(--dim2); animation:cxTyp 1.2s infinite; }
.cx-typing span:nth-child(2){ animation-delay:.2s; }
.cx-typing span:nth-child(3){ animation-delay:.4s; }
@keyframes cxTyp{ 0%,60%,100%{ transform:translateY(0); opacity:.4; } 30%{ transform:translateY(-4px); opacity:1; } }

.cx-input-row{
  display:flex; align-items:center; gap:8px; padding:12px 14px; border-top:1px solid var(--border);
  background:var(--surface); flex-shrink:0;
}
#cx-input{
  flex:1; background:var(--card); border:1px solid var(--border); border-radius:var(--r-full);
  padding:10px 16px; color:var(--text); font-family:'Inter',sans-serif; font-size:.84rem; outline:none;
  transition:border-color .2s;
}
#cx-input:focus{ border-color:rgba(34,211,238,.5); }
#cx-send{
  width:38px; height:38px; border-radius:50%; flex-shrink:0; cursor:pointer;
  background:rgba(34,211,238,.12); border:1px solid rgba(34,211,238,.4);
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
#cx-send:hover{ background:rgba(34,211,238,.22); }
#cx-send svg{ width:16px; height:16px; stroke:var(--cyan); }

@media (max-width:480px){
  #cx-panel{ right:12px; bottom:88px; width:calc(100vw - 24px); height:calc(100vh - 160px); }
  #cx-launcher{ right:16px; bottom:16px; }
}

.ach-card {
    opacity: 1 !important;
}


/* for nav-logo  */
/* ═══ NAV ═══ */
.nav-logo{
  height:100%;
  padding:8px 0;
  box-sizing:border-box;
}
img.nav-logo-img{
  height:100%;
  width:auto;
  max-width:220px;
  object-fit:contain;
  display:block;
}
@media(max-width:900px){
  img.nav-logo-img{max-width:180px;}   /* tablet: burger menu চালু হবার পয়েন্ট */
}
@media(max-width:600px){
  .nav-logo{padding:6px 0;}
  img.nav-logo-img{max-width:140px;}   /* ছোট মোবাইল */
}
