/* ===== zz-bot About Page — Enhanced Styles ===== */

/* ── Scroll Animations ── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.9);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.reveal-scale.visible{opacity:1;transform:scale(1)}

/* Staggered delays for grid children */
.stagger-children > *{opacity:0;transform:translateY(24px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
.stagger-children.visible > *{opacity:1;transform:translateY(0)}
.stagger-children.visible > *:nth-child(1){transition-delay:.05s}
.stagger-children.visible > *:nth-child(2){transition-delay:.12s}
.stagger-children.visible > *:nth-child(3){transition-delay:.19s}
.stagger-children.visible > *:nth-child(4){transition-delay:.26s}
.stagger-children.visible > *:nth-child(5){transition-delay:.33s}
.stagger-children.visible > *:nth-child(6){transition-delay:.4s}
.stagger-children.visible > *:nth-child(7){transition-delay:.47s}
.stagger-children.visible > *:nth-child(8){transition-delay:.54s}
.stagger-children.visible > *:nth-child(9){transition-delay:.61s}
.stagger-children.visible > *:nth-child(10){transition-delay:.68s}

/* ── Hero Section ── */
.about-hero{position:relative;text-align:center;padding:4rem 0 3rem;overflow:hidden}
.about-hero::before{
  content:'';position:absolute;top:-120px;left:50%;transform:translateX(-50%);
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.06) 0%,transparent 70%);
  pointer-events:none;animation:heroGlow 6s ease-in-out infinite alternate;
}
@keyframes heroGlow{
  0%{opacity:.5;transform:translateX(-50%) scale(1)}
  100%{opacity:1;transform:translateX(-50%) scale(1.15)}
}
.hero-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--surface);border:1px solid var(--border);
  border-radius:100px;padding:.4rem 1rem .4rem .5rem;
  font-size:.8rem;font-weight:500;color:var(--text-dim);
  margin-bottom:1.5rem;animation:fadeUp .6s .1s ease both;
}
.hero-badge-dot{
  width:8px;height:8px;border-radius:50%;background:var(--accent);
  animation:dotPulse 2s ease-in-out infinite;
}
@keyframes dotPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.4)}
  50%{box-shadow:0 0 0 6px rgba(37,99,235,0)}
}
.about-hero h1{
  font-size:clamp(2rem,5vw,3.25rem);font-weight:700;
  letter-spacing:-0.03em;line-height:1.15;
  margin-bottom:1.25rem;animation:fadeUp .6s .2s ease both;
}
.about-hero h1 .gradient-text{
  background:linear-gradient(135deg,var(--accent) 0%,#7c3aed 50%,#06b6d4 100%);
  background-size:200% 200%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:gradientShift 4s ease infinite;
}
@keyframes gradientShift{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
.about-hero .lead{
  font-size:1.15rem;color:var(--text-dim);line-height:1.7;
  max-width:640px;margin:0 auto;animation:fadeUp .6s .35s ease both;
}
.hero-divider{
  width:60px;height:3px;border-radius:2px;margin:2rem auto 0;
  background:linear-gradient(90deg,var(--accent),var(--cyan));
  animation:fadeUp .6s .45s ease both;
}

/* ── Section Basics ── */
.about-section{margin-bottom:4rem}
.about-section:last-child{margin-bottom:0}
.section-label{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.75rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.1em;color:var(--accent);margin-bottom:.75rem;
  font-family:var(--mono);
}
.section-label::before{
  content:'';display:block;width:20px;height:2px;
  background:var(--accent);border-radius:1px;
}
.about-section > h2{
  font-size:1.75rem;font-weight:700;margin-bottom:1rem;
  letter-spacing:-0.02em;color:var(--text-primary);
}
.about-section > p{
  font-size:1rem;color:var(--text-dim);line-height:1.8;max-width:720px;
}
.about-section > p + p{margin-top:1rem}

/* ── Mission Block ── */
.mission-block{
  position:relative;background:var(--surface);
  border:1px solid var(--border);border-radius:16px;
  padding:2.5rem;margin-top:1.5rem;overflow:hidden;
}
.mission-block::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--accent) 0%,#7c3aed 40%,var(--cyan) 100%);
}
.mission-block p{font-size:1.05rem;color:var(--text-primary);line-height:1.9}
.mission-block p + p{margin-top:1rem}
.mission-highlight{
  display:inline;background:linear-gradient(180deg,transparent 60%,rgba(37,99,235,.1) 60%);
  font-weight:600;color:var(--accent);
}

/* ── Stats Grid ── */
.stats-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1.5rem;margin-top:2rem;
}
.stat-card{
  position:relative;background:var(--surface);
  border:1px solid var(--border);border-radius:14px;
  padding:2rem 1.5rem;text-align:center;
  transition:all .35s cubic-bezier(.22,1,.36,1);overflow:hidden;
}
.stat-card::after{
  content:'';position:absolute;inset:0;border-radius:14px;
  background:radial-gradient(circle at 50% 0%,rgba(37,99,235,.06) 0%,transparent 70%);
  opacity:0;transition:opacity .35s;
}
.stat-card:hover{
  border-color:var(--accent);transform:translateY(-4px);
  box-shadow:0 12px 32px var(--glow);
}
.stat-card:hover::after{opacity:1}
.stat-number{
  font-size:2.5rem;font-weight:800;
  background:linear-gradient(135deg,var(--accent) 0%,#06b6d4 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:.25rem;font-variant-numeric:tabular-nums;
  position:relative;z-index:1;
}
.stat-suffix{
  font-size:1.5rem;font-weight:700;
  background:linear-gradient(135deg,var(--accent) 0%,#06b6d4 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.stat-label{
  font-size:.85rem;color:var(--text-dim);font-weight:500;
  position:relative;z-index:1;
}

/* ── Values Grid ── */
.values-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.25rem;margin-top:2rem;
}
.value-card{
  position:relative;background:var(--surface);
  border:1px solid var(--border);border-radius:14px;
  padding:1.75rem;transition:all .35s cubic-bezier(.22,1,.36,1);
  overflow:hidden;cursor:default;
}
.value-card::before{
  content:'';position:absolute;top:0;left:0;width:100%;height:100%;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(37,99,235,.08) 0%,transparent 60%);
  opacity:0;transition:opacity .3s;pointer-events:none;
}
.value-card:hover::before{opacity:1}
.value-card:hover{
  border-color:var(--accent);transform:translateY(-3px);
  box-shadow:0 12px 32px var(--glow);
}
.value-icon{
  width:44px;height:44px;background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(6,182,212,.08));
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;transition:transform .3s;
}
.value-card:hover .value-icon{transform:scale(1.1) rotate(-5deg)}
.value-icon svg{width:22px;height:22px;color:var(--accent)}
.value-card h3{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}
.value-card p{font-size:.9rem;color:var(--text-dim);line-height:1.7}

/* ── Tech Stack ── */
.tech-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.tech-tag{
  background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:.5rem 1rem .5rem .75rem;
  font-size:.85rem;color:var(--text-primary);font-family:var(--mono);
  transition:all .25s;display:flex;align-items:center;gap:.5rem;
  position:relative;overflow:hidden;
}
.tech-tag::before{
  content:'';display:block;width:6px;height:6px;border-radius:50%;
  background:var(--accent);transition:all .25s;flex-shrink:0;
}
.tech-tag:hover{
  border-color:var(--accent);color:var(--accent);
  background:rgba(37,99,235,.04);transform:translateY(-2px);
  box-shadow:0 4px 12px var(--glow);
}
.tech-tag:hover::before{
  box-shadow:0 0 8px var(--accent);
}

/* ── Timeline ── */
.timeline{margin-top:2rem;position:relative;padding-left:2.5rem}
.timeline::before{
  content:'';position:absolute;left:8px;top:0;bottom:0;
  width:2px;background:linear-gradient(180deg,var(--accent),var(--cyan),var(--border));
}
.timeline-item{
  position:relative;margin-bottom:2.5rem;padding-left:1.5rem;
}
.timeline-item:last-child{margin-bottom:0}
.timeline-dot{
  position:absolute;left:-2.5rem;top:4px;
  width:18px;height:18px;border-radius:50%;
  background:var(--surface);border:2.5px solid var(--accent);
  z-index:1;transition:all .3s;
}
.timeline-item.visible .timeline-dot,
.timeline-item:hover .timeline-dot{
  background:var(--accent);
  box-shadow:0 0 0 4px rgba(37,99,235,.15);
}
.timeline-year{
  font-size:.75rem;font-weight:600;color:var(--accent);
  font-family:var(--mono);margin-bottom:.25rem;
  display:inline-block;background:rgba(37,99,235,.06);
  padding:.15rem .5rem;border-radius:4px;
}
.timeline-title{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem}
.timeline-desc{font-size:.9rem;color:var(--text-dim);line-height:1.7}

/* ── CTA ── */
.about-cta{
  position:relative;background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 40%,#2563eb 70%,#06b6d4 100%);
  background-size:200% 200%;border-radius:20px;padding:3.5rem 2rem;
  text-align:center;color:#fff;margin-top:3rem;overflow:hidden;
  animation:ctaGradient 8s ease infinite;
}
@keyframes ctaGradient{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
.about-cta::before{
  content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;
  background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.06) 0%,transparent 50%);
  animation:ctaOrb 10s linear infinite;pointer-events:none;
}
@keyframes ctaOrb{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
.about-cta h2{color:#fff;font-size:1.75rem;margin-bottom:.75rem;position:relative}
.about-cta > p{color:rgba(255,255,255,.8);max-width:600px;margin:0 auto 2rem;line-height:1.7;position:relative}
.about-cta .btn-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative}
.about-cta .btn{
  padding:.8rem 1.75rem;border-radius:10px;font-size:.9rem;font-weight:500;
  text-decoration:none;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem;
}
.about-cta .btn-white{background:#fff;color:var(--accent)}
.about-cta .btn-white:hover{
  background:#f0f7ff;transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(0,0,0,.2);
}
.about-cta .btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3)}
.about-cta .btn-outline:hover{
  border-color:#fff;background:rgba(255,255,255,.1);transform:translateY(-2px);
}

/* ── Responsive ── */
@media(max-width:768px){
  .about-hero{padding:3rem 0 2rem}
  .about-hero h1{font-size:2rem}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .about-cta{padding:2.5rem 1.5rem}
  .mission-block{padding:1.75rem}
}
@media(max-width:640px){
  .stats-grid{grid-template-columns:1fr}
  .about-section > h2{font-size:1.5rem}
  .values-grid{grid-template-columns:1fr}
}
