*,*::before,*::after{box-sizing:border-box;margin: 0;padding: 0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg-page);color:var(--text-primary);line-height:1.6;overflow-x:hidden}

/* NAV */
nav{position:sticky;top:0;z-index: var(--z-shell);padding: 0 5vw;height:72px;display:flex;align-items:center;justify-content:space-between;background:var(--glass-bg);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);transition: box-shadow var(--transition)}
.logo{display:flex;align-items:center;gap: 10px;font-weight:700;font-size:1.25rem;color:var(--text-primary);text-decoration:none}
.logo-name{font-family:var(--font-brand, 'Inter', sans-serif);font-weight:700;font-size:1.4rem;letter-spacing:-.02em}
.logo svg{flex-shrink:0}
.btn-nav{border-radius: 100px;padding: 10px 24px;font-size:var(--text-sm);font-weight:700;background:var(--accent);color:var(--text-on-accent);text-decoration:none;transition: background var(--transition);}
.btn-nav:hover{background:var(--accent-hover);}

/* CONTENT */
.legal-container { max-width: 800px; margin: 0 auto; padding: 120px 5vw; }
.legal-header { margin-bottom: 4rem; }
.legal-title { font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; letter-spacing: -0.03em; margin-bottom: 1rem; color: var(--text-primary); }
.legal-date { font-size: 1rem; color: var(--text-secondary); }
.legal-banner { background: var(--warning-subtle); color: var(--warning); border: 1px solid var(--warning); padding: 16px 24px; border-radius: var(--radius-md); font-weight: 500; font-size: 0.875rem; margin-bottom: 3rem; display: flex; align-items: flex-start; gap: 12px; line-height: 1.5; }
.legal-banner-icon { flex-shrink: 0; margin-top: 4px; }
.legal-rights-cta-wrap { margin-top: 1.5rem; margin-bottom: 2.5rem; }
.legal-rights-cta { display: inline-block; text-decoration: none; }

.legal-content h2 { font-size: 1.5rem; font-weight: 700; margin: 2.5rem 0 1rem; color: var(--text-primary); letter-spacing: -0.01em; }
.legal-content p { font-size: 1rem; color: var(--text-secondary); margin-bottom: 1.25rem; line-height: 1.7; }
.legal-content ul { padding-left: 1.5rem; margin-bottom: 1.5rem; color: var(--text-secondary); font-size: 1rem; }
.legal-content li { margin-bottom: 0.5rem; }
.legal-content a { color: var(--accent); text-decoration: none; }
.legal-content a:hover { text-decoration: underline; }
.legal-demo-link { background:var(--accent); color:var(--text-on-accent); border-radius: 50px; padding: 8px 24px; font-size:0.875rem; font-weight:700; text-decoration:none; transition: background var(--transition); display:inline-block; }
.legal-demo-link:hover { background:var(--accent-hover); }

/* FOOTER */
footer{padding: 120px 5vw 2.618rem;background:var(--bg-card);border-top:1px solid var(--border)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap: 4.236rem;margin-bottom: 4.236rem}
.foot-brand p{font-size:0.875rem;color:var(--text-secondary);margin-top: .75rem;line-height:1.618;max-width:300px}
.foot-brand-tagline, .landing-ai-tagline {opacity:.8}
.foot-col h4{font-family:'Inter',sans-serif;font-size:0.875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);margin-bottom: 1.618rem}
.foot-col a{display:block;font-size:0.875rem;color:var(--text-secondary);text-decoration:none;margin-bottom: .5rem;transition: color var(--transition)}
.foot-col a:hover{color:var(--accent)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top: 1rem;font-size:0.875rem;color:var(--text-muted);flex-wrap:wrap;gap: 1rem}
.foot-security-note{border-top:1px solid var(--border);padding-top: 1.5rem;margin-top: 3rem;color:var(--text-secondary);font-size:0.875rem}
.foot-bottom--compact{border-top:none;padding-top: 1rem;margin-top: 0}
.foot-links{display:flex;gap: 16px}
.foot-link{color:inherit;text-decoration:none}

@media(max-width:1024px){
  .legal-container{padding: 80px 5vw}
  footer{padding: 80px 5vw 2.618rem}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .legal-container{padding: 64px 5vw}
  footer{padding: 64px 5vw 2.618rem}
  .foot-grid{grid-template-columns:1fr;gap: 2.618rem}
}
