*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background-color: #131313; color: #e2e2e2; font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }
::selection { background: #ff516a; color: #fff; }

.glass-nav { background: rgba(19,19,19,0.75); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border-bottom: 1px solid rgba(94,62,64,0.12); }
.cta-gradient { background: linear-gradient(135deg, #ffb2b6 0%, #ff516a 100%); color: #5b0016; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; display: inline-block; }

/* FAQ accordion */
.faq-item { border-bottom: 1px solid rgba(94,62,64,0.15); }
.faq-trigger { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 1.25rem 0; cursor: pointer; background: none; border: none; text-align: left; color: #e2e2e2; gap: 1rem; }
.faq-trigger:hover .faq-q { color: #ffb2b6; }
.faq-q { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 0.95rem; transition: color 0.2s; }
.faq-icon { flex-shrink: 0; color: #ffb2b6; transition: transform 0.3s ease; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-body { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.faq-item.open .faq-body { max-height: 600px; }
.faq-content { padding: 0 0 1.25rem 0; font-family: 'Inter', sans-serif; font-size: 0.875rem; line-height: 1.8; color: rgba(226,226,226,0.72); }
.faq-content strong { color: #e2e2e2; }
.faq-content a { color: #ffb2b6; }
.faq-content a:hover { text-decoration: underline; }

/* Step rows */
.step-row { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.4rem 0; }
.step-num { width: 20px; height: 20px; border-radius: 50%; background: rgba(255,178,182,0.12); color: #ffb2b6; font-family: 'Space Grotesk', sans-serif; font-size: 0.65rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }

/* Contact directory row */
.contact-row { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.85rem 1rem; background: #1f1f1f; border-left: 2px solid rgba(255,178,182,0.2); border-radius: 0 0.25rem 0.25rem 0; }
.contact-row:hover { border-left-color: #ffb2b6; }
.contact-label { font-family: 'Space Grotesk', sans-serif; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(226,226,226,0.4); }
.contact-email { font-family: 'Inter', sans-serif; font-size: 0.85rem; color: #ffb2b6; }
.contact-email:hover { text-decoration: underline; }

/* Permission code rows */
.perm-row { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.6rem 0.9rem; background: #1b1b1b; margin-bottom: 0.4rem; border-radius: 0.25rem; }
.perm-note { font-size: 0.78rem; color: rgba(226,226,226,0.55); }

/* Billing step cards */
.billing-card { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.85rem 1rem; background: #1f1f1f; border-radius: 0.25rem; margin-bottom: 0.5rem; }
.billing-card code { font-family: 'Courier New', monospace; font-size: 0.75rem; color: #ffb2b6; background: rgba(255,178,182,0.08); padding: 0.1rem 0.4rem; border-radius: 0.2rem; }

/* Reveal */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

/* Sidebar */
.toc-link { transition: color 0.2s, padding-left 0.2s; display: block; }
.toc-link:hover, .toc-link.active { color: #ffb2b6; padding-left: 4px; }

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #0e0e0e; }
::-webkit-scrollbar-thumb { background: #353535; }
::-webkit-scrollbar-thumb:hover { background: #ff516a; }

@media (max-width: 1023px) { .sidebar { display: none; } }
