/* ─── My AI Vault — Shared Styles ─── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root {
    --banker-dark: #031631;
    --banker: #1A2B47;
    --surface: #0a1d37;
    --surface-high: #122744;
    --security: #6cf8bb;
    --security-dim: rgba(108, 248, 187, 0.1);
    --security-border: rgba(108, 248, 187, 0.2);
    --text: #f7f9fb;
    --text-secondary: #c5c6ce;
    --text-muted: #74777f;
    --error: #ba1a1a;
    --warning: #d55e00;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--banker-dark);
    color: var(--text);
    overflow-x: hidden;
    line-height: 1.6;
}

.container { max-width: 1140px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }

/* ─── Nav ─── */
.site-nav { padding: 20px 0; display: flex; justify-content: space-between; align-items: center; }
.nav-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.nav-brand img { width: 36px; height: 36px; border-radius: 9px; }
.nav-brand span { font-family: 'Manrope'; font-weight: 800; font-size: 18px; color: var(--text); }
.nav-links { display: flex; gap: 28px; align-items: center; }
.nav-links a { color: var(--text-muted); text-decoration: none; font-size: 14px; font-weight: 500; transition: color .2s; }
.nav-links a:hover { color: var(--security); }
.nav-cta { background: var(--security) !important; color: var(--banker-dark) !important; padding: 10px 22px; border-radius: 10px; font-weight: 700 !important; transition: opacity .2s; }
.nav-cta:hover { opacity: .9; }

/* ─── Footer ─── */
.site-footer { border-top: 1px solid rgba(255,255,255,.05); padding: 40px 0; }
.footer-content { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.footer-brand { display: flex; align-items: center; gap: 10px; }
.footer-brand img { width: 28px; height: 28px; border-radius: 7px; }
.footer-brand span { font-family: 'Manrope'; font-weight: 700; font-size: 15px; }
.footer-links { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-links a { color: var(--text-muted); text-decoration: none; font-size: 13px; transition: color .2s; }
.footer-links a:hover { color: var(--text-secondary); }
.footer-copy { color: var(--text-muted); font-size: 12px; }

/* ─── Legal Pages ─── */
.legal-page { padding: 60px 0 100px; }
.legal-page h1 { font-family: 'Manrope'; font-size: 36px; font-weight: 800; margin-bottom: 8px; }
.legal-page .updated { color: var(--text-muted); font-size: 14px; margin-bottom: 40px; display: block; }
.legal-page h2 { font-family: 'Manrope'; font-size: 22px; font-weight: 700; margin-top: 40px; margin-bottom: 12px; color: var(--security); }
.legal-page p { color: var(--text-secondary); margin-bottom: 16px; line-height: 1.8; }
.legal-page ul { color: var(--text-secondary); padding-left: 24px; margin-bottom: 16px; }
.legal-page ul li { margin-bottom: 8px; line-height: 1.7; }
.legal-page strong { color: var(--text); }
.legal-page a { color: var(--security); text-decoration: none; }
.legal-page a:hover { text-decoration: underline; }
.legal-card { background: var(--surface); border-radius: 20px; padding: 40px; border: 1px solid rgba(255,255,255,.04); margin-top: 20px; }

/* ─── Ambient ─── */
.bg-glow { position: fixed; inset: 0; pointer-events: none; z-index: 0; }
.bg-glow .orb { position: absolute; border-radius: 50%; }
.o1 { width: 500px; height: 500px; background: radial-gradient(circle, rgba(108,248,187,0.04) 0%, transparent 70%); top: -100px; right: -100px; }
.o2 { width: 300px; height: 300px; background: radial-gradient(circle, rgba(26,43,71,0.4) 0%, transparent 70%); bottom: 20%; left: -80px; }

/* ─── Responsive ─── */
@media (max-width: 768px) {
    .site-nav { flex-direction: column; gap: 14px; }
    .nav-links { gap: 14px; flex-wrap: wrap; justify-content: center; }
    .footer-content { flex-direction: column; text-align: center; }
    .footer-links { flex-wrap: wrap; justify-content: center; }
    .legal-page h1 { font-size: 28px; }
    .legal-card { padding: 24px; }
}
