/* ============================================================ ABOUT US COMPONENT Split layout: left text content, right stat/image block ============================================================ */ .about { padding: 6rem 0; background-color: var(--color-bg); transition: background-color 0.4s ease; } .about-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; } /* ── Left: content ─────────────────────────────────────── */ .about-content .section-subtitle { margin-bottom: 1.5rem; } .about-body { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.8; margin-bottom: 1rem; } .about-body + .about-body { margin-bottom: 2rem; } .about-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2rem; } .about-tag { display: inline-block; padding: 0.35rem 0.9rem; border-radius: var(--radius-md); border: 1px solid var(--color-border); font-size: 0.8rem; font-weight: 600; color: var(--color-text-muted); background-color: var(--color-surface); transition: all 0.2s ease; } .about-tag:hover { border-color: var(--color-primary); color: var(--color-primary); background-color: var(--color-primary-soft); } /* ── Right: visual panel ───────────────────────────────── */ .about-visual { display: flex; flex-direction: column; gap: 1rem; } .about-stat-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } .about-stat-card { background-color: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg); padding: 1.75rem 1.5rem; position: relative; overflow: hidden; transition: border-color 0.3s ease, transform 0.3s ease; } .about-stat-card:hover { border-color: var(--card-hover-border); transform: translateY(-2px); } .about-stat-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); opacity: 0; transition: opacity 0.3s ease; } .about-stat-card:hover::before { opacity: 1; } .about-stat-number { font-family: var(--font-heading); font-size: 2.2rem; font-weight: 900; color: var(--color-primary); line-height: 1; margin-bottom: 0.4rem; } .about-stat-label { font-size: 0.82rem; font-weight: 600; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.06em; } .about-stat-desc { font-size: 0.8rem; color: var(--color-text-muted); margin-top: 0.4rem; line-height: 1.5; } /* ── Team row ──────────────────────────────────────────── */ .about-team-card { background-color: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg); padding: 1.5rem; display: flex; align-items: center; gap: 1rem; transition: border-color 0.3s ease; } .about-team-card:hover { border-color: var(--card-hover-border); } .about-team-avatars { display: flex; } .about-team-avatars span { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--color-bg); background-color: var(--color-surface-2); display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 700; color: var(--color-text); margin-right: -10px; transition: background-color 0.3s ease; } .about-team-avatars span:last-child { background-color: var(--color-primary); color: var(--color-btn-text); font-size: 0.65rem; } .about-team-info { padding-left: 14px; } .about-team-title { font-size: 0.9rem; font-weight: 700; color: var(--color-heading); margin-bottom: 0.2rem; } .about-team-sub { font-size: 0.8rem; color: var(--color-text-muted); } /* ── Responsive ─────────────────────────────────────────── */ @media (max-width: 900px) { .about-inner { grid-template-columns: 1fr; gap: 3rem; } }