/* ══ ABOUT PAGE ══ */

/* ── HERO ── */
.about-hero{
  position:relative;overflow:hidden;
  display:flex;align-items:center;
  padding:7rem 2.5rem 4rem;
  background:var(--navy);
  min-height:480px;
}
.about-hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(to right, rgba(5,10,30,.75) 45%, rgba(5,10,30,.35) 100%),
    linear-gradient(to top, rgba(5,10,30,.5) 0%, transparent 60%),
    url("../asset/about/bg_about.png") center / cover no-repeat;
}
.about-hero-inner{
  max-width:1280px;width:100%;margin:0 auto;
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;
  gap:3rem;align-items:center;
}
/* Left */
.about-hero-left{display:flex;flex-direction:column;align-items:flex-start;}
.about-hero-tag{
  display:inline-block;color:var(--cyan);font-size:.75rem;font-weight:700;
  letter-spacing:2px;margin-bottom:1.1rem;
}
.about-hero-title{
  font-size:clamp(2rem,4vw,3.2rem);font-weight:900;line-height:1.15;
  margin-bottom:1.2rem;color:#fff;
}
.about-hero-accent{color:var(--cyan);font-size:.65em;}
.about-hero-sub{
  color:var(--muted);font-size:.95rem;line-height:1.9;
  margin-bottom:2rem;
}
.about-hero-btn{
  display:inline-flex;align-items:center;gap:.75rem;
  border:1px solid rgba(255,255,255,.35);color:#fff;
  padding:.65rem 1.4rem;border-radius:999px;
  font-size:.82rem;font-weight:700;letter-spacing:.5px;
  text-decoration:none;
  transition:background .25s,border-color .25s;
}
.about-hero-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6);}
.about-hero-btn-icon{
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  font-size:.65rem;
}
/* Right */
.about-hero-right{
  position:relative;display:flex;flex-direction:column;
  align-items:flex-end;justify-content:center;
  gap:1.5rem;
}
.about-hero-img{
  width:100%;max-width:520px;border-radius:12px;
  object-fit:cover;display:block;
  filter:brightness(.85) saturate(1.1);
}
/* Innovation badge */
.about-hero-innovation{
  background:rgba(10,20,50,.75);backdrop-filter:blur(10px);
  border:1px solid rgba(0,180,255,.2);border-radius:10px;
  padding:.7rem 1rem;display:flex;align-items:flex-start;gap:.6rem;
  min-width:200px;
}
.innovation-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 8px var(--cyan);
  margin-top:.35rem;flex-shrink:0;
}
.innovation-label{font-size:.72rem;font-weight:700;color:var(--cyan);letter-spacing:1px;margin-bottom:.2rem;}
.innovation-sub{font-size:.75rem;color:var(--muted);line-height:1.5;}
/* Talented badge */
.about-hero-badge{
  background:rgba(10,20,50,.8);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.1);border-radius:12px;
  padding:.8rem 1.2rem;display:flex;align-items:center;gap:.8rem;
}
.badge-icon{
  font-size:1.4rem;color:var(--cyan);
  filter:drop-shadow(0 0 6px rgba(0,180,255,.5));
}
.badge-num{font-size:1.3rem;font-weight:900;color:#fff;line-height:1;}
.badge-lbl{font-size:.72rem;color:var(--muted);margin-top:.15rem;}

/* ── SECTIONS ── */
.about-section{padding:5rem 2.5rem;position:relative;z-index:1;}
.about-inner{max-width:1280px;margin:0 auto;}
.sec-tag{display:inline-block;color:var(--cyan);font-size:.78rem;font-weight:700;letter-spacing:1.5px;margin-bottom:.8rem;}
.sec-title{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;margin-bottom:.8rem;}
.sec-sub{color:var(--muted);font-size:1rem;line-height:1.8;max-width:560px;}

/* ── STORY ── */
.story-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;margin-top:3rem;
}
.story-img-wrap{position:relative;}
.story-img{
  width:100%;border-radius:16px;object-fit:cover;
  border:1px solid rgba(0,180,255,.15);
  box-shadow:0 0 40px rgba(0,80,200,.2);
}
.story-badge{
  position:absolute;bottom:-1.2rem;right:-1.2rem;
  background:linear-gradient(135deg,var(--blue2),var(--cyan));
  border-radius:14px;padding:1.2rem 1.6rem;
  text-align:center;box-shadow:0 0 30px rgba(0,180,255,.4);
}
.story-badge-num{font-size:2.2rem;font-weight:900;color:#fff;line-height:1;}
.story-badge-label{font-size:.75rem;font-weight:600;color:rgba(255,255,255,.8);margin-top:.2rem;}
.story-text p{color:var(--muted);font-size:.97rem;line-height:1.9;margin-bottom:1.2rem;}
.story-text p:last-child{margin-bottom:0;}

/* ── VALUES ── */
.values-section{background:var(--navy2);}
.values-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.5rem;margin-top:3rem;
}
.value-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:14px;padding:2rem 1.6rem;
  transition:border-color .3s,transform .3s,box-shadow .3s;
  backdrop-filter:blur(8px);
}
.value-card:hover{border-color:rgba(0,180,255,.4);transform:translateY(-4px);box-shadow:0 0 28px rgba(0,180,255,.1);}
.value-icon{font-size:1.8rem;color:var(--cyan);margin-bottom:1rem;filter:drop-shadow(0 0 8px rgba(0,180,255,.5));}
.value-title{font-size:1rem;font-weight:700;margin-bottom:.6rem;color:#fff;}
.value-desc{color:var(--muted);font-size:.88rem;line-height:1.7;}
.value-desc p{margin-bottom:.8rem;}
.value-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;}
.value-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;color:var(--muted);line-height:1.5;}
.value-list li i{color:var(--cyan);font-size:.75rem;margin-top:.25rem;flex-shrink:0;}

/* ── STATS ── */
.stats-section{
  background:linear-gradient(135deg,rgba(0,100,200,.1),rgba(108,63,197,.06));
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:4rem 2.5rem;
}
.stats-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2rem;text-align:center;max-width:1280px;margin:0 auto;
}
.stat-item{}
.stat-num{font-size:2.8rem;font-weight:900;color:var(--cyan);text-shadow:0 0 20px rgba(0,180,255,.4);line-height:1;}
.stat-unit{font-size:1.4rem;font-weight:900;color:var(--cyan);}
.stat-lbl{color:var(--muted);font-size:.9rem;margin-top:.5rem;}

/* ── TEAM ── */
.team-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.5rem;margin-top:3rem;
}
.team-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:14px;overflow:hidden;
  transition:border-color .3s,transform .3s;
  text-align:center;
}
.team-card:hover{border-color:rgba(0,180,255,.35);transform:translateY(-4px);}
.team-avatar{
  width:100%;aspect-ratio:1;object-fit:cover;
  background:linear-gradient(135deg,rgba(0,40,100,.8),rgba(0,20,60,.9));
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;color:var(--cyan);
}
.team-avatar-placeholder{
  width:100%;aspect-ratio:1;
  background:linear-gradient(135deg,rgba(0,40,100,.8),rgba(0,20,60,.9));
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;color:var(--cyan);
}
.team-info{padding:1.2rem 1rem;}
.team-name{font-size:.95rem;font-weight:700;color:#fff;margin-bottom:.3rem;}
.team-role{font-size:.8rem;color:var(--cyan);font-weight:600;}
.team-desc{font-size:.78rem;color:var(--muted);margin-top:.5rem;line-height:1.6;}

/* ── TIMELINE ── */
.timeline-section{background:var(--navy2);}
.timeline{position:relative;margin-top:3rem;padding-left:2rem;}
.timeline::before{
  content:"";position:absolute;left:0;top:0;bottom:0;
  width:2px;background:linear-gradient(to bottom,var(--cyan),transparent);
}
.timeline-item{
  position:relative;padding:0 0 2.5rem 2.5rem;
  opacity:0;transform:translateX(-20px);
  transition:opacity .6s ease,transform .6s ease;
}
.timeline-item.visible{opacity:1;transform:translateX(0);}
.timeline-dot{
  position:absolute;left:-2.35rem;top:.3rem;
  width:14px;height:14px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 12px rgba(0,180,255,.6);
  border:2px solid var(--navy2);
}
.timeline-year{font-size:.78rem;font-weight:700;color:var(--cyan);letter-spacing:1px;margin-bottom:.4rem;}
.timeline-title{font-size:1rem;font-weight:700;color:#fff;margin-bottom:.4rem;}
.timeline-desc{color:var(--muted);font-size:.88rem;line-height:1.7;}

/* ── FADE IN ── */
.fade-up{
  opacity:0;transform:translateY(22px);
  transition:opacity .7s ease,transform .7s ease;
}
.fade-up.visible{opacity:1;transform:translateY(0);}
.fade-up:nth-child(2){transition-delay:.1s;}
.fade-up:nth-child(3){transition-delay:.2s;}
.fade-up:nth-child(4){transition-delay:.3s;}

/* ── RESPONSIVE ── */
@media(max-width:1000px){
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .values-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  .about-hero-inner{grid-template-columns:1fr;}
  .about-hero-right{display:none;}
  .story-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .values-grid,.team-grid,.stats-grid{grid-template-columns:1fr;}
}

/* ══ CAPABILITIES SECTIONS ══ */

/* ── Cap Hero ── */
.cap-hero{
  position:relative;overflow:hidden;
  padding:6rem 2.5rem 5rem;
  background:var(--navy);
}
.cap-hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(to right, rgba(5,10,30,.92) 50%, rgba(5,10,30,.4) 100%),
    url("../asset/about/sec3.png") center right / cover no-repeat;
}
.cap-hero-inner{
  max-width:1280px;margin:0 auto;position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;
}
.cap-hero-title{
  font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1.2;
  color:#fff;margin-bottom:1rem;
}
.cap-hero-accent{color:var(--cyan);display:block;font-size:.6em;}
.cap-hero-sub{color:var(--muted);font-size:.95rem;line-height:1.9;margin-bottom:2rem;max-width:500px;}
.cap-icons{display:flex;gap:1.5rem;flex-wrap:wrap;}
.cap-icon-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;min-width:70px;}
.cap-icon-circle{
  width:52px;height:52px;border-radius:50%;
  background:rgba(0,180,255,.12);border:1px solid rgba(0,180,255,.25);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;color:var(--cyan);
  filter:drop-shadow(0 0 6px rgba(0,180,255,.3));
}
.cap-icon-lbl{font-size:.72rem;color:var(--muted);line-height:1.4;}
.cap-hero-right{display:flex;align-items:center;justify-content:center;}
.cap-hero-img{width:100%;border-radius:12px;object-fit:cover;opacity:0;pointer-events:none;}

/* ── Cap Service ── */
.cap-service-section{padding:4rem 2.5rem;}
.cap-service-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:3.5rem;align-items:center;
}
.cap-service-grid--reverse{direction:rtl;}
.cap-service-grid--reverse > *{direction:ltr;}
.cap-service-title{
  font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;
  line-height:1.3;margin-bottom:.8rem;color:#fff;
}
.cap-service-desc{color:var(--muted);font-size:.92rem;line-height:1.8;margin-bottom:1.2rem;}
.cap-btn{
  display:inline-flex;align-items:center;gap:.6rem;
  color:var(--cyan);font-size:.85rem;font-weight:600;
  text-decoration:none;border-bottom:1px solid rgba(0,180,255,.3);
  padding-bottom:.2rem;transition:gap .2s,border-color .2s;
}
.cap-btn:hover{gap:.9rem;border-color:var(--cyan);}
.cap-service-imgs{
  display:grid;grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;gap:.75rem;
  border-radius:14px;overflow:hidden;
}
.cap-img-main{
  grid-column:1;grid-row:1/3;
  width:100%;height:100%;object-fit:cover;border-radius:10px;
}
.cap-img-main--full{
  grid-column:1/3;grid-row:1;
  height:260px;
}
.cap-lab-img-wrap{
  grid-column:1/3;grid-row:2;
}
.cap-lab-img{
  width:100%;height:180px;object-fit:cover;border-radius:10px;
}
.cap-img-sub{
  grid-column:2;grid-row:1/3;
  width:100%;height:100%;object-fit:cover;border-radius:10px;
}

/* ── Lab Stats ── */
.cap-lab-stats{
  grid-column:1/3;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:.75rem;margin-top:.25rem;
}
.cap-lab-stat{
  background:rgba(0,180,255,.07);border:1px solid rgba(0,180,255,.15);
  border-radius:10px;padding:.9rem .8rem;text-align:center;
}
.cap-lab-stat-num{font-size:1.1rem;font-weight:800;color:var(--cyan);line-height:1.2;margin-bottom:.3rem;}
.cap-lab-stat-lbl{font-size:.7rem;color:var(--muted);line-height:1.4;}

/* ── TMI Section ── */
.cap-tmi-section{
  background:linear-gradient(135deg,rgba(0,40,100,.25),rgba(108,63,197,.1));
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:4rem 2.5rem;
}
.cap-tmi-grid{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1fr auto auto;
  gap:3rem;align-items:center;
}
.cap-tmi-title{font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:800;color:#fff;line-height:1.3;margin-bottom:.4rem;}
.cap-tmi-sub{color:var(--cyan);font-size:.82rem;font-weight:600;margin-bottom:.8rem;}
.cap-tmi-logo{display:flex;align-items:center;justify-content:center;}
.cap-tmi-img{max-width:180px;width:100%;object-fit:contain;filter:drop-shadow(0 0 20px rgba(255,255,255,.15));}
/* Cert Card */
.cap-cert-card{
  background:rgba(10,20,50,.8);backdrop-filter:blur(10px);
  border:1px solid rgba(0,180,255,.2);border-radius:14px;
  padding:1.5rem 1.8rem;min-width:200px;position:relative;overflow:hidden;
}
.cap-cert-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,180,255,.05),transparent);
}
.cap-cert-header{
  font-size:.7rem;font-weight:700;letter-spacing:2px;
  color:var(--muted);margin-bottom:.8rem;
}
.cap-cert-title{font-size:.82rem;font-weight:700;color:#fff;line-height:1.5;margin-bottom:.6rem;}
.cap-cert-std{font-size:1.2rem;font-weight:900;color:var(--cyan);margin-bottom:.3rem;}
.cap-cert-no{font-size:.8rem;color:var(--muted);}
.cap-cert-seal{
  position:absolute;bottom:.8rem;right:.8rem;
  font-size:2rem;color:rgba(0,180,255,.2);
}

/* ── Responsive ── */
@media(max-width:900px){
  .cap-hero-inner,.cap-service-grid,.cap-tmi-grid{grid-template-columns:1fr;}
  .cap-hero-right{display:none;}
  .cap-service-grid--reverse{direction:ltr;}
  .cap-lab-stats{grid-template-columns:repeat(2,1fr);}
  .cap-tmi-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .cap-icons{gap:1rem;}
  .cap-lab-stats{grid-template-columns:1fr 1fr;}
  .cap-tmi-grid{grid-template-columns:1fr;}
}
