/* Clients page specific styles - keep minimal and leverage base.css */

.section { padding-block: var(--space-12); }
.section__actions { margin-top: var(--space-6); }

/* Hero */
.hero { padding-block: var(--space-12) var(--space-10); background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)); }
.hero__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-8); align-items: center; }
.hero__content p { color: var(--color-text-muted); margin-top: var(--space-3); }
.hero__actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.hero__media img { border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); border: 1px solid rgba(255,255,255,0.08); }
@media (max-width: 900px) { .hero__inner { grid-template-columns: 1fr; } }

/* Filters */
.filters { display: flex; gap: var(--space-3); margin-block: var(--space-6) var(--space-6); flex-wrap: wrap; }
.filter-btn[aria-pressed="true"] { outline: var(--focus-outline); outline-offset: 2px; background-color: color-mix(in oklab, var(--color-primary) 30%, black); border-color: color-mix(in oklab, var(--color-primary) 40%, black); }

/* Cases */
.cases-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-6); margin-top: var(--space-2); }
.case__thumb { margin: 0 0 var(--space-4) 0; overflow: hidden; border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,0.08); }
.case__thumb img { width: 100%; height: 220px; object-fit: cover; display: block; }
.card ul { margin: var(--space-3) 0; padding-left: 1.2rem; }
.card blockquote { margin-top: var(--space-3); font-style: italic; }

/* Services */
.services-grid .card { min-height: 160px; }

/* Approach */
.approach-list { counter-reset: step; display: grid; gap: var(--space-5); margin-top: var(--space-4); }
.approach-list li { background: var(--color-elevated); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-lg); padding: var(--space-5); box-shadow: var(--shadow-sm); }
.approach-list h3 { margin-bottom: var(--space-2); font-size: var(--fs-lg); }
.approach-list p { color: var(--color-text-muted); }

/* Testimonials */
.testimonials-grid figure blockquote { color: var(--color-text); }
.testimonials-grid figure figcaption { margin-top: var(--space-3); color: var(--color-text-muted); }

/* FAQ */
.faq details { background: var(--color-elevated); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-md); padding: var(--space-4); box-shadow: var(--shadow-sm); }
.faq details + details { margin-top: var(--space-3); }
.faq summary { cursor: pointer; font-weight: var(--font-weight-medium); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary { list-style: none; position: relative; padding-right: 26px; }
.faq summary::after { content: '+'; position: absolute; right: 0; top: 0; color: var(--color-text-muted); }
.faq details[open] summary::after { content: '–'; }
.faq__content { margin-top: var(--space-3); color: var(--color-text-muted); }

/* Partners */
.partners-grid .card { min-height: 140px; }

/* CTA */
.cta { background: color-mix(in oklab, var(--color-surface) 85%, black); border-top: 1px solid rgba(255,255,255,0.06); border-bottom: 1px solid rgba(255,255,255,0.06); }
.cta__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); }
.cta__content p { color: var(--color-text-muted); margin-top: var(--space-2); }
.cta__actions { display: flex; gap: var(--space-3); flex-wrap: wrap; }
@media (max-width: 900px) { .cta__inner { flex-direction: column; align-items: flex-start; } }

/* Visual section */
.section--visual .visual img { border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,0.08); box-shadow: var(--shadow-md); }