/* ===== ROOT & RESET ===== */
:root {
  --bg: #030308;
  --bg2: #080810;
  --surface: rgba(255,255,255,0.04);
  --surface2: rgba(255,255,255,0.07);
  --border: rgba(255,255,255,0.08);
  --border-glow: rgba(99,102,241,0.35);
  --text: #f0f0ff;
  --muted: #7a7a90;
  --a1: #6366f1;
  --a2: #06b6d4;
  --a3: #f43f5e;
  --a4: #a855f7;
  --grad: linear-gradient(135deg, var(--a1), var(--a2));
  --grad2: linear-gradient(135deg, var(--a4), var(--a3));
  --glow1: 0 0 40px rgba(99,102,241,0.25);
  --glow2: 0 0 40px rgba(6,182,212,0.25);
  --font-head: 'Syne', sans-serif;
  --font-body: 'Space Grotesk', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  --ease: cubic-bezier(0.19, 1, 0.22, 1);
  --radius: 22px;
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
  background-color: var(--bg);
  background-image: 
    radial-gradient(circle at 20% 20%, rgba(99, 102, 241, 0.05) 0%, transparent 40%),
    radial-gradient(circle at 80% 80%, rgba(6, 182, 212, 0.05) 0%, transparent 40%),
    radial-gradient(circle at 50% 50%, rgba(5, 5, 8, 1) 0%, transparent 100%);
  background-attachment: fixed;
  color: var(--text);
  font-family: var(--font-body);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
/* Ultra-Premium Noise Overlay */
.noise {
  position: fixed; inset: 0; z-index: 9990; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  opacity: 0.04; mix-blend-mode: overlay;
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
button{border:none;background:none;cursor:none;font-family:inherit;}

/* ===== CANVAS BG ===== */
#bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;}

/* ===== LOADER ===== */
#loader{position:fixed;inset:0;background:var(--bg);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity 0.8s var(--ease), visibility 0.8s;}
#loader.done{opacity:0;visibility:hidden;}
.loader-inner{display:flex;flex-direction:column;align-items:center;gap:20px;}
.loader-logo{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;}
.loader-bar{width:200px;height:2px;background:var(--border);border-radius:2px;overflow:hidden;margin:0 auto;}
.loader-fill{height:100%;width:0%;background:var(--grad);border-radius:2px;transition:width 2s var(--ease);}

/* ===== CURSOR ===== */
#cursor-dot{width:6px;height:6px;background:#fff;border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform 0.1s,opacity 0.3s;mix-blend-mode:difference;}
#cursor-ring{width:36px;height:36px;border:1.5px solid rgba(255,255,255,0.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9997;transform:translate(-50%,-50%);transition:transform 0.18s var(--ease),width 0.3s,height 0.3s,border-color 0.3s;mix-blend-mode:difference;}
#cursor-ring.hover{width:56px;height:56px;border-color:var(--a2);}
@media(hover:none){#cursor-dot,#cursor-ring{display:none;}body{cursor:auto;}button{cursor:pointer;}a{cursor:pointer;}}

/* ===== AMBIENT GLOW ===== */
#ambient-glow{position:fixed;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle, rgba(99,102,241,0.12) 0%, rgba(6,182,212,0.05) 40%, transparent 70%);top:0;left:0;transform:translate(-50%,-50%);pointer-events:none;z-index:1;mix-blend-mode:screen;will-change:transform;}

/* ===== SCROLL PROGRESS ===== */
#scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--grad);z-index:9996;transition:width 0.1s linear;}

/* ===== NAVBAR ===== */
#navbar{position:fixed;top:0;width:100%;padding:24px 6%;display:flex;justify-content:space-between;align-items:center;z-index:9998;transition:all 0.5s var(--ease);}
#navbar.scrolled{padding:16px 6%;background:rgba(5,5,7,0.85);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.nav-logo{font-family:var(--font-head);font-size:1.5rem;font-weight:800;color:var(--text);letter-spacing:1px;display:flex;align-items:center;gap:12px;transition:transform 0.4s var(--ease);}
.nav-logo:hover{transform:scale(1.05);}
.brand-mark{display:block;}
.nav-center{display:flex;gap:40px;}
.nav-link{font-size:0.9rem;font-weight:500;color:var(--muted);transition:color 0.3s;position:relative;letter-spacing:0.3px;}
.nav-link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--grad);transition:width 0.3s var(--ease);border-radius:2px;}
.nav-link:hover{color:var(--text);}
.nav-link:hover::after,.nav-link.active::after{width:100%;}
.nav-link.active{color:var(--text);}
.nav-cta{background:var(--text);color:var(--bg);font-size:0.88rem;font-weight:700;padding:10px 24px;border-radius:100px;letter-spacing:0.3px;transition:all 0.3s;}
.nav-cta:hover{background:var(--a2);color:#fff;box-shadow:0 0 30px rgba(6,182,212,0.4);}
.hamburger{display:none;flex-direction:column;gap:5px;padding:4px;}
.hamburger span{display:block;width:24px;height:1.5px;background:var(--text);transition:all 0.3s var(--ease);}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* ===== MOBILE MENU ===== */
.mobile-menu{position:fixed;inset:0;background:rgba(5,5,7,0.97);backdrop-filter:blur(20px);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;opacity:0;visibility:hidden;transition:all 0.4s var(--ease);transform:scale(1.05);}
.mobile-menu.open{opacity:1;visibility:visible;transform:scale(1);}
.mob-link{font-family:var(--font-head);font-size:2.5rem;font-weight:800;color:var(--muted);transition:color 0.3s;}
.mob-link:hover{color:var(--text);}

/* ===== MAIN ===== */
main{position:relative;z-index:1;}

/* ===== HERO ===== */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:120px 6% 80px;position:relative;overflow:hidden;}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to top,var(--bg),transparent);pointer-events:none;z-index:2;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(6,182,212,0.08);border:1px solid rgba(6,182,212,0.25);color:var(--a2);font-size:0.78rem;font-weight:500;padding:7px 18px;border-radius:100px;letter-spacing:1px;margin-bottom:28px;text-transform:uppercase;backdrop-filter:blur(10px);box-shadow:0 0 20px rgba(6,182,212,0.1);}
.hero-badge::before{content:'';width:6px;height:6px;background:var(--a2);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.4;transform:scale(0.8);}}
.hero-sub{font-size:clamp(0.9rem,2vw,1.1rem);color:var(--muted);font-weight:400;letter-spacing:0.5px;margin-bottom:16px;}
.hero-title{font-family:var(--font-head);font-size:clamp(4.5rem,11vw,11.5rem);font-weight:800;line-height:0.9;letter-spacing:-4px;margin-bottom:28px;display:flex;flex-direction:column;position:relative;z-index:5;}
.hero-title .line{display:block;overflow:hidden;}
.outline-text{-webkit-text-stroke:2px var(--text);color:transparent;}
.split-text span{display:inline-block;transform:translateY(110%);transition:transform 1s cubic-bezier(0.19,1,0.22,1);}
.split-text.visible span{transform:translateY(0);}
.accent-line{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-desc{max-width:560px;color:var(--muted);font-size:clamp(0.95rem,2vw,1.15rem);line-height:1.75;margin-bottom:40px;position:relative;z-index:5;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:64px;position:relative;z-index:5;}
.magnetic-wrap{display:inline-block;}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--text);color:var(--bg);font-family:var(--font-body);font-size:0.92rem;font-weight:700;padding:14px 34px;border-radius:100px;transition:all 0.4s var(--ease);position:relative;overflow:hidden;letter-spacing:0.4px;will-change:transform;}
.btn-primary::after{content:'';position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:rgba(255,255,255,0.3);transform:skewX(-20deg);transition:left 0.6s var(--ease);}
.btn-primary:hover::after{left:130%;}
.btn-primary::before{content:'';position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity 0.35s;}
.btn-primary:hover::before{opacity:1;}
.btn-primary:hover{color:#fff;box-shadow:0 0 40px rgba(99,102,241,0.5);}
.btn-primary svg,.btn-primary span{position:relative;z-index:1;}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--text);font-family:var(--font-body);font-size:0.95rem;font-weight:600;padding:14px 32px;border-radius:100px;border:1px solid var(--border);transition:all 0.35s var(--ease);will-change:transform;}
.btn-ghost:hover{border-color:var(--a2);box-shadow:0 0 20px rgba(6,182,212,0.2);}

/* ===== PREMIUM BADGE ===== */
.rotating-badge{position:absolute;right:8%;top:40%;width:180px;height:180px;pointer-events:none;z-index:4;opacity:0.8;}
.rotating-badge svg{width:100%;height:100%;animation:rotate 20s linear infinite;}
.rotating-badge text{font-family:var(--font-body);font-size:11.5px;font-weight:600;fill:var(--text);letter-spacing:3px;}
.badge-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--a2);}
@keyframes rotate{100%{transform:rotate(360deg);}}
.hero-metrics{display:flex;align-items:center;gap:32px;}
.metric{display:flex;flex-direction:column;gap:4px;}
.metric-num{font-family:var(--font-head);font-size:2.2rem;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.metric span{font-family:var(--font-head);font-size:2.2rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.metric p{font-size:0.78rem;color:var(--muted);letter-spacing:0.5px;text-transform:uppercase;}
.metric-divider{width:1px;height:40px;background:var(--border);}
.hero-scroll{position:absolute;bottom:32px;left:6%;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:0.78rem;letter-spacing:1px;text-transform:uppercase;}
.scroll-line{width:40px;height:1px;background:var(--border);position:relative;overflow:hidden;}
.scroll-line::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--grad);animation:scroll-anim 2s infinite;}
@keyframes scroll-anim{0%{left:-100%;}100%{left:100%;}}

/* ===== PARTNERS ===== */
.partners{padding:80px 6% 40px;text-align:center;position:relative;z-index:2;}
.partners-label{font-size:0.8rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:30px;}
.partners-track-wrap{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,1) 20%,rgba(0,0,0,1) 80%,transparent);mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,1) 20%,rgba(0,0,0,1) 80%,transparent);}
.partners-track{display:flex;align-items:center;gap:80px;width:max-content;animation:marquee 25s linear infinite;}
.partner-link{display:inline-flex;align-items:center;justify-content:center;transition:transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);}
.partner-link:hover{transform:scale(1.2) translateY(-5px);}
.partner-logo{height:42px;filter:grayscale(100%) opacity(0.4);transition:all 0.5s var(--ease);}
.partner-logo:hover{filter:grayscale(0%) opacity(1) drop-shadow(0 0 15px rgba(255,255,255,0.2));}
.local-logo{filter:grayscale(100%) brightness(200%) opacity(0.4); object-fit: contain;}
.local-logo:hover{filter:grayscale(0%) brightness(120%) opacity(1) drop-shadow(0 0 20px rgba(6,182,212,0.3));}
.apjii-logo{height: 35px;}
.cbn-logo{height: 36px;}

/* ===== SECTION BASE ===== */
.section{padding:120px 6%;position:relative;}
.section-label{font-size:0.78rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;font-weight:500;}
.section-title{font-family:var(--font-head);font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:1.05;letter-spacing:-2px;margin-bottom:60px;}
.gradient-text{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* ===== GLASS ===== */
.glass {
  background: rgba(255, 255, 255, 0.015);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
  transition: all 0.6s var(--ease);
}
.glass::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}
.glass:hover {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(99, 102, 241, 0.25);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), 0 0 20px rgba(99, 102, 241, 0.1);
  transform: translateY(-8px);
}
.glass > * { position: relative; z-index: 1; }

/* ===== ABOUT GRID ===== */
.about-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px;}
.about-card{padding:34px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform 0.5s var(--ease),box-shadow 0.5s,border-color 0.4s;}
.about-card:hover{transform:translateY(-8px);border-color:rgba(99,102,241,0.3);box-shadow:0 24px 70px rgba(0,0,0,0.6),var(--glow1);}
.about-card-icon{font-size:2rem;margin-bottom:12px;}
.about-card h3{font-family:var(--font-head);font-size:1.2rem;font-weight:700;margin-bottom:8px;line-height:1.2;}
.about-card p{color:var(--muted);font-size:0.88rem;line-height:1.65;}
.card-large{grid-column:span 2;grid-row:span 2;justify-content:flex-start;}
.card-small{grid-column:span 1;align-items:center;justify-content:center;text-align:center;}
.card-wide{grid-column:span 2;}
.big-stat{font-family:var(--font-head);font-size:3.5rem;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;}
.count-up{font-family:inherit;font-size:inherit;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.card-small p{font-size:0.8rem;color:var(--muted);letter-spacing:0.5px;}

/* ===== SKILLS ===== */
.skills-container{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.skill-item{margin-bottom:28px;}
.skill-top{display:flex;justify-content:space-between;margin-bottom:10px;}
.skill-name{font-size:0.9rem;font-weight:500;}
.skill-pct{font-size:0.85rem;color:var(--muted);}
.skill-bar{height:4px;background:var(--border);border-radius:4px;overflow:hidden;}
.skill-fill{height:100%;width:0;background:var(--grad);border-radius:4px;transition:width 1.5s var(--ease);}
.skill-fill.animated{width:var(--w);}
.tech-grid{display:flex;flex-wrap:wrap;gap:10px;}
.tech-pill{background:var(--surface);border:1px solid var(--border);padding:8px 18px;border-radius:100px;font-size:0.85rem;color:var(--muted);transition:all 0.3s;cursor:default;}
.tech-pill:hover{border-color:var(--a2);color:var(--text);box-shadow:0 0 20px rgba(6,182,212,0.15);}

/* ===== PROJECTS ===== */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.proj-card{overflow:hidden;transition:transform 0.5s var(--ease),box-shadow 0.5s,border-color 0.4s;}
.proj-card:hover{transform:translateY(-10px);box-shadow:0 30px 80px rgba(0,0,0,0.7),var(--glow1);border-color:rgba(99,102,241,0.25);}
.proj-img{height:250px;position:relative;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0;}
.proj-img-inner{position:absolute;inset:-10%;width:120%;height:120%;background-size:cover;background-position:center;transition:transform 0.6s cubic-bezier(0.19,1,0.22,1);}
.proj-card:hover .proj-img-inner{transform:scale(1.05);}
.proj-img-1 .proj-img-inner{background-image:url('https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&w=800&q=80');}
.proj-img-2 .proj-img-inner{background-image:url('https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&w=800&q=80');}
.proj-img-3 .proj-img-inner{background-image:url('https://images.unsplash.com/photo-1498050108023-c5249f4df085?auto=format&fit=crop&w=800&q=80');}
.proj-img-4 .proj-img-inner{background-image:url('https://images.unsplash.com/photo-1504384308090-c894fdcc538d?auto=format&fit=crop&w=800&q=80');}
.proj-img-5 .proj-img-inner{background-image:url('https://images.unsplash.com/photo-1550751827-4bd374c3f58b?auto=format&fit=crop&w=800&q=80');}
.proj-img-6 .proj-img-inner{background-image:url('https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=800&q=80');}
.proj-img::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 20%,rgba(3,3,8,0.95));z-index:2;}
.proj-img::after{content:'';position:absolute;inset:0;background:rgba(3,3,8,0.4);opacity:0;transition:opacity 0.4s;z-index:2;}
.proj-card:hover .proj-img::after{opacity:1;}
.proj-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3;opacity:0;transition:opacity 0.4s;}
.proj-card:hover .proj-overlay{opacity:1;}
.proj-link{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);color:#fff;padding:10px 24px;border-radius:100px;font-size:0.88rem;font-weight:600;transition:all 0.3s;}
.proj-link:hover{background:#fff;color:var(--bg);}
.proj-tag{position:absolute;top:16px;left:16px;z-index:4;background:rgba(5,5,7,0.7);backdrop-filter:blur(10px);border:1px solid var(--border);color:var(--muted);font-size:0.75rem;padding:4px 12px;border-radius:100px;letter-spacing:0.5px;}
.proj-body{padding:24px;}
.proj-body h3{font-family:var(--font-head);font-size:1.25rem;font-weight:700;margin-bottom:8px;}
.proj-body p{color:var(--muted);font-size:0.88rem;line-height:1.65;margin-bottom:16px;}
.proj-tech{display:flex;flex-wrap:wrap;gap:8px;}
.proj-tech span{background:rgba(255,255,255,0.05);border:1px solid var(--border);color:var(--muted);font-size:0.75rem;padding:4px 12px;border-radius:100px;}

/* ===== TESTIMONIALS ===== */
.testimonials{padding:120px 0;overflow:hidden;}
.testimonials .section-label,.testimonials .section-title{padding:0 6%;}
.testi-track-wrap{overflow:hidden;width:100%;}
.testi-track{display:flex;gap:20px;animation:marquee 35s linear infinite;width:max-content;}
.testi-track:hover{animation-play-state:paused;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.testi-card{min-width:380px;padding:36px;display:flex;flex-direction:column;gap:16px;flex-shrink:0;border-radius:24px;transition:border-color 0.3s,box-shadow 0.3s;}
.testi-card:hover{border-color:rgba(99,102,241,0.3);box-shadow:var(--glow1);}
.testi-stars{color:#f59e0b;font-size:1rem;letter-spacing:2px;}
.testi-card p{color:var(--muted);font-size:0.9rem;line-height:1.75;flex:1;}
.testi-author strong{color:var(--text);font-size:0.9rem;display:block;margin-bottom:2px;}
.testi-author{font-size:0.8rem;color:var(--muted);}

/* ===== CONTACT ===== */
.contact-sub{color:var(--muted);font-size:1rem;max-width:500px;margin-top:-40px;margin-bottom:50px;line-height:1.7;}
.contact-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:24px;align-items:start;}
.contact-info:hover,.contact-form:hover{border-color:rgba(99,102,241,0.2);box-shadow:var(--glow1);transition:border-color 0.4s,box-shadow 0.4s;}
.contact-info{padding:40px;}
.contact-info h3{font-family:var(--font-head);font-size:1.5rem;font-weight:700;margin-bottom:28px;}
.info-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;}
.info-icon{width:42px;height:42px;background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.info-item span{font-size:0.75rem;color:var(--muted);letter-spacing:0.5px;display:block;margin-bottom:4px;text-transform:uppercase;}
.info-item a,.info-item p{font-size:0.9rem;color:var(--text);font-weight:500;transition:color 0.3s;}
.info-item a:hover{color:var(--a2);}
.social-row{display:flex;gap:12px;margin-top:32px;}
.social-btn{width:46px;height:46px;background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all 0.35s var(--ease);}
.social-btn svg{width:18px;height:18px;}
.social-btn:hover{background:var(--text);color:var(--bg);border-color:var(--text);transform:translateY(-4px);box-shadow:0 10px 30px rgba(255,255,255,0.15);}
.contact-form{padding:40px;display:flex;flex-direction:column;gap:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-group label{font-size:0.8rem;color:var(--muted);letter-spacing:0.5px;text-transform:uppercase;font-weight:500;}
.form-group input,.form-group textarea{background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:14px;padding:15px 20px;color:var(--text);font-family:var(--font-body);font-size:0.95rem;outline:none;transition:all 0.35s var(--ease);resize:none;}
.form-group input:focus,.form-group textarea:focus{border-color:var(--a2);box-shadow:0 0 0 3px rgba(6,182,212,0.1);background:rgba(255,255,255,0.05);}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(136,136,153,0.5);}
.submit-full{width:100%;justify-content:center;border-radius:12px;padding:16px;}
.form-success{color:var(--a2);font-size:0.88rem;text-align:center;opacity:0;transform:translateY(10px);transition:all 0.4s;display:none;}
.form-success.show{opacity:1;transform:translateY(0);display:block;}

/* ===== FOOTER ===== */
footer{padding:60px 6% 40px;border-top:1px solid var(--border);position:relative;z-index:2;background:rgba(3,3,8,0.5);}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;}
.footer-logo{font-family:var(--font-head);font-size:1.8rem;font-weight:800;letter-spacing:2px;display:flex;align-items:center;}
.footer-inner p{color:var(--muted);font-size:0.9rem;}
.footer-links{display:flex;gap:24px;}
.footer-links a{color:var(--muted);font-size:0.85rem;transition:color 0.3s;}
.footer-links a:hover{color:var(--text);}

/* ===== BACK TO TOP ===== */
#back-top{position:fixed;bottom:32px;right:32px;width:48px;height:48px;background:var(--text);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--bg);z-index:100;transition:all 0.4s var(--ease);opacity:0;transform:translateY(20px);pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,0.5);}
#back-top.show{opacity:1;transform:translateY(0);pointer-events:all;}
#back-top:hover{background:var(--a2);transform:translateY(-4px);}
#back-top svg{stroke:currentColor;}

/* ===== REVEAL ANIMATION ===== */
.reveal-up{opacity:0;transform:translateY(48px);transition:opacity 0.9s var(--ease),transform 0.9s var(--ease);}
.reveal-up.visible{opacity:1;transform:translateY(0);}

/* ===== GLOW PULSE on section titles ===== */
.gradient-text{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(99,102,241,0.3));}

/* ===== SKILL BAR SHIMMER ===== */
@keyframes shimmer{0%{background-position:-200% center;}100%{background-position:200% center;}}
.skill-fill.animated{background:linear-gradient(90deg,var(--a1),var(--a2),var(--a1));background-size:200% auto;animation:shimmer 3s linear infinite;}

/* ===== RESPONSIVE ===== */
@media(max-width:1200px){.projects-grid{grid-template-columns:repeat(2,1fr);}.about-grid{grid-template-columns:repeat(2,1fr);}.card-large{grid-column:span 2;}.skills-container{grid-template-columns:1fr;gap:40px;}}
@media(max-width:900px){.contact-wrap{grid-template-columns:1fr;}.nav-center,.nav-cta{display:none;}.hamburger{display:flex;}.hero-title{font-size:clamp(3rem,12vw,6rem);letter-spacing:-2px;}}
@media(max-width:640px){.projects-grid{grid-template-columns:1fr;}.about-grid{grid-template-columns:1fr;}.card-large,.card-wide,.card-small{grid-column:span 1;}.form-row{grid-template-columns:1fr;}.hero-metrics{gap:20px;}.hero-title{letter-spacing:-1px;}.hero-actions{flex-direction:column;align-items:flex-start;}.testi-card{min-width:300px;}.footer-inner{flex-direction:column;text-align:center;}}

/* ===== HIGH REFRESH RATE / PERF ===== */
@media(prefers-reduced-motion:reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}}
.glass,.proj-card,.about-card,.testi-card{will-change:transform;}
.hero-title,.section-title{will-change:opacity,transform;}
#bg-canvas{will-change:contents;}
