/* Shared presentation for the public legal and marketing documents. */
:root {
    color-scheme: dark;
}

html {
    scroll-behavior: smooth;
}

body {
    height: auto;
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    color: #f7f9ff;
    background: #030712;
    font-family: var(--bs-font-sans-serif, system-ui, sans-serif);
    display: block;
}

.public-header {
    position: sticky;
    top: 0;
    z-index: 2000;
    padding: .8rem 1rem .45rem;
    background: linear-gradient(180deg, rgba(3, 7, 18, .98) 0%, rgba(3, 7, 18, .88) 72%, rgba(3, 7, 18, 0) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.public-header__inner {
    width: min(1180px, 100%);
    min-height: 64px;
    margin-inline: auto;
    padding: .55rem .7rem .55rem 1rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 2rem;
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 16px;
    background: rgba(7, 13, 25, .78);
    box-shadow: 0 20px 45px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .025);
    backdrop-filter: blur(18px);
}

.public-brand { display: inline-flex; width: fit-content; }
.public-brand img { display: block; width: auto; height: 34px; max-width: 170px; }
.public-nav, .public-actions { display: flex; align-items: center; }
.public-nav { gap: 1.7rem; }
.public-actions { justify-content: flex-end; gap: 1rem; }
.public-nav a, .public-login { color: #aab6c8; font-size: .78rem; font-weight: 700; text-decoration: none; }
.public-nav a:hover, .public-login:hover { color: #fff; }
.public-cta { min-height: 42px; display: inline-flex; align-items: center; padding: 0 1rem; border-radius: 9px; color: #fff; background: linear-gradient(135deg, #1e74ff, #4c63ff); box-shadow: 0 12px 28px rgba(54, 120, 255, .28); font-size: .76rem; font-weight: 800; text-decoration: none; }

.public-static-page {
    min-height: calc(100vh - 88px);
    background: radial-gradient(circle at 14% 2%, rgba(54, 120, 255, .14), transparent 27rem), radial-gradient(circle at 90% 18%, rgba(122, 48, 255, .12), transparent 30rem), linear-gradient(180deg, #030712 0%, #050a15 46%, #030712 100%);
}

.public-static-page main { padding: clamp(3rem, 6vw, 5rem) 1rem; }
.public-static-page .container { max-width: 1180px; }
.public-static-page .bg-white { color: #d7dfec !important; border: 1px solid rgba(148, 163, 184, .14); background: rgba(11, 19, 35, .92) !important; box-shadow: 0 25px 60px rgba(0, 0, 0, .3) !important; }
.public-static-page h1, .public-static-page h2, .public-static-page h3 { color: #f7f9ff; }
.public-static-page .text-muted { color: #aab6c8 !important; }
.public-static-page a { color: #82adff; }

.public-static-page footer.public-footer { border-top: 1px solid rgba(148, 163, 184, .14); background: #030712 !important; }
.public-static-page footer.public-footer .text-muted { color: #9db2d3 !important; opacity: 1 !important; }
.public-static-page footer.public-footer a { color: #b8c4d6; }
.public-static-page footer.public-footer a:hover { color: #fff; }

@media (max-width: 760px) {
    .public-header { padding-inline: .65rem; }
    .public-header__inner { grid-template-columns: 1fr auto; }
    .public-nav, .public-login { display: none; }
    .public-brand img { height: 30px; }
}
