/* ── Cinder global motion ────────────────────────────────────────────
   Scroll-reveal for the marketing/content pages. The hide-state only
   applies AFTER the footer script adds `.cinder-reveal`, so no-JS users
   (and reduced-motion users) always see fully-visible content — never a
   blank page. The homepage keeps its own bespoke motion (cinder-home.css);
   this global sheet is harmless there because the footer script bails when
   it detects `.cinder-homepage`.
   ──────────────────────────────────────────────────────────────────── */
.cinder-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
}
.cinder-reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* Defense-in-depth: reduced-motion users never get the hidden state even if
   the script somehow added the class (the script also skips adding it). */
@media (prefers-reduced-motion: reduce) {
    .cinder-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* Opt-in hover lift for content cards that don't already define one. */
.ctv-lift {
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.ctv-lift:hover {
    transform: translateY(-3px);
    box-shadow: var(--cinder-site-shadow-lg, 0 28px 60px rgba(0, 0, 0, 0.4));
}

/* ── Header: account menu relocated into the toolbar (keeps the primary nav
   page-centered when logged in). Inline list; icon-only on phones so it fits. ── */
#header .cinder-toolbar-account { display: flex; align-items: center; }
#header .cinder-toolbar-account > .cinder-nav-secondary {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}
@media (max-width: 1199px) {
    #header .cinder-toolbar-account .nav-label { display: none; }
}
