/* ===== About page styles (cosmic glass theme) ===== */

/* ---- Story ---- */
.story-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.story-grid p{font-size:15.5px; color:var(--ink-text-secondary);}
@media (max-width:900px){
  .story-grid{grid-template-columns:1fr; gap:36px;}
  .story-grid .about-visual{order:-1;}
}

/* ---- About visual (network graphic panel) ---- */
.about-visual{
  background:radial-gradient(circle at center, #1E1440 0%, #0c0e1f 100%);
  border:1px solid var(--line-dark);
  border-radius:20px;
  aspect-ratio:1/0.9;
  position:relative;
  overflow:hidden;
  box-shadow:0 20px 45px rgba(0,0,0,0.4);
}
.about-visual svg{position:absolute; inset:0; width:100%; height:100%;}
.about-visual .net-line{
  stroke-dasharray:6 5;
  animation:dashMove 3.5s linear infinite;
}
.about-visual .net-node{
  animation:nodePulse 2.6s ease-in-out infinite;
  transform-origin:center;
}
.about-visual .net-node:nth-of-type(2){animation-delay:.4s;}
.about-visual .net-node:nth-of-type(3){animation-delay:.8s;}
.about-visual .net-node:nth-of-type(4){animation-delay:1.2s;}
@keyframes dashMove{to{stroke-dashoffset:-33;}}
@keyframes nodePulse{
  0%,100%{opacity:1; transform:scale(1);}
  50%{opacity:0.55; transform:scale(1.6);}
}
@media (prefers-reduced-motion:reduce){
  .about-visual .net-line{animation:none;}
  .about-visual .net-node{animation:none;}
}

/* ---- Timeline ---- */
.timeline{
  position:relative;
  padding-left:26px;
  border-left:1px solid var(--line-dark);
}
.timeline-item{
  position:relative;
  padding-bottom:38px;
}
.timeline-item:last-child{padding-bottom:0;}
.timeline-dot{
  position:absolute; left:-31px; top:2px;
  width:10px; height:10px; border-radius:50%;
  background:var(--pink);
  box-shadow:0 0 0 4px rgba(217,115,139,0.18), 0 0 12px rgba(217,115,139,0.5);
}
.timeline-year{
  font-family:'Orbitron',sans-serif; font-weight:700;
  font-size:17px; color:var(--white); margin-bottom:6px;
}
.timeline-item p{font-size:14.5px; color:var(--ink-text-secondary); max-width:520px;}

/* ---- Certifications ---- */
.cert-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.cert-badge{
  display:flex; align-items:center; gap:14px;
  padding:24px 22px;
  background:rgba(23,16,41,0.5);
  backdrop-filter:blur(12px);
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.cert-badge:hover{border-color:var(--pink); transform:translateY(-3px); box-shadow:0 12px 28px rgba(217,115,139,0.18);}
.cert-badge .icon{width:34px; height:34px; color:var(--glow); flex-shrink:0;}
.cert-badge .icon svg{width:100%; height:100%;}
.cert-badge p{font-size:14.5px; color:var(--white); font-weight:500;}
@media (max-width:800px){
  .cert-strip{grid-template-columns:1fr;}
}

/* ---- Approach ---- */
.approach-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.approach-item{
  padding:28px 24px;
  background:rgba(23,16,41,0.4);
  backdrop-filter:blur(10px);
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  transition:border-color .2s ease, transform .2s ease;
}
.approach-item:hover{border-color:var(--pink); transform:translateY(-3px);}
.approach-num{
  font-family:'Orbitron',sans-serif; font-weight:700;
  font-size:20px; color:var(--pink); margin-bottom:14px;
}
.approach-item h3{font-size:16.5px; color:var(--white); margin-bottom:10px;}
.approach-item p{font-size:14px; color:var(--text-muted);}
@media (max-width:900px){
  .approach-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .approach-grid{grid-template-columns:1fr;}
}
