/* Shared solution page styles */
.solution-page { padding: 140px 0 80px; }

.solution-hero { text-align: center; margin-bottom: 72px; max-width: 760px; margin-left: auto; margin-right: auto; }
.solution-hero h1 { font-size: clamp(2rem, 4.5vw, 2.75rem); font-weight: 800; margin-bottom: 16px; line-height: 1.15; letter-spacing: -0.02em; }
.solution-hero > p { color: var(--text-muted); font-size: 1.05rem; line-height: 1.7; max-width: 600px; margin: 0 auto 32px; }
.solution-hero .hero-ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

.solution-section { margin-bottom: 80px; }
.solution-section h2 { font-size: 1.75rem; font-weight: 800; margin-bottom: 16px; letter-spacing: -0.01em; }
.solution-section > p { color: var(--text-muted); font-size: 1rem; line-height: 1.7; max-width: 640px; margin-bottom: 40px; }
.solution-section.centered { text-align: center; }
.solution-section.centered > p { margin-left: auto; margin-right: auto; }

.capabilities-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.capability-card {
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 16px;
    padding: 28px; transition: 0.3s ease;
}
.capability-card:hover { border-color: rgba(0,200,83,0.25); transform: translateY(-2px); }

.capability-icon {
    width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
    background: rgba(0,200,83,0.1); border-radius: 10px; color: var(--primary-light); margin-bottom: 16px;
}

.capability-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; }
.capability-card p { font-size: 0.85rem; color: var(--text-muted); line-height: 1.6; }

/* Use cases */
.use-cases-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }

.use-case-card {
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 16px;
    padding: 28px; display: flex; gap: 16px; align-items: flex-start; transition: 0.3s ease;
}
.use-case-card:hover { border-color: rgba(0,200,83,0.2); }

.use-case-num {
    width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
    background: rgba(0,200,83,0.1); border-radius: 8px; color: var(--primary-light);
    font-weight: 800; font-size: 0.85rem; flex-shrink: 0;
}

.use-case-card h4 { font-size: 0.95rem; font-weight: 700; margin-bottom: 6px; }
.use-case-card p { font-size: 0.82rem; color: var(--text-muted); line-height: 1.6; }

/* How it works */
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

.step-card { text-align: center; position: relative; }

.step-num {
    width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;
    background: rgba(0,200,83,0.1); border: 1px solid rgba(0,200,83,0.2); border-radius: 50%;
    color: var(--primary-light); font-weight: 800; font-size: 1.1rem; margin: 0 auto 16px;
}

.step-card h4 { font-size: 0.95rem; font-weight: 700; margin-bottom: 6px; }
.step-card p { font-size: 0.8rem; color: var(--text-muted); line-height: 1.5; }

/* Industries list */
.industries-list { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }

.industry-tag {
    padding: 8px 18px; background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 100px; font-size: 0.82rem; font-weight: 500; color: var(--text-muted);
    transition: 0.3s ease;
}
.industry-tag:hover { border-color: rgba(0,200,83,0.3); color: var(--text); }

/* CTA inline */
.solution-cta {
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 20px;
    padding: 56px 40px; text-align: center; position: relative; overflow: hidden;
}
.solution-cta h2 { font-size: 1.5rem; font-weight: 800; margin-bottom: 12px; }
.solution-cta p { color: var(--text-muted); max-width: 480px; margin: 0 auto 28px; font-size: 0.95rem; }
.solution-cta .cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* Schema-friendly FAQ */
.faq-list { max-width: 700px; margin: 0 auto; }

.faq-item {
    border-bottom: 1px solid var(--border); padding: 20px 0;
}

.faq-item summary {
    font-weight: 600; font-size: 0.95rem; cursor: pointer; list-style: none;
    display: flex; justify-content: space-between; align-items: center;
}

.faq-item summary::after {
    content: '+'; font-size: 1.2rem; color: var(--primary-light); transition: 0.2s;
}

.faq-item[open] summary::after { content: '−'; }

.faq-item p { color: var(--text-muted); font-size: 0.88rem; line-height: 1.7; margin-top: 12px; }

@media (max-width: 768px) {
    .capabilities-grid { grid-template-columns: 1fr; }
    .use-cases-grid { grid-template-columns: 1fr; }
    .steps-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 420px) {
    .steps-grid { grid-template-columns: 1fr; }
}
