/* --- About Page Specific Styles --- */

/* Hero Section */
.about-hero {
    text-align: center;
    padding: 100px 20px;
    background: radial-gradient(circle at center, #2a2a2a, var(--dark-bg));
}

.about-hero h1 {
    font-size: 3rem;
    margin-bottom: 20px;
    color: white;
}

.about-hero p {
    font-size: 1.2rem;
    color: var(--text-dim);
    max-width: 700px;
    margin: 0 auto;
}

/* Titles */
.section-title {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 10px;
    color: white;
}

.section-subtitle {
    text-align: center;
    color: var(--text-dim);
    margin-bottom: 50px;
}

/* --- How It Works (Timeline) --- */
.how-it-works {
    padding: 80px 0;
    background: var(--dark-bg);
}

.process-steps {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.step-card {
    background: #252525;
    padding: 30px;
    border-radius: 15px;
    text-align: center;
    width: 250px;
    border: 1px solid rgba(255,255,255,0.05);
    transition: transform 0.3s;
}

.step-card:hover { transform: translateY(-5px); }

/* Highlight the middle step */
.step-card.featured {
    border-color: var(--primary);
    background: rgba(33, 150, 243, 0.1);
    box-shadow: 0 0 20px rgba(33, 150, 243, 0.1);
}

.step-icon {
    font-size: 2.5rem;
    color: var(--primary);
    margin-bottom: 20px;
}

.step-card h3 { margin-bottom: 10px; color: white; }
.step-card p { font-size: 0.9rem; color: var(--text-dim); }

.step-arrow {
    font-size: 1.5rem;
    color: #444;
}

/* --- Tech Stack --- */
.tech-stack {
    padding: 80px 0;
    background: #202020;
}

.tech-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto;
}

.tech-item {
    text-align: center;
    padding: 20px;
}

.tech-item i {
    font-size: 3rem;
    color: var(--text-dim);
    margin-bottom: 15px;
    transition: color 0.3s;
}

.tech-item:hover i { color: var(--primary); }
.tech-item h4 { color: white; margin-bottom: 5px; }
.tech-item p { color: #888; font-size: 0.9rem; }

/* --- Compatibility --- */
.compatibility {
    padding: 80px 0;
}

.browser-table {
    max-width: 600px;
    margin: 0 auto;
    background: #252525;
    border-radius: 10px;
    overflow: hidden;
}

.browser-row {
    display: flex;
    justify-content: space-between;
    padding: 15px 30px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.browser-row.header {
    background: #333;
    font-weight: bold;
    color: white;
}

.browser-row:last-child { border-bottom: none; }
.browser-row span { color: var(--text-light); display: flex; align-items: center; gap: 10px; }

.status.supported { color: #4caf50; font-weight: 600; }

/* Mobile Adjustments */
@media (max-width: 768px) {
    .process-steps { flex-direction: column; }
    .step-arrow { transform: rotate(90deg); margin: 10px 0; }
    .about-hero h1 { font-size: 2rem; }
    .step-card { width: 100%; max-width: 300px; }
}