/* ===== DESIGN TOKENS ===== */
:root {
  --bg-primary: #050508;
  --bg-secondary: #0a0a12;
  --bg-card: rgba(255,255,255,0.025);
  --bg-card-hover: rgba(255,255,255,0.06);
  --bg-glass: rgba(255,255,255,0.04);
  --accent: #E87A2D;
  --accent-light: #f5a623;
  --accent-dark: #c05d15;
  --accent-glow: rgba(232,122,45,0.35);
  --accent-gradient: linear-gradient(135deg, #E87A2D, #f5a623);
  --mars-red: #c1440e;
  --text-primary: #f0f0f5;
  --text-secondary: rgba(240,240,245,0.55);
  --text-muted: rgba(240,240,245,0.3);
  --border-subtle: rgba(255,255,255,0.06);
  --border-accent: rgba(232,122,45,0.3);
  --font-heading: 'Outfit', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --container-width: 1200px;
  --transition-fast: 0.2s cubic-bezier(0.4,0,0.2,1);
  --transition-base: 0.4s cubic-bezier(0.4,0,0.2,1);
  --transition-slow: 0.8s cubic-bezier(0.4,0,0.2,1);
  --glow-sm: 0 0 20px rgba(232,122,45,0.15);
  --glow-md: 0 0 40px rgba(232,122,45,0.25);
  --glow-lg: 0 0 80px rgba(232,122,45,0.3);
  --card-radius: 20px;
}

/* ===== RESET ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
button,input,select,textarea{cursor:pointer}
.container{max-width:var(--container-width);margin:0 auto;padding:0 24px}



/* ===== SCROLL PROGRESS ===== */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent-gradient);z-index:10001;transition:width .1s linear;box-shadow:0 0 10px var(--accent-glow)}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg-primary)}
::-webkit-scrollbar-thumb{background:var(--accent);border-radius:3px}

@media (max-width: 768px) {
  ::-webkit-scrollbar {
    display: none;
  }
  body {
    scrollbar-width: none;     /* Firefox */
    -ms-overflow-style: none;  /* old Edge */
  }
}



::selection{background:var(--accent);color:var(--bg-primary)}

/* ===== PRELOADER ===== */
.preloader{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;transition:opacity .8s ease,visibility .8s ease}
.preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.preloader-rover{width:120px;height:80px;position:relative;animation:rover-drive 2s ease-in-out infinite}
.preloader-rover svg{width:100%;height:100%}
.preloader-text{margin-top:24px;font-family:var(--font-heading);font-size:1.2rem;letter-spacing:6px;text-transform:uppercase;color:var(--accent);animation:flicker 2s ease-in-out infinite}
.preloader-bar{width:200px;height:2px;background:rgba(255,255,255,0.1);margin-top:20px;border-radius:1px;overflow:hidden}
.preloader-bar-fill{width:0;height:100%;background:var(--accent-gradient);border-radius:1px;animation:loading-bar 2s ease-in-out forwards}

@keyframes rover-drive{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-5px) rotate(-1deg)}50%{transform:translateY(-2px) rotate(1deg)}75%{transform:translateY(-6px) rotate(-0.5deg)}}
@keyframes flicker{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes loading-bar{0%{width:0}100%{width:100%}}

/* ===== PARALLAX STARS ===== */
#star-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}
.parallax-dust{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}

/* ===== SPACE & ROVER ELEMENTS ===== */
.space-asset{position:absolute;pointer-events:none;z-index:0;opacity:0.6; will-change: transform}
.satellite-1{width:150px;height:150px;top:10%;right:5%;animation:float-asset-1 20s ease-in-out infinite}
.drone-2{width:120px;height:120px;bottom:15%;left:2%;animation:float-asset-2 15s ease-in-out infinite}
.rock-3{width:60px;height:60px;background:var(--mars-red);clip-path:polygon(30% 0%, 70% 20%, 100% 50%, 80% 90%, 20% 100%, 0% 60%, 10% 20%);top:65%;right:8%;animation:float-asset-3 25s linear infinite}
.rock-4{width:40px;height:40px;background:rgba(232,122,45,0.4);clip-path:polygon(20% 10%, 80% 0%, 100% 40%, 70% 100%, 10% 90%, 0% 50%);top:30%;left:10%;animation:float-asset-3 30s linear infinite reverse}
.rock-5{width:80px;height:80px;background:rgba(232,122,45,0.2);clip-path:polygon(50% 0%, 100% 30%, 80% 100%, 20% 90%, 0% 40%);bottom:25%;right:15%;animation:float-asset-3 40s linear infinite}
.rock-6{width:30px;height:30px;background:var(--accent);clip-path:polygon(40% 0%, 100% 20%, 90% 80%, 30% 100%, 0% 60%);top:45%;left:25%;animation:float-asset-3 20s linear infinite}
.rock-7{width:50px;height:50px;background:rgba(108,58,237,0.3);clip-path:polygon(10% 10%, 90% 20%, 80% 90%, 20% 80%);top:80%;left:40%;animation:float-asset-3 35s linear infinite reverse}
.rover-arm{width:200px;height:200px;top:20%;right:-50px;animation:float-asset-1 18s ease-in-out infinite; opacity: 0.3}
@keyframes float-asset-1{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(-30px,40px) rotate(10deg)}}
@keyframes float-asset-2{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(40px,-20px) rotate(-15deg)}}
@keyframes float-asset-3{0%{transform:translate(0,0) rotate(0deg)}100%{transform:translate(-30vw,-60vh) rotate(360deg)}}

/* ===== NAVBAR ===== */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 0;transition:var(--transition-base)}
.navbar.scrolled{padding:12px 0;background:rgba(5,5,8,0.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border-subtle)}
.nav-container{max-width:var(--container-width);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:12px;z-index:1001}
.nav-logo img{width:40px;height:40px;border-radius:50%;object-fit:cover;transition:var(--transition-base)}
.nav-logo:hover img{filter:drop-shadow(0 0 12px var(--accent-glow));transform:rotate(10deg)}
.nav-logo-text{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;letter-spacing:3px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{font-family:var(--font-heading);font-size:.8rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);position:relative;transition:var(--transition-fast);padding:4px 0}
.nav-links a::after{content:'';position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:var(--accent-gradient);transition:var(--transition-base);border-radius:1px;transform:translateX(-50%)}
.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.hamburger{display:none;flex-direction:column;gap:6px;cursor:pointer;z-index:1001;padding:4px}
.hamburger span{width:26px;height:2px;background:var(--text-primary);transition:var(--transition-base);border-radius:2px;transform-origin:center}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,6px)}
.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}

/* =======  PORTAL ===== */
.nav-links a.nav-portal-link,.mobile-menu-links a.nav-portal-link{color:var(--accent-light)}
.nav-links a.nav-portal-link::after,.mobile-menu-links a.nav-portal-link::after{background:var(--accent-gradient)}

/* ===== MOBILE MENU ===== */
.mobile-menu{position:fixed;inset:0;background:rgba(5,5,8,0.97);backdrop-filter:blur(30px);display:flex;align-items:center;justify-content:center;z-index:999;opacity:0;visibility:hidden;transition:var(--transition-base)}
.mobile-menu.active{opacity:1;visibility:visible}
.mobile-menu-links{display:flex;flex-direction:column;align-items:center;gap:24px;max-height:85vh;overflow-y:auto;padding:20px 0}
.mobile-menu-links a{font-family:var(--font-heading);font-size:2rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--text-secondary);transition:var(--transition-base);transform:translateY(30px);opacity:0}
.mobile-menu.active .mobile-menu-links a{transform:translateY(0);opacity:1}
.mobile-menu-links a:nth-child(1){transition-delay:.05s}
.mobile-menu-links a:nth-child(2){transition-delay:.1s}
.mobile-menu-links a:nth-child(3){transition-delay:.15s}
.mobile-menu-links a:nth-child(4){transition-delay:.2s}
.mobile-menu-links a:nth-child(5){transition-delay:.25s}
.mobile-menu-links a:nth-child(6){transition-delay:.3s}
.mobile-menu-links a:nth-child(7){transition-delay:.35s}
.mobile-menu-links a:nth-child(8){transition-delay:.4s}
.mobile-menu-links a:hover{color:var(--accent);text-shadow:0 0 30px var(--accent-glow)}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;z-index:1}
.hero-bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(232,122,45,0.1) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 20% 80%,rgba(108,58,237,0.05) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(232,122,45,0.05) 0%,transparent 50%);z-index:0}
.hero-content{position:relative;z-index:2;max-width:850px;padding:0 24px}
.hero-logo{width:150px;height:150px;margin:0 auto 28px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 0 50px rgba(232,122,45,0.4));animation:hero-float 6s ease-in-out infinite}
@keyframes hero-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.03)}}

/* Glitch title */
.hero-title{font-family:var(--font-heading);font-size:clamp(3.5rem,8vw,6.5rem);font-weight:900;letter-spacing:8px;text-transform:uppercase;line-height:1.05;margin-bottom:12px;position:relative;animation:title-reveal 1.5s ease forwards}
.hero-title .char{display:inline-block;opacity:0;transform:translateY(60px) rotateX(-90deg);animation:char-reveal .6s cubic-bezier(.23,1,.32,1) forwards}
@keyframes char-reveal{to{opacity:1;transform:translateY(0) rotateX(0)}}
.hero-title-glitch{position:relative;display:inline-block}
.hero-title-glitch::before,.hero-title-glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}
.hero-title-glitch::before{color:#FF9933;clip-path:polygon(0 0,100% 0,100% 33%,0 33%);animation:glitch-1 4s infinite linear alternate-reverse}
.hero-title-glitch::after{color:#138808;clip-path:polygon(0 67%,100% 67%,100% 100%,0 100%);animation:glitch-2 4s infinite linear alternate-reverse}
@keyframes glitch-1{0%,90%{transform:translate(0)}92%{transform:translate(-3px,1px)}94%{transform:translate(3px,-1px)}96%{transform:translate(-2px,2px)}98%{transform:translate(2px,-2px)}100%{transform:translate(0)}}
@keyframes glitch-2{0%,90%{transform:translate(0)}91%{transform:translate(2px,1px)}93%{transform:translate(-3px,-1px)}95%{transform:translate(3px,2px)}97%{transform:translate(-2px,-2px)}100%{transform:translate(0)}}

.hero-tagline{font-family:var(--font-heading);font-size:clamp(.9rem,2.2vw,1.3rem);font-weight:400;color:var(--accent);letter-spacing:5px;text-transform:uppercase;margin-bottom:32px;opacity:0;animation:fade-up .8s ease .8s forwards}
.hero-subtitle{font-size:1rem;color:var(--text-secondary);max-width:580px;margin:0 auto 44px;line-height:1.9;opacity:0;animation:fade-up .8s ease 1s forwards}
@keyframes fade-up{to{opacity:1;transform:translateY(0)}}
.hero-subtitle{transform:translateY(20px)}
.hero-tagline{transform:translateY(20px)}
.hero-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fade-up .8s ease 1.2s forwards;transform:translateY(20px)}

/* Rover animation in hero */
.hero-rover-track{position:absolute;bottom:0;left:0;right:0;height:120px;z-index:1;overflow:hidden;opacity:.3}
.rover-silhouette{position:absolute;bottom:20px;animation:rover-cross 20s linear infinite}
.rover-silhouette svg{width:80px;height:40px;fill:var(--accent);opacity:.4}
@keyframes rover-cross{0%{left:-100px}100%{left:calc(100% + 100px)}}
.rover-tracks{position:absolute;bottom:15px;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,transparent,transparent 8px,rgba(232,122,45,0.08) 8px,rgba(232,122,45,0.08) 12px)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 38px;font-family:var(--font-heading);font-size:.82rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;border-radius:60px;cursor:pointer;transition:var(--transition-base);border:none;position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(255,255,255,0.15),transparent 60%);opacity:0;transition:opacity .3s}
.btn:hover::before{opacity:1}
.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--glow-sm)}
.btn-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--glow-lg)}
.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border-accent)}
.btn-outline:hover{background:rgba(232,122,45,0.1);border-color:var(--accent);transform:translateY(-4px)}

.hero-scroll-indicator{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:bounce-scroll 2.5s ease-in-out infinite}
.hero-scroll-indicator span{font-size:.65rem;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted)}
.scroll-line{width:1px;height:45px;background:linear-gradient(180deg,var(--accent),transparent);position:relative;overflow:hidden}
.scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:50%;background:linear-gradient(180deg,transparent,#fff);animation:scroll-drop 2s ease-in-out infinite}
@keyframes scroll-drop{0%{top:-100%}100%{top:200%}}
@keyframes bounce-scroll{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(12px)}}

/* ===== SECTION COMMON ===== */
.section{position:relative;padding:80px 0;z-index:1;overflow:hidden}
.section-header{text-align:center;margin-bottom:80px}
.section-label{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:5px;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:block;opacity:.8}
.section-label::before{content:'// '}
.section-title{font-family:var(--font-heading);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;line-height:1.15;margin-bottom:20px}
.section-desc{font-size:1rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.8}
.section-divider{width:50px;height:3px;background:var(--accent-gradient);margin:0 auto 20px;border-radius:2px;position:relative}
.section-divider::after{content:'';position:absolute;top:50%;left:50%;width:8px;height:8px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);box-shadow:var(--glow-sm)}

/* Mars terrain divider between sections */
.terrain-divider{width:100%;height:60px;position:relative;overflow:hidden;z-index:1}
.terrain-divider svg{width:100%;height:100%;fill:var(--bg-primary)}

/* ===== ABOUT ===== */
.about{background:radial-gradient(ellipse 50% 50% at 0% 50%,rgba(232,122,45,0.04) 0%,transparent 70%)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.about-text h3{font-family:var(--font-heading);font-size:1.7rem;font-weight:700;margin-bottom:20px;line-height:1.3}
.about-text h3 span{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-text p{color:var(--text-secondary);margin-bottom:20px;font-size:.93rem}
.about-mission-vision{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.mv-card{padding:24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--card-radius);transition:var(--transition-base);position:relative;overflow:hidden}
.mv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-gradient);transform:scaleX(0);transition:transform .5s ease;transform-origin:left}
.mv-card:hover::before{transform:scaleX(1)}
.mv-card:hover{background:var(--bg-card-hover);border-color:var(--border-accent);transform:translateY(-4px)}
.mv-card h4{font-family:var(--font-heading);font-size:.9rem;font-weight:600;color:var(--accent);margin-bottom:10px;letter-spacing:1.5px;text-transform:uppercase}
.mv-card p{font-size:.83rem;color:var(--text-secondary);line-height:1.7;margin-bottom:0}

/* Stats */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.stat-card{padding:36px 24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--card-radius);text-align:center;transition:var(--transition-base);position:relative;overflow:hidden}
.stat-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--accent-glow),transparent 70%);opacity:0;transition:opacity .5s}
.stat-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--glow-md)}
.stat-card:hover::after{opacity:1}
.stat-card>*{position:relative;z-index:1}
.stat-number{font-family:var(--font-heading);font-size:3.2rem;font-weight:900;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:8px}
.stat-label{font-size:.75rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-muted);font-weight:500}

/* ===== SUBSYSTEMS ===== */
.subsystems{background:radial-gradient(ellipse 50% 50% at 100% 50%,rgba(232,122,45,0.03) 0%,transparent 70%); position:relative; overflow:hidden; padding-bottom:60px}
.projects{padding-top:60px}
.subsystems-bg-visuals{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;}
.subsystems-bg-visuals::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom, var(--bg-primary) 0%, rgba(5,5,8,0.6) 20%, rgba(5,5,8,0.6) 80%, var(--bg-primary) 100%); z-index:1; pointer-events:none}
.bg-visual{position:absolute;inset:0;opacity:0;transition:opacity 0.8s ease, transform 12s ease-out; background-size:cover; background-position:center; filter: grayscale(80%) sepia(40%) hue-rotate(330deg) brightness(0.3); transform: scale(1.1)}
.bg-visual.active{opacity:1; transform: scale(1)}
.visual-embedded{background-image: url('https://images.unsplash.com/photo-1518770660439-4636190af475?q=80&w=2000&auto=format&fit=crop')}
.visual-software{background-image: url('https://images.unsplash.com/photo-1542831371-29b0f74f9713?q=80&w=2000&auto=format&fit=crop'); filter: grayscale(100%) brightness(0.25) hue-rotate(250deg);}
.visual-mechanical{background-image: url('https://images.unsplash.com/photo-1581092160562-40aa08e78837?q=80&w=2000&auto=format&fit=crop'); filter: grayscale(60%) brightness(0.2) sepia(40%) hue-rotate(340deg);}
.visual-media{background-image: url('https://images.unsplash.com/photo-1516035069371-29a1b244cc32?q=80&w=2000&auto=format&fit=crop'); filter: grayscale(50%) brightness(0.25) sepia(20%) hue-rotate(250deg);}
.relative-z{position:relative; z-index:2}
.subsystems-grid, .projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.projects-grid{margin-top:40px}
.subsystem-card, .project-card{padding:44px 28px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--card-radius);text-align:center;transition:var(--transition-base);position:relative;overflow:hidden;cursor:pointer}
.subsystem-card::before, .project-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,var(--accent),transparent 30%);opacity:0;transition:opacity .5s;animation:rotate-border 4s linear infinite}
.subsystem-card::after, .project-card::after{content:'';position:absolute;inset:1px;background:var(--bg-secondary);border-radius:calc(var(--card-radius) - 1px);z-index:0}
.subsystem-card:hover::before, .project-card:hover::before{opacity:.3}
.subsystem-card:hover, .project-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:var(--glow-md)}
.project-card.active{border-color:var(--accent);box-shadow:var(--glow-md)}
.project-card.active::before{opacity:.3}
@keyframes rotate-border{to{transform:rotate(360deg)}}
.subsystem-card>*, .project-card>*{position:relative;z-index:1}
.subsystem-icon, .project-icon{width:72px;height:72px;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;border-radius:20px;background:rgba(232,122,45,0.08);border:1px solid rgba(232,122,45,0.12);font-size:2rem;color:var(--accent);transition:var(--transition-base)}
.subsystem-icon svg, .project-icon svg{color:var(--accent);stroke:var(--accent)}
.subsystem-card:hover .subsystem-icon, .project-card:hover .project-icon{background:rgba(232,122,45,0.18);transform:scale(1.15) rotate(5deg);box-shadow:var(--glow-sm)}
.subsystem-card h3, .project-card h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;margin-bottom:12px}
.subsystem-card p, .project-card p{font-size:.83rem;color:var(--text-secondary);line-height:1.7}
.learn-more-btn{font-size:0.8rem;font-weight:600;color:var(--accent);margin-top:18px;transition:var(--transition-base);text-transform:uppercase;letter-spacing:1px}
.project-card:hover .learn-more-btn{color:var(--text-main);transform:translateX(3px)}

/* Subsystem Expanded Details */
.subsystem-details-container, .project-details-container {
  margin-top: 40px;
  position: relative;
  width: 100%;
}
.details-pane, .project-details-pane {
  display: none;
  width: 100%;
  padding: 40px;
  background: var(--bg-card);
  border: 1px solid var(--border-accent);
  border-radius: var(--card-radius);
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  box-shadow: var(--glow-md);
  backdrop-filter: blur(12px);
  z-index: 5;
}
.details-pane.active, .project-details-pane.active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.details-title {
  font-family: var(--font-heading);
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 12px;
}
.details-title span {
  color: var(--accent);
}
.details-desc {
  font-size: 1.05rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 24px;
  max-width: 800px;
}
.details-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  list-style: none;
}
.details-list li {
  font-size: 0.95rem;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255,255,255,0.03);
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 2px solid var(--accent);
}
.details-list li span {
  color: var(--accent);
  font-size: 1.2rem;
}

/* ===== COMPETITIONS ===== */
.competitions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.competition-card{padding:44px 24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--card-radius);text-align:center;transition:var(--transition-base);position:relative;overflow:hidden;cursor:pointer}
.competition-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-gradient);transform:scaleX(0);transition:transform .5s ease;transform-origin:left;z-index:2}
.competition-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--accent-glow),transparent 70%);opacity:0;transition:opacity .5s;z-index:0}
.competition-card:hover::before{transform:scaleX(1)}
.competition-card:hover::after{opacity:1}
.competition-card:hover{transform:translateY(-6px) scale(1.02);border-color:var(--border-accent);background:var(--bg-card-hover);box-shadow:var(--glow-md)}
.competition-card > *{position:relative;z-index:1}
.competition-card.comp-active{border-color:var(--accent);box-shadow:var(--glow-md)}
.competition-card.comp-active::before{transform:scaleX(1)}
.competition-card.comp-active::after{opacity:1}
.competition-badge{width:88px;height:88px;margin:0 auto 22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.3rem;font-weight:800;letter-spacing:1px;background:rgba(232,122,45,0.08);border:2px solid rgba(232,122,45,0.15);color:var(--accent);transition:var(--transition-base);position:relative}
.competition-badge::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px dashed rgba(232,122,45,0.2);animation:spin-slow 10s linear infinite}
@keyframes spin-slow{to{transform:rotate(360deg)}}
.competition-card:hover .competition-badge{background:rgba(232,122,45,0.2);box-shadow:var(--glow-md);transform:scale(1.1)}
.competition-card h3{font-family:var(--font-heading);font-size:1rem;font-weight:600;margin-bottom:8px;letter-spacing:1px}
.competition-card p{font-size:.8rem;color:var(--text-secondary);line-height:1.6;margin-bottom:18px}
.competition-card .btn{padding:8px 22px;font-size:.68rem}

/* ===== TEAM ===== */
.team{background:radial-gradient(ellipse 50% 40% at 50% 0%,rgba(232,122,45,0.04) 0%,transparent 70%)}
.team-category{margin-bottom:80px}.team-category:last-child{margin-bottom:0}
.team-category-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;text-align:center;margin-bottom:44px;color:var(--text-secondary);position:relative}
.team-category-title::after{content:'';display:block;width:40px;height:2px;background:var(--accent-gradient);margin:14px auto 0;border-radius:1px}

/* Advisors Section */
.advisors-section {
  text-align: center;
  margin-bottom: 20px;
  padding: 50px 0 30px;
}
.advisors-title {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-bottom: 10px;
}
.advisors-subtitle {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-bottom: 40px;
}
.advisors-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.advisor-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--card-radius);
  padding: 30px 20px 24px;
  text-align: center;
  transition: var(--transition-base);
  position: relative;
  overflow: hidden;
}
.advisor-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--accent-gradient);
  transform: scaleX(0);
  transition: transform .5s ease;
  transform-origin: left;
}
.advisor-card:hover::before { transform: scaleX(1); }
.advisor-card:hover {
  transform: translateY(-6px);
  border-color: var(--border-accent);
  box-shadow: var(--glow-md);
}
.advisor-photo {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 16px;
  display: block;
  border: 2px solid rgba(232,122,45,0.2);
  transition: var(--transition-base);
}
.advisor-card:hover .advisor-photo {
  border-color: var(--accent);
  box-shadow: 0 0 20px rgba(232,122,45,0.15);
}
.advisor-card h4 {
  font-family: var(--font-heading);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 6px;
}
.advisor-role {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--accent);
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.advisor-domain {
  font-size: 0.72rem;
  color: var(--text-muted);
  letter-spacing: 0.5px;
  font-family: var(--font-mono);
}
/* Batch Tabs */
.batch-tabs{display:flex;justify-content:center;gap:12px;margin-bottom:60px;position:relative;z-index:10}
.batch-tab{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:14px 28px;border-radius:30px;font-family:var(--font-heading);font-size:1rem;font-weight:600;letter-spacing:1px;cursor:pointer;transition:var(--transition-base);display:flex;align-items:center;gap:10px}
.batch-tab:hover{background:var(--bg-card-hover);color:var(--text-main);border-color:var(--border-accent)}
.batch-tab.active{background:rgba(232,122,45,0.1);color:var(--accent);border-color:var(--accent);box-shadow:var(--glow-sm)}
.batch-badge{background:var(--accent);color:#0a0a0a;font-size:0.65rem;padding:3px 8px;border-radius:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.batch-panel{display:none;animation:fade-in 0.4s ease}
.batch-panel.active{display:block}
@keyframes fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* LinkedIn Linked Cards */
.team-link{text-decoration:none;display:block;color:inherit}
.linkedin-hint{position:absolute;top:16px;right:16px;background:rgba(255,255,255,0.1);backdrop-filter:blur(4px);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:0;transform:translateY(10px);transition:all 0.3s cubic-bezier(0.175,0.885,0.32,1.275);border:1px solid rgba(255,255,255,0.05)}
.team-card:hover .linkedin-hint{opacity:1;transform:translateY(0);color:#fff;background:#0a66c2;border-color:#0a66c2;box-shadow:0 4px 12px rgba(10,102,194,0.4)}

.leaders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;max-width:1000px;margin:0 auto}
.members-grid{display:grid;grid-template-colu/* ===== ACHIEVEMENTS (horizontal scroll) ===== */
.achv-scroll-wrap{position:relative;display:flex;align-items:center;gap:12px}
.achv-scroll{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:10px 4px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.achv-scroll::-webkit-scrollbar{display:none}
.achv-card{flex:0 0 clamp(240px,75vw,320px);scroll-snap-align:center;border-radius:var(--card-radius);overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-card)}
.achv-img{width:100%;aspect-ratio:16/9;overflow:hidden}
.achv-img img{width:100%;height:100%;object-fit:cover;display:block}
.achv-caption{padding:18px 20px 22px;border-top:1px solid var(--border-subtle)}
.achv-caption h4{font-family:var(--font-heading);font-size:1.05rem;margin-bottom:6px;color:var(--text-primary)}
.achv-caption p{font-size:.9rem;color:var(--text-secondary);margin:0}
.achv-arrow{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:rgba(5,5,8,0.5);border:1px solid var(--border-subtle);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}
.achv-arrow:hover{background:rgba(232,122,45,0.3);color:var(--accent-light)}
@media (max-width:768px){.achv-arrow{display:none}}mns:repeat(auto-fill,minmax(150px,1fr));gap:20px}

.team-card{text-align:center;padding:28px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--card-radius);transition:var(--transition-base);display:block;position:relative;overflow:hidden}
.team-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(232,122,45,0.08),transparent 60%);opacity:0;transition:opacity .4s}
.team-card:hover{transform:translateY(-8px);border-color:var(--border-accent);box-shadow:var(--glow-sm)}
.team-card:hover::before{opacity:1}
.team-avatar{width:90px;height:90px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,rgba(232,122,45,0.15),rgba(232,122,45,0.05));border:2px solid rgba(232,122,45,0.12);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--accent);overflow:hidden;transition:var(--transition-base)}
.team-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.team-card:hover .team-avatar{border-color:var(--accent);box-shadow:0 0 25px rgba(232,122,45,0.3);transform:scale(1.06)}
.team-card h4{font-family:var(--font-heading);font-size:.88rem;font-weight:600;margin-bottom:4px}
.team-card .role{font-size:.73rem;color:var(--accent);letter-spacing:1.5px;text-transform:uppercase;font-weight:500;margin-bottom:2px}
.team-card .dept{font-size:.73rem;color:var(--text-muted)}
.team-card .linkedin-icon{display:inline-block;margin-top:10px;color:var(--text-muted);font-size:.78rem;transition:var(--transition-fast)}
.team-card:hover .linkedin-icon{color:#0a66c2}
.team-card.member-card{padding:20px 12px}
.team-card.member-card .team-avatar{width:70px;height:70px;font-size:1.2rem}
.team-card.member-card h4{font-size:.78rem}

/* ===== ACHIEVEMENTS (VERTICAL TIMELINE) ===== */
.timeline-container {
  position: relative;
  max-width: 1000px;
  margin: 60px auto 100px;
  padding: 20px 0;
  display: flex;
  flex-direction: column;
}

/* Central vertical line */
.timeline-line {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, var(--accent) 0%, var(--accent-light) 50%, var(--mars-red) 100%);
  transform: translateX(-50%);
  box-shadow: 0 0 15px var(--accent-glow);
  z-index: 1;
}

/* Timeline items */
.timeline-item {
  display: flex;
  position: relative;
  width: 50%;
  margin-bottom: 60px;
  z-index: 2;
  transition: var(--transition-base);
}

.timeline-item[data-side="left"] {
  align-self: flex-start;
  justify-content: flex-end;
  padding-right: 48px;
}

.timeline-item[data-side="right"] {
  align-self: flex-end;
  justify-content: flex-start;
  padding-left: 48px;
}

/* Floating Badges on the Line */
.timeline-badge {
  position: absolute;
  top: 30px;
  width: 90px;
  height: 36px;
  background: var(--bg-secondary);
  border: 2px solid var(--accent);
  color: var(--accent);
  border-radius: 20px;
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 15px var(--accent-glow);
  z-index: 3;
}

.timeline-item[data-side="left"] .timeline-badge {
  right: -45px;
}

.timeline-item[data-side="right"] .timeline-badge {
  left: -45px;
}

/* Card Styling */
.timeline-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--card-radius);
  overflow: hidden;
  transition: var(--transition-base);
  width: 100%;
  max-width: 440px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
}

.timeline-card:hover {
  transform: translateY(-8px);
  border-color: var(--border-accent);
  box-shadow: var(--glow-md);
}

/* Image Showcase */
.timeline-img {
  width: 100%;
  height: 200px;
  position: relative;
  overflow: hidden;
}

.timeline-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.timeline-card:hover .timeline-img img {
  transform: scale(1.1);
}

.img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 30%, rgba(5, 5, 8, 0.8) 100%);
  z-index: 1;
}

/* Card Body */
.timeline-card-body {
  padding: 24px;
  position: relative;
  z-index: 2;
}

.timeline-chapter {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--accent);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.timeline-title {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: 12px;
  line-height: 1.25;
  color: var(--text-primary);
}

.timeline-text {
  font-size: 0.88rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 20px;
}

.timeline-decor {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--accent-light);
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(232, 122, 45, 0.1);
  padding: 4px 12px;
  border-radius: 12px;
  border: 1px solid rgba(232, 122, 45, 0.15);
}


/* Dust Effects & GSAP Helpers */
.martian-dust{position:absolute;bottom:0;left:0;width:100%;height:30%;background:linear-gradient(to top, rgba(232,122,45,0.15), transparent);pointer-events:none;z-index:1;filter:blur(20px)}


/* ===== PARTNERS ===== */
.partners-tier-label {
  font-family: var(--font-heading);
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-align: center;
  color: var(--text-secondary);
  margin-bottom: 28px;
  position: relative;
}
.partners-tier-label::after {
  content: '';
  display: block;
  width: 30px;
  height: 2px;
  background: var(--accent-gradient);
  margin: 10px auto 0;
  border-radius: 1px;
}
.partners-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:24px;align-items:stretch}
.partners-grid-top{grid-template-columns:repeat(2, 1fr);max-width:600px;margin:0 auto;margin-bottom:0}
.partner-logo{padding:24px 20px;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--card-radius);transition:var(--transition-base);display:flex;align-items:center;justify-content:center;min-height:100px}
.partner-logo img{max-height:60px;max-width:100%;object-fit:contain;display:block}
.partner-logo-lg{min-height:120px;padding:28px 24px}
.partner-logo-lg img{max-height:80px}
.partner-logo:hover{border-color:var(--border-accent);transform:translateY(-5px) scale(1.03);box-shadow:var(--glow-sm)}
.partner-logo span{font-family:var(--font-heading);font-size:.88rem;font-weight:600;color:var(--text-secondary);letter-spacing:1px}

/* ===== CONTACT ===== */
.contact{background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(232,122,45,0.06) 0%,transparent 70%)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.contact-info h3{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;margin-bottom:20px}
.contact-info h3 span{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.contact-info>p{color:var(--text-secondary);margin-bottom:32px;font-size:.93rem}
.contact-details{display:flex;flex-direction:column;gap:20px;margin-bottom:36px}
.contact-item{display:flex;align-items:center;gap:16px;padding:12px;border-radius:12px;transition:var(--transition-base)}
.contact-item:hover{background:rgba(255,255,255,0.02)}
.contact-item-icon{width:48px;height:48px;border-radius:14px;background:rgba(232,122,45,0.08);border:1px solid rgba(232,122,45,0.12);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;transition:var(--transition-base)}
.contact-item:hover .contact-item-icon{background:rgba(232,122,45,0.15);transform:scale(1.05)}
.contact-item-text h4{font-family:var(--font-heading);font-size:.83rem;font-weight:600;margin-bottom:2px}
.contact-item-text p{font-size:.83rem;color:var(--text-muted);margin-bottom:0}
.social-links{display:flex;gap:12px}
.social-link{width:48px;height:48px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:1.15rem;transition:var(--transition-base);cursor:pointer}
.social-link:hover{background:rgba(232,122,45,0.12);border-color:var(--accent);color:var(--accent);transform:translateY(-4px) rotate(5deg);box-shadow:var(--glow-sm)}

/* Join Form */
.join-form{padding:44px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--card-radius);backdrop-filter:blur(10px);position:relative;overflow:hidden}
.join-form::before{content:'';position:absolute;top:-1px;left:0;right:0;height:3px;background:var(--accent-gradient)}
.join-form h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:600;margin-bottom:8px}
.join-form>p{color:var(--text-muted);font-size:.83rem;margin-bottom:28px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:.75rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;font-family:var(--font-mono)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 16px;background:rgba(255,255,255,0.025);border:1px solid var(--border-subtle);border-radius:12px;color:var(--text-primary);font-family:var(--font-body);font-size:.88rem;transition:var(--transition-fast);outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,122,45,0.1),var(--glow-sm)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}
.form-group select option{background:var(--bg-secondary);color:var(--text-primary)}
.form-group textarea{resize:vertical;min-height:80px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.join-form .btn{width:100%;justify-content:center;margin-top:8px}

/* ===== FOOTER ===== */
.footer{position:relative;z-index:1;padding:72px 0 32px;border-top:1px solid var(--border-subtle);background:rgba(5,5,8,0.9)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand{display:flex;flex-direction:column;gap:16px}
.footer-brand .nav-logo{margin-bottom:4px}
.footer-brand p{font-size:.83rem;color:var(--text-secondary);line-height:1.7;max-width:300px}
.footer-col h4{font-family:var(--font-heading);font-size:.82rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:20px;color:var(--text-primary)}
.footer-col a{display:block;font-size:.83rem;color:var(--text-secondary);margin-bottom:10px;transition:var(--transition-fast);padding-left:0}
.footer-col a:hover{color:var(--accent);padding-left:6px}
.footer-bottom{padding-top:32px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}
.footer-bottom p{font-size:.78rem;color:var(--text-muted)}
.footer-bottom-links a{font-size:.78rem;color:var(--text-muted);transition:var(--transition-fast)}
.footer-bottom-links a:hover{color:var(--accent)}

/* ===== SCROLL ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1); will-change: transform, opacity}
.reveal.revealed{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}
.reveal-left{opacity:0;transform:translateX(-30px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1); will-change: transform, opacity}
.reveal-right{opacity:0;transform:translateX(30px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1); will-change: transform, opacity}
.reveal-left.revealed,.reveal-right.revealed{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.95);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1); will-change: transform, opacity}
.reveal-scale.revealed{opacity:1;transform:scale(1)}

/* ===== TEAM TREE (DESKTOP) ===== */
.team-tree-desktop { display: flex; flex-direction: column; align-items: center; gap: 0; padding: 20px 0; width: 100%; max-width: 1000px; margin: 0 auto; position: relative; z-index: 2; }
.tree-level { display: flex; justify-content: center; gap: 40px; width: 100%; position: relative; }
.tree-level-4 { justify-content: space-between; }
.tree-level-members { flex-wrap: wrap; gap: 20px; justify-content: center; max-width: 800px; margin: 0 auto; }
.tree-node { width: 180px; margin: 0; }
.tree-node.member-card { width: 140px; }
.mobile-only { display: none; }
.desktop-only { display: flex; }

/* Tree Connectors & Animations */
.tree-connector { width: 2px; height: 40px; background: var(--accent); margin: 0 auto; }
.tree-branch { width: 100%; position: relative; height: 40px; display: flex; flex-direction: column; align-items: center; }
.branch-vertical-start { width: 2px; height: 20px; background: var(--accent); }
.branch-horizontal { width: calc(100% - 180px); height: 2px; background: var(--accent); }
.branch-vertical-ends, .branch-vertical-straight { display: flex; justify-content: space-between; width: calc(100% - 180px); height: 20px; }
.branch-vertical-straight { width: calc(100% - 180px); }
.branch-vertical-ends i, .branch-vertical-straight i { width: 2px; height: 100%; background: var(--accent); display: block; }

/* Tree Reveals */
.tree-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.tree-reveal.revealed { opacity: 1; transform: translateY(0); }
.line-reveal { transform-origin: top; transform: scaleY(0); transition: transform 0.5s ease; }
.line-reveal.revealed { transform: scaleY(1); }
.tree-branch.tree-reveal { opacity: 0; clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); transition: clip-path 0.8s ease; }
.tree-branch.tree-reveal.revealed { opacity: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }

/* ===== TILT EFFECT ===== */
.tilt-card{transform-style:preserve-3d;perspective:1000px}

/* ===== HOMEPAGE CONTENT TWEAKS ===== */
.goals-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; padding-top: 20px; }
.missions-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; padding-top: 20px; }
.goal-card { cursor: pointer; }
.goal-card, .mission-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--card-radius); padding: 40px 30px; text-align: left; transition: var(--transition-base); position: relative; overflow: hidden; }
.goal-card::before, .mission-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--accent-gradient); transform:scaleX(0); transition:transform .5s ease; transform-origin:left; z-index:2; }
.goal-card::after, .mission-card::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 0%, var(--accent-glow), transparent 70%); opacity:0; transition:opacity .5s; z-index:0; }
.goal-card:hover::before, .mission-card:hover::before { transform:scaleX(1); }
.goal-card:hover::after, .mission-card:hover::after { opacity:1; }
.goal-card:hover, .mission-card:hover { transform:translateY(-6px) scale(1.02); border-color:var(--border-accent); background:var(--bg-card-hover); box-shadow:var(--glow-md); }
.goal-card.active { border-color: var(--accent); background: var(--bg-card-hover); box-shadow: var(--glow-md); }
.goal-card.active::before { transform: scaleX(1); }
.goal-card.active::after { opacity: 1; }
.goal-card > *, .mission-card > * { position:relative; z-index:1; }
.goal-icon, .mission-icon { font-size: 2.5rem; margin-bottom: 20px; display:inline-flex; align-items:center; justify-content:center; background: rgba(232, 122, 45, 0.1); width: 70px; height: 70px; border-radius: 50%; padding:0; box-shadow: none; border: 1px solid rgba(232,122,45,0.2); color:var(--accent)}
.goal-icon svg, .mission-icon svg { color:var(--accent); stroke:var(--accent) }
.goal-card h4, .mission-card h4 { font-size: 1.4rem; font-weight: 600; margin-bottom: 12px; color: var(--text-main); }
.goal-card p, .mission-card p { font-size: 1rem; color: var(--text-body); line-height: 1.6; margin: 0; }

.goals-details-container {
  position: relative;
  width: 100%;
}
.goals-details-container .details-pane {
  margin-top: 30px;
}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .subsystems-grid,.projects-grid,.competitions-grid{grid-template-columns:repeat(2,1fr)}
  .partners-grid{grid-template-columns:repeat(2,1fr)}
  .advisors-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media(max-width:768px){
  body{overflow-x: hidden}
  .details-list { grid-template-columns: 1fr; }
  .section{padding:40px 0; overflow-x: hidden}
  .section-header{margin-bottom:32px}
  .subsystems{padding-bottom:20px}
  .projects{padding-top:20px}
  .section-title{font-size: clamp(1.8rem, 6vw, 2.5rem); margin-bottom:12px}
  .nav-links{display:none}.hamburger{display:flex}
  .hero{min-height: 65vh !important; padding: 100px 0 40px 0 !important;}
  .hero-scroll-indicator{display:none !important}
  .hero-logo{width:90px;height:90px; margin-bottom:16px}
  .hero-tagline{margin-bottom:16px}
  .hero-subtitle{margin-bottom:28px; line-height: 1.6; font-size: 0.9rem}
  .hero-buttons{gap:12px;}
  .btn{padding:12px 24px; font-size: 0.75rem}
  .about-grid{grid-template-columns:1fr;gap:32px}
  .about-mission-vision{grid-template-columns:1fr; gap: 12px}
  .mv-card{padding:18px}
  .stats-grid,.subsystems-grid,.projects-grid{grid-template-columns:1fr 1fr;gap:12px}
  .stat-card{padding:24px 16px}
  .subsystem-card,.project-card{padding:32px 20px}
  .competitions-grid{grid-template-columns:1fr;gap:16px}
  .missions-grid{grid-template-columns:1fr;gap:16px}
  .advisors-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .advisor-photo{width:70px;height:70px}
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer-bottom{flex-direction:column;gap:16px;text-align:center}
  .form-row{grid-template-columns:1fr}
  .achievement-page{padding:32px 24px}
  .achievement-page h4{font-size:1.3rem; margin-bottom: 12px}
  .achievement-page p{font-size: 0.85rem; max-width: 100%; margin-bottom: 16px}
  .swiper-button-next, .swiper-button-prev{display:none !important}
  .swiper-pagination{bottom: -10px !important}

  /* Responsive Spacers */
  div[style*="height: 120px"] {
    height: 20px !important;
  }

  /* Mobile Menu Sizing */
  .mobile-menu-links {
    gap: 16px;
  }
  .mobile-menu-links a {
    font-size: 1.3rem;
    letter-spacing: 2px;
  }
  .mobile-menu-links a.active {
    color: var(--accent) !important;
  }

  /* Show Mobile Only / Hide Desktop Only */
  .mobile-only {
    display: block !important;
  }
  .desktop-only {
    display: none !important;
  }

  /* Subsystem/Goals Details Panels */
  .details-pane, .project-details-pane {
    padding: 24px 16px;
  }
  .details-title {
    font-size: 1.6rem;
  }

  /* Vertical Timeline Mobile Layout */
  .timeline-line {
    left: 24px !important;
    transform: none !important;
  }
  .timeline-item {
    width: 100% !important;
    align-self: flex-start !important;
    justify-content: flex-start !important;
    padding-left: 54px !important;
    padding-right: 0 !important;
    margin-bottom: 40px !important;
  }
  .timeline-item[data-side="left"] .timeline-badge,
  .timeline-item[data-side="right"] .timeline-badge {
    left: -21px !important;
    right: auto !important;
    top: 20px !important;
    width: 70px !important;
    height: 28px !important;
    font-size: 0.75rem !important;
  }
  .timeline-card {
    max-width: 100% !important;
  }

  /* Mobile Team Page Improvements */
  .team-category {
    margin-bottom: 36px !important;
  }
  .team-category-title {
    font-size: 1.25rem !important;
    margin-bottom: 24px !important;
  }
  .leaders-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important;
    gap: 14px !important;
  }
  .members-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)) !important;
    gap: 12px !important;
  }
  .team-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 100% !important;
    padding: 16px 8px !important;
    text-align: center !important;
  }
  .team-card h4 {
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
    margin-bottom: 0 !important;
    word-break: break-word;
  }
  .team-card .role {
    font-size: 0.68rem !important;
    margin-top: 4px !important;
    letter-spacing: 0.8px !important;
  }
  .team-avatar {
    width: 64px !important;
    height: 64px !important;
    font-size: 1.2rem !important;
    margin: 0 auto 10px !important;
    flex-shrink: 0 !important;
  }
}
@media(max-width:480px){
  .hero-title{letter-spacing:1px; line-height:1}
  .stats-grid,.subsystems-grid,.projects-grid{grid-template-columns:1fr}
  .stat-number{font-size:2.5rem}
  .join-form{padding:24px 16px}
  .advisors-grid{grid-template-columns:1fr !important; gap: 16px !important;}
}


/* ===== ACHIEVEMENTS (horizontal scroll) ===== */
.achv-scroll-wrap{position:relative;display:flex;align-items:center;gap:12px}
.achv-scroll{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:10px 4px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.achv-scroll::-webkit-scrollbar{display:none}
.achv-card{flex:0 0 clamp(240px,75vw,320px);scroll-snap-align:center;border-radius:var(--card-radius);overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-card)}
.achv-img{width:100%;aspect-ratio:16/9;overflow:hidden}
.achv-img img{width:100%;height:100%;object-fit:cover;display:block}
.achv-caption{padding:18px 20px 22px;border-top:1px solid var(--border-subtle)}
.achv-caption h4{font-family:var(--font-heading);font-size:1.05rem;margin-bottom:6px;color:var(--text-primary)}
.achv-caption p{font-size:.9rem;color:var(--text-secondary);margin:0}
.achv-arrow{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:rgba(5,5,8,0.5);border:1px solid var(--border-subtle);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}
.achv-arrow:hover{background:rgba(232,122,45,0.3);color:var(--accent-light)}
@media (max-width:768px){.achv-arrow{display:none}}

/* ===== HOMEPAGE ACHIEVEMENTS SLIDER ===== */
.achievements-slider-sec {
  background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(232, 122, 45, 0.03) 0%, transparent 80%);
  position: relative;
  overflow: hidden;
  padding: 100px 0;
}

.achievements-swiper {
  width: 100%;
  padding: 40px 0 80px 0 !important;
  overflow: visible !important;
}

.achievement-slide {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--card-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
  width: 380px;
  max-width: 90vw;
  height: 520px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}

.achievement-slide:hover,
.swiper-slide-active.achievement-slide {
  border-color: var(--border-accent);
  box-shadow: var(--glow-md);
}

.slide-image-wrapper {
  position: relative;
  width: 100%;
  height: 240px;
  overflow: hidden;
}

.slide-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.achievement-slide:hover .slide-image-wrapper img {
  transform: scale(1.08);
}

.slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(5, 5, 8, 0.9) 100%);
}

.slide-content {
  padding: 30px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.slide-tag {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--accent);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.slide-content h3 {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 12px;
  line-height: 1.3;
}

.slide-content p {
  font-size: 0.92rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0;
}

/* Swiper navigation buttons customization */
.achievements-swiper .swiper-button-prev,
.achievements-swiper .swiper-button-next {
  width: 50px;
  height: 50px;
  background: rgba(5, 5, 8, 0.6);
  border: 1px solid var(--border-subtle);
  border-radius: 50%;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-base);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.achievements-swiper .swiper-button-prev::after,
.achievements-swiper .swiper-button-next::after {
  display: none;
}

.achievements-swiper .swiper-button-prev:hover,
.achievements-swiper .swiper-button-next:hover {
  background: rgba(232, 122, 45, 0.15);
  border-color: var(--accent);
  color: var(--accent-light);
  box-shadow: var(--glow-sm);
  transform: scale(1.05);
}

.achievements-swiper .swiper-button-prev {
  left: -20px;
}
.achievements-swiper .swiper-button-next {
  right: -20px;
}

/* Swiper pagination customization */
.achievements-swiper .swiper-pagination-bullet {
  background: var(--text-muted);
  opacity: 0.5;
  width: 8px;
  height: 8px;
  margin: 0 6px !important;
  transition: var(--transition-base);
}

.achievements-swiper .swiper-pagination-bullet-active {
  background: var(--accent);
  opacity: 1;
  width: 24px;
  border-radius: 4px;
  box-shadow: 0 0 10px var(--accent-glow);
}

@media (max-width: 1300px) {
  .achievements-swiper .swiper-button-prev {
    left: 10px;
  }
  .achievements-swiper .swiper-button-next {
    right: 10px;
  }
}

@media (max-width: 768px) {
  .achievements-slider-sec {
    padding: 60px 0;
  }
  .achievement-slide {
    height: 480px;
  }
  .slide-content {
    padding: 20px;
  }
  .slide-content h3 {
    font-size: 1.25rem;
  }
  .slide-content p {
    font-size: 0.88rem;
  }
  .achievements-swiper .swiper-button-prev,
  .achievements-swiper .swiper-button-next {
    display: none !important;
  }
}
