/* Locked Nannovative design-system tokens shared by public and admin UI. */
:root {
    --nv-bg: #101010;
    --nv-bg-deep: #050505;
    --nv-accent: #0ABAB5;
    --nv-accent-dark: #089f9a;
    --nv-text: #FFFFFF;
    --nv-text-soft: rgba(255,255,255,.78);
    --nv-text-muted: rgba(255,255,255,.45);
    --nv-glass-05: rgba(255,255,255,.05);
    --nv-glass-10: rgba(255,255,255,.10);
    --nv-accent-10: rgba(10,186,181,.10);
    --nv-accent-30: rgba(10,186,181,.30);
    --nv-border: rgba(255,255,255,.10);
    --nv-border-strong: rgba(255,255,255,.18);
    --nv-shadow-glass: 0 18px 60px rgba(0,0,0,.32);
    --nv-shadow-cyan: 0 16px 42px rgba(10,186,181,.20);
    --nv-font-title: "Bayon", "Arial Narrow", sans-serif;
    --nv-font-display: "Bayon", "Arial Narrow", sans-serif;
    --nv-font-body: "Space Grotesk", Arial, sans-serif;
    --nv-ease-premium: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --nv-transition: 300ms ease;
    --nv-transition-card: 400ms var(--nv-ease-premium);
    --nv-container-max: 1720px;

    --nanno-bg: var(--nv-bg);
    --nanno-bg-deep: var(--nv-bg-deep);
    --nanno-accent: var(--nv-accent);
    --nanno-accent-dark: var(--nv-accent-dark);
    --nanno-text: var(--nv-text);
    --nanno-muted: rgba(255,255,255,.56);
    --nanno-border: rgba(255,255,255,.12);
    --nanno-font-display: var(--nv-font-display);
    --nanno-font-body: var(--nv-font-body);
}

.nv-page {
    background: radial-gradient(circle at 50% 0, rgba(10,186,181,.08), transparent 38%), var(--nv-bg-deep);
    color: var(--nv-text);
    font-family: var(--nv-font-body);
}

.nv-container {
    width: min(100% - 32px, var(--nv-container-max));
    margin-inline: auto;
}

.nv-title-hero,
.nv-title-page {
    font-family: var(--nv-font-display);
    font-weight: 400;
    letter-spacing: 0;
    text-transform: uppercase;
}

.nv-title-hero { font-size: clamp(52px, 8vw, 128px); line-height: .92; }
.nv-title-page { font-size: clamp(45px, 6vw, 80px); line-height: .95; }
.nv-section-title { font-size: clamp(40px, 4.2vw, 60px); line-height: 1; }
.nv-body { color: var(--nv-text-soft); font-size: clamp(17px, 1.2vw, 20px); line-height: 1.55; }
.nv-muted { color: var(--nv-text-muted); }

.nv-status-dot {
    display: inline-block;
    width: .65em;
    height: .65em;
    border-radius: 50%;
    background: var(--nv-accent);
    box-shadow: 0 0 18px rgba(10,186,181,.42);
}
