/* Authentication page styles – minimal, leveraging base.css */
.hero-auth { padding: var(--space-48) 0; border-bottom: 1px solid var(--color-border); }
.hero-auth__inner { display: grid; gap: var(--space-24); align-items: center; grid-template-columns: 1.1fr 0.9fr; }
@media (max-width: 920px) { .hero-auth__inner { grid-template-columns: 1fr; } }
.hero-auth__text { max-width: 60ch; }
.hero-auth__cta { display: flex; gap: var(--space-16); flex-wrap: wrap; }
.hero-auth__media img { border-radius: var(--radius-md); }

.section { padding: var(--space-48) 0; }

/* Steps grid */
.steps-grid { counter-reset: step; display: grid; gap: var(--space-16); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-top: var(--space-16); list-style: none; padding: 0; }
.steps-grid > li { position: relative; padding-top: var(--space-24); }
.steps-grid > li::before { counter-increment: step; content: counter(step); position: absolute; top: 10px; left: 12px; width: 32px; height: 32px; border-radius: var(--radius-pill); display: inline-flex; align-items: center; justify-content: center; background: var(--color-primary); color: #0b0c0e; font-weight: 700; box-shadow: var(--shadow-sm); }

.process-figure img, .cert-figure img { border-radius: var(--radius-md); }

/* FAQ */
.faq { display: grid; gap: var(--space-12); }
.faq details { background: var(--color-surface-1); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 10px 12px; box-shadow: var(--shadow-sm); }
.faq summary { cursor: pointer; font-weight: 600; outline: none; }
.faq__content { padding-top: 8px; color: var(--gray-100); }
.faq details[open] { box-shadow: var(--shadow-md); }

/* CTA row */
.cta-row { display: flex; gap: var(--space-16); flex-wrap: wrap; margin-top: var(--space-16); }
