/* ══════════════════════════════════════════
   about.html 專屬樣式
   所有字級皆引用 style.css 的 --fs-* token
   ══════════════════════════════════════════ */

* {  margin: 0; padding: 0; box-sizing: border-box;  }
.navbar {  position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: rgba(10,31,60,0.97); backdrop-filter: blur(12px); padding: 0 40px;  }
.page-hero {  background: linear-gradient(160deg, #0A1F3C 0%, #162247 100%); padding: 120px 40px 60px; text-align: center; color: white;  }
.section {  padding: 72px 40px;  }
.about-grid {  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start;  }
.about-text h2 {  font-size: var(--fs-xl); font-weight: 800; margin-bottom: 16px;  }
.about-text p {  font-size: var(--fs-sm); color: var(--text2); line-height: 1.9; margin-bottom: 16px;  }
.timeline {  position: relative; padding-left: 28px;  }
.timeline::before {  content: ''; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, var(--primary), var(--accent));  }
.timeline-item {  position: relative; margin-bottom: 28px;  }
.timeline-item::before {  content: ''; position: absolute; left: -24px; top: 5px; width: 14px; height: 14px; background: var(--primary); border-radius: 50%; border: 3px solid white; box-shadow: 0 0 0 2px var(--primary);  }
.timeline-year {  font-size: var(--fs-3xs); font-weight: 700; color: var(--primary); margin-bottom: 4px;  }
.timeline-item h4 {  font-size: var(--fs-sm); font-weight: 800; margin-bottom: 4px;  }
.timeline-item p {  font-size: var(--fs-2xs); color: var(--text2); line-height: 1.6;  }
.values-grid {  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;  }
.value-card {  background: white; border-radius: var(--radius); padding: 24px; border: 1px solid var(--border); transition: var(--transition); box-shadow: var(--shadow-sm);  }
.value-card:hover {  transform: translateY(-2px); box-shadow: var(--shadow-md);  }
.value-icon {  font-size: var(--fs-3xl); margin-bottom: 12px;  }
.value-card h4 {  font-size: var(--fs-sm); font-weight: 800; margin-bottom: 6px; color: var(--primary);  }
.value-card p {  font-size: var(--fs-2xs); color: var(--text2); line-height: 1.6;  }
.team-grid {  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;  }
.team-card {  background: white; border-radius: var(--radius); padding: 28px 20px; text-align: center; border: 1px solid var(--border); box-shadow: var(--shadow-sm);  }
.team-avatar {  width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--accent)); display: flex; align-items: center; justify-content: center; font-size: var(--fs-3xl); font-weight: 900; color: white; margin: 0 auto 14px;  }
.team-card h4 {  font-size: var(--fs-sm); font-weight: 800; margin-bottom: 4px;  }
.team-card .role {  font-size: var(--fs-3xs); color: var(--primary); font-weight: 700; margin-bottom: 10px;  }
.team-card p {  font-size: var(--fs-3xs); color: var(--text2); line-height: 1.6;  }
.stats-row {  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; background: var(--navy); border-radius: var(--radius); overflow: hidden;  }
.stat-box {  padding: 32px 20px; text-align: center;  }
.stat-box .num {  font-size: var(--fs-3xl); font-weight: 900; color: var(--accent); line-height: 1; margin-bottom: 6px;  }
.stat-box .lbl {  font-size: var(--fs-3xs); color: rgba(255,255,255,0.55);  }
.cta-row {  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;  }
.cta-row a {  display: inline-flex; align-items: center; gap: 8px; padding: 13px 28px; border-radius: 50px; font-weight: 700; font-size: var(--fs-xs); text-decoration: none; transition: var(--transition);  }
.cta-row .primary {  background: var(--primary); color: white;  }
.cta-row .primary:hover {  background: var(--primary-dark);  }
.cta-row .outline {  border: 1.5px solid var(--primary); color: var(--primary);  }
.cta-row .outline:hover {  background: var(--primary); color: white;  }
footer {  background: var(--navy); color: white; padding: 56px 40px 0;  }
@media (max-width: 1024px) {
.about-grid {  grid-template-columns: minmax(0, 1fr);  }
.stats-row {  grid-template-columns: repeat(2, minmax(0, 1fr));  }
.team-grid {  grid-template-columns: repeat(2, minmax(0, 1fr));  }
}
@media (max-width: 768px) {
.section {  padding: 56px 20px;  }
.page-hero {  padding: 110px 20px 50px;  }
.values-grid {  grid-template-columns: minmax(0, 1fr);  }
.team-grid {  grid-template-columns: minmax(0, 1fr);  }
.stats-row {  grid-template-columns: repeat(2, minmax(0, 1fr));  }
.navbar {  padding: 0 20px;  }
}