/* Landing page & legal pages – additions to app.css */

.hero__trust { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 0; margin: 22px 0 0; font-size: .9rem; color: var(--text-muted); }
.hero__trust li { display: inline-flex; align-items: center; gap: 7px; }
.hero__trust .icon { width: 18px; height: 18px; color: var(--success); }
@media (max-width: 900px) { .hero__trust { justify-content: center; } }

.hero__visual { position: relative; display: flex; align-items: center; justify-content: center; min-height: 380px; }
.hero__visual::before { content: ''; position: absolute; left: 50%; top: 50%; width: 70%; padding-top: 70%; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(26, 115, 232, .24), rgba(26, 115, 232, 0)); pointer-events: none; will-change: transform, opacity; animation: hero-glow 8s ease-in-out infinite; }
@keyframes hero-glow { 0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(.9); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); } }
.hero__float { position: relative; width: min(540px, 92%); }
.hero__icon { width: 100%; height: auto; will-change: transform; animation: hero-float 8s ease-in-out infinite; }
@keyframes hero-float { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -12px, 0); } }
.hero__icon--dark { display: none; }
[data-theme="dark"] .hero__icon--light { display: none; }
[data-theme="dark"] .hero__icon--dark { display: block; }

@media (max-width: 900px) { .hero__visual { min-height: 0; margin-top: 12px; } .hero__float { width: min(380px, 85%); } }
.platform--live { border-color: var(--success); }
.landing-disclaimer { margin: 0; align-items: flex-start; }
.landing-disclaimer .icon { width: 26px; height: 26px; color: var(--warning); }
.landing-disclaimer p { margin: 6px 0 8px; }

/* reveal-on-scroll / fly-in (progressively enhanced: without JS everything is simply visible) */
.js .reveal { opacity: 0; transform: translate3d(0, 32px, 0); transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: var(--reveal-delay, 0ms); will-change: opacity, transform; }
.js .reveal--right { transform: translate3d(48px, 0, 0) scale(.96); }
.js .reveal--left { transform: translate3d(-48px, 0, 0); }
.js .reveal.is-visible { opacity: 1; transform: none; }

/* 404 */
.notfound { padding: 40px 0; }
.notfound__code { font-size: clamp(4rem, 12vw, 8rem); font-weight: 800; line-height: 1; background: var(--accent-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Legal pages */
.legal { max-width: 800px; margin: 0 auto; padding: 48px 0; }
.legal h1 { margin-bottom: 8px; }
.legal .legal__meta { color: var(--text-muted); margin-bottom: 28px; }
.legal h2 { font-size: 1.25rem; margin-top: 32px; }
.legal h3 { font-size: 1.05rem; margin-top: 20px; }
.legal p, .legal li { color: var(--text); line-height: 1.7; }
.legal ul { padding-left: 22px; }
.legal address { font-style: normal; line-height: 1.7; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 18px; }
.legal .placeholder { color: var(--warning-text); background: var(--warning-soft); padding: 0 6px; border-radius: 4px; font-size: .9em; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }

/* Legal pages: operator address as image (anti-scraping), theme-dependent */
.legal-address { display: block; margin: 2px 0 0; }
.legal-address__img { display: block; height: auto; width: 196px; max-width: 100%; }
.legal-address__img--light { display: none; }
[data-theme="light"] .legal-address__img--dark { display: none; }
[data-theme="light"] .legal-address__img--light { display: block; }
