/* ════════════════════════════════════════════════════════════════
   MiniMind — shared public styles (tokens, nav, footer, helpers)
   Loaded on every public page. Page-specific styles live in
   home.css / pages.css.
════════════════════════════════════════════════════════════════ */

:root {
    --c-primary:     #6366f1;
    --c-primary-dk:  #4f46e5;
    --c-violet:      #8b5cf6;
    --c-amber:       #f59e0b;
    --c-green:       #10b981;
    --c-pink:        #ec4899;
    --c-sky:         #0ea5e9;
    --c-red:         #ef4444;
    --c-dark:        #0a0a1a;
    --c-dark2:       #12122a;
    --c-text:        #111827;
    --c-muted:       #6b7280;
    --c-border:      #e5e7eb;
    --c-soft:        #f8faff;
    --grad-main:     linear-gradient(135deg, #6366f1, #8b5cf6);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: var(--c-text); overflow-x: hidden; }
h1,h2,h3,h4,.display-font { font-family: 'Space Grotesk', 'Inter', sans-serif; }
a { text-decoration: none; }
img { max-width: 100%; display: block; }

/* ── Helpers ──────────────────────────────────────────────────── */
.text-gradient {
    background: var(--grad-main);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.text-gradient-gold {
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.sec { padding: 96px 0; }
.sec-sm { padding: 64px 0; }
.sec-dark { background: var(--c-dark); }
.sec-soft { background: var(--c-soft); }
.sec-badge {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(99,102,241,.1); color: var(--c-primary);
    padding: 5px 14px; border-radius: 100px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px;
    margin-bottom: 16px;
}
.sec-badge-dk { background: rgba(99,102,241,.2); color: #a78bfa; }
.sec-title { font-size: clamp(1.75rem,3.5vw,2.6rem); font-weight: 900; line-height: 1.2; margin-bottom: 16px; }
.sec-sub   { font-size: 1.05rem; color: var(--c-muted); line-height: 1.75; max-width: 640px; }

/* ── Scroll fade-up ───────────────────────────────────────────── */
.fade-up { opacity: 0; transform: translateY(32px); transition: opacity .65s ease, transform .65s ease; }
.fade-up.in { opacity: 1; transform: translateY(0); }
.fade-up.d1 { transition-delay: .1s; }
.fade-up.d2 { transition-delay: .2s; }
.fade-up.d3 { transition-delay: .3s; }
.fade-up.d4 { transition-delay: .4s; }
.fade-up.d5 { transition-delay: .5s; }
.fade-up.d6 { transition-delay: .6s; }

/* ── Navigation ───────────────────────────────────────────────── */
#site-nav {
    background: rgba(10,10,26,.92);
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255,255,255,.06);
    position: sticky; top: 0; z-index: 1100; padding: 14px 0;
    transition: box-shadow .3s;
}
#site-nav .brand {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.45rem; font-weight: 900; color: #fff;
}
#site-nav .brand em { color: var(--c-amber); font-style: normal; }
.nav-item-link {
    color: rgba(255,255,255,.72) !important; font-size: 14px; font-weight: 500;
    padding: 6px 14px !important; transition: color .2s, background .2s; border-radius: 8px;
}
.nav-item-link:hover { color: #fff !important; background: rgba(255,255,255,.06); }
.btn-nav-dl {
    background: var(--grad-main);
    color: #fff !important; border-radius: 10px; padding: 8px 20px !important;
    font-weight: 700; font-size: 13.5px; transition: all .2s; border: none;
    box-shadow: 0 4px 16px rgba(99,102,241,.35);
}
.btn-nav-dl:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(99,102,241,.5); }
.navbar-toggler { border-color: rgba(255,255,255,.2); }

/* ── Footer ───────────────────────────────────────────────────── */
footer { background: #050510; padding: 72px 0 32px; }
.foot-brand { font-family: 'Space Grotesk',sans-serif; font-size: 1.5rem; font-weight: 900; color: #fff; margin-bottom: 14px; }
.foot-brand em { color: var(--c-amber); font-style: normal; }
.foot-desc { font-size: .875rem; color: rgba(255,255,255,.45); line-height: 1.75; max-width: 280px; }
.foot-h { font-size: .8rem; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: .6px; margin-bottom: 16px; }
.foot-link { display: block; color: rgba(255,255,255,.48); font-size: .875rem; padding: 4px 0; transition: color .2s; }
.foot-link:hover { color: #fff; }
.foot-link-sm { font-size: .8rem; }
.foot-divider { border-color: rgba(255,255,255,.07); margin: 48px 0 24px; }
.foot-bottom { font-size: .8rem; color: rgba(255,255,255,.35); }
.social-btn {
    width: 38px; height: 38px; border-radius: 10px;
    background: rgba(255,255,255,.06); display: inline-flex;
    align-items: center; justify-content: center;
    color: rgba(255,255,255,.55); font-size: 1rem; transition: all .2s;
}
.social-btn:hover { background: var(--c-primary); color: #fff; transform: translateY(-2px); }

/* ── Reduced motion ───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
    html { scroll-behavior: auto; }
    .fade-up { opacity: 1; transform: none; }
    .pod-bar { transform: scaleY(1); }
    .mission-fill { width: var(--w); }
}
