/* Novus Energy — Website Rev A marketing styles */

:root {
    --novus-navy: #0A1428;
    --novus-navy-deep: #060D1B;
    --novus-teal: #5BBFA8;
    --novus-teal-dark: #2E8B78;
    --novus-text: #0A1428;
    --novus-muted: #64748B;
    --novus-slate: #94A3B8;
    --novus-bg: #F8FAFC;
    --novus-border: #E2E8F0;
}

body.novus-mkt-body {
    margin: 0;
    background: var(--novus-bg);
    color: var(--novus-text);
    font-family: 'IBM Plex Sans', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.novus-mkt-body * {
    box-sizing: border-box;
}

body.novus-mkt-body a {
    text-decoration: none;
}

body.novus-mkt-body .novus-mkt-content a {
    color: var(--novus-teal-dark);
}

body.novus-mkt-body .novus-mkt-content a:hover {
    color: var(--novus-navy);
}

@keyframes novusTicker {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes novusRail {
    from { transform: translateY(0); }
    to { transform: translateY(-50%); }
}

@keyframes novusFund {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* Hover helpers (replaces style-hover attributes) */
.novus-hover-white:hover { color: #fff !important; }
.novus-hover-teal:hover { color: var(--novus-teal) !important; border-color: var(--novus-teal) !important; }
.novus-hover-bg-white:hover { background: #fff !important; }
.novus-hover-bg-teal:hover { background: var(--novus-teal-dark) !important; }
.novus-hover-border-navy:hover { border-color: var(--novus-navy) !important; color: var(--novus-navy) !important; }
.novus-hover-border-white:hover { border-color: #fff !important; }
.novus-hover-bg-light:hover { background: var(--novus-bg) !important; }

.novus-mkt-nav-link {
    font-size: 14px;
    color: #94A3B8;
    transition: color 0.2s;
}

.novus-mkt-nav-link:hover,
.novus-mkt-nav-link.active {
    color: #fff;
    font-weight: 500;
}

.novus-mkt-nav-link.active {
    font-weight: 600;
}

.novus-mkt-staff-btn {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    color: #64748B;
    border: 1px solid rgba(255, 255, 255, 0.14);
    padding: 8px 12px;
    transition: color 0.2s, border-color 0.2s;
}

.novus-mkt-staff-btn:hover {
    color: #fff;
    border-color: #5BBFA8;
}

.novus-mkt-cta-btn {
    font-size: 13px;
    font-weight: 600;
    color: #0A1428;
    background: #5BBFA8;
    padding: 9px 16px;
    border-radius: 2px;
    transition: background 0.2s;
}

.novus-mkt-cta-btn:hover {
    background: #fff;
    color: #0A1428;
}

.novus-mkt-content input,
.novus-mkt-content select,
.novus-mkt-content textarea {
    font-family: 'IBM Plex Sans', system-ui, sans-serif;
}

.novus-mkt-content input:focus,
.novus-mkt-content select:focus,
.novus-mkt-content textarea:focus {
    outline: none;
    border-color: var(--novus-teal-dark);
}

.novus-mkt-content ::placeholder {
    color: var(--novus-slate);
}

.novus-form-panel [data-novus-form-sent] {
    display: none;
}

.novus-form-panel {
    position: relative;
}

.novus-form-panel.is-sent [data-novus-form-active] {
    display: none;
}

.novus-form-panel.is-sent [data-novus-form-sent] {
    display: flex;
}

.novus-form-file-name {
    display: none;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11.5px;
    letter-spacing: 0.06em;
    color: var(--novus-teal-dark);
}

.novus-form-file-name.is-visible {
    display: block;
}

.novus-hp {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.novus-form-panel .cf-turnstile {
    margin: 4px 0;
}

.novus-hover-row:hover { background: rgba(255, 255, 255, 0.03) !important; }

.novus-flip-card:hover {
    transform: rotateY(180deg) !important;
}

.novus-flip-card {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform .65s cubic-bezier(.3,.7,.3,1);
}

@media (max-width: 768px) {
    .novus-mkt-nav-links {
        display: none !important;
    }

    .novus-mkt-hamburger {
        display: flex !important;
    }
}

#novusMktMobileMenu.open {
    display: flex !important;
}
