/* Hallmark · macrostructure: Shared chrome · tone: polished · anchor hue: violet */
html, body { overflow-x: clip; }
.public-nova-header { position: sticky; top: 0; z-index: 1000; padding: 1rem 0; background: transparent; color: oklch(17% .07 300); font-family: Manrope, sans-serif; }
.public-nova-header .nova-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 4.6rem; padding: .6rem 1.2rem; border: 1px solid oklch(55% .24 302 / .14); border-radius: 1.5rem; background: oklch(98% .015 300 / .76); box-shadow: 0 1rem 3rem oklch(55% .24 302 / .1); }
.public-nova-header .nova-brand img { display: block; width: 180px; height: auto; }
.public-nova-header .nova-nav { display: flex; align-items: center; gap: 34px !important; margin-left: auto; }
.public-nova-header .nova-nav { padding: .3rem .8rem; border: 1px solid oklch(55% .24 302 / .14); border-radius: 999px; background: oklch(100% .01 300 / .5); }
.public-nova-header .nova-nav a { padding: 12.4px 16.4px; font-family: Manrope, sans-serif !important; font-size: 16px !important; line-height: 1.7 !important; font-weight: 800 !important; }
.public-nova-header .nova-nav a, .public-nova-header .nova-login { color: oklch(17% .07 300); font-family: Manrope, sans-serif !important; font-size: 16px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.public-nova-header .nova-nav a:hover, .public-nova-header .nova-login:hover { color: var(--mystic-violet, #7c3aed); }
.public-nova-header .nova-header__actions { display: flex; align-items: center; gap: 10px !important; }
.public-nova-header .nova-header__actions .nova-login { padding: 13.6px 15.6px; }
.public-nova-header .nova-header__cta { display: inline-flex; align-items: center; gap: 10px; width: 160.171875px; padding: 16.4px 21px; border-radius: 999px; background: oklch(55% .24 302); color: oklch(98% .015 300); font-family: Manrope, sans-serif !important; font-size: 15.6px; font-weight: 800; line-height: 1 !important; text-decoration: none; white-space: nowrap; box-shadow: 0 .65rem 1.4rem oklch(55% .24 302 / .18); }
.public-nova-header .nova-header__cta:hover { background: oklch(42% .21 302); color: oklch(98% .015 300); }
.public-logo-dark { display: none !important; }
.public-nova-header .nova-theme-toggle { --theme-toggle-cutout: var(--mystic-paper, #faf8ff); position: relative; display: inline-grid; place-items: center; width: 2.35rem; height: 2.35rem; padding: 0; overflow: hidden; border: 1px solid oklch(100% .01 300 / .18); border-radius: 50%; background: transparent; color: oklch(55% .24 302); font-family: Manrope, sans-serif; cursor: pointer; }
.public-nova-header .nova-theme-toggle__scene { position: relative; display: block; width: 1.35rem; height: 1.35rem; }
.public-nova-header .nova-theme-toggle__sun, .public-nova-header .nova-theme-toggle__moon { position: absolute; inset: 0; margin: auto; display: block; transition: opacity 360ms ease, transform 480ms cubic-bezier(.2,.8,.2,1); }
.public-nova-header .nova-theme-toggle__sun { width: .68rem; height: .68rem; border-radius: 50%; background: var(--mystic-violet, #7c3aed); box-shadow: 0 -.56rem 0 -.25rem var(--mystic-violet, #7c3aed), 0 .56rem 0 -.25rem var(--mystic-violet, #7c3aed), .56rem 0 0 -.25rem var(--mystic-violet, #7c3aed), -.56rem 0 0 -.25rem var(--mystic-violet, #7c3aed), .4rem .4rem 0 -.25rem var(--mystic-violet, #7c3aed), -.4rem -.4rem 0 -.25rem var(--mystic-violet, #7c3aed), .4rem -.4rem 0 -.25rem var(--mystic-violet, #7c3aed), -.4rem .4rem 0 -.25rem var(--mystic-violet, #7c3aed); opacity: 1; transform: scale(1) rotate(0deg); }
.public-nova-header .nova-theme-toggle__moon { width: .9rem; height: .9rem; border-radius: 50%; background: var(--mystic-lilac, #d9b8ff); opacity: 0; transform: scale(.35) rotate(90deg); }
.public-nova-header .nova-theme-toggle__moon::after { position: absolute; top: -.18rem; right: -.18rem; width: .8rem; height: .8rem; border-radius: 50%; background: var(--theme-toggle-cutout); content: ''; }
.public-nova-header .nova-theme-toggle[data-theme="dark"] .nova-theme-toggle__sun { opacity: 0; transform: scale(.35) rotate(-90deg); }
.public-nova-header .nova-theme-toggle[data-theme="dark"] .nova-theme-toggle__moon { opacity: 1; transform: scale(1) rotate(0deg); }
.public-nova-header .nova-theme-toggle:hover { border-color: var(--mystic-violet, #7c3aed); background: var(--mystic-paper-soft, #f2edff); }
.public-nova-menu, .public-mobile-nav { display: none; }
.legacy-public-header { display: none !important; }
body.dark-mode .public-nova-header { background: transparent; }
body.light-mode .public-nova-header .nova-header__inner,
body.light-mode .public-nova-header .nova-nav { border-color: oklch(55% .24 302 / .14) !important; }
body.dark-mode .public-nova-header .nova-header__inner { border-color: var(--mystic-rule, #6d4a92) !important; background: oklch(17% .07 300 / .78); box-shadow: 0 1rem 3rem oklch(8% .04 300 / .3); }
body.dark-mode .public-nova-header .nova-nav { border-color: var(--mystic-rule, #6d4a92) !important; background: oklch(10% .05 300 / .38); }
body.home-v3-page.dark-mode .public-nova-header .nova-header__inner,
body.home-v3-page.dark-mode .public-nova-header .nova-nav { border-color: #6d4a92 !important; }
body.home-v3-page.dark-mode .public-nova-header .nova-theme-toggle { border-color: #6d4a92 !important; }
body.dark-mode .public-nova-header .nova-nav a, body.dark-mode .public-nova-header .nova-login { color: oklch(92% .025 300); }
body.dark-mode .public-logo-light { display: none !important; }
body.dark-mode .public-logo-dark { display: block !important; }
body.dark-mode .public-nova-header .nova-theme-toggle { --theme-toggle-cutout: var(--mystic-night, #24123e); border-color: var(--mystic-rule, #6d4a92); color: var(--mystic-lilac, #d9b8ff); }
body.dark-mode .public-nova-header .nova-theme-toggle:hover { background: var(--mystic-night, #24123e); }
@media (max-width: 991.98px) { .public-nova-header { padding: .55rem .7rem; } .public-nova-header .nova-nav, .public-nova-header .nova-header__actions { display: none; } .public-nova-menu { display: grid; gap: .35rem; padding: .65rem; border: 0; background: transparent; } .public-nova-menu span { display: block; width: 1.5rem; height: 2px; background: var(--mystic-violet, oklch(55% .24 302)) !important; } .public-mobile-nav { display: none; margin-top: .55rem; padding: 1rem; border: 1px solid color-mix(in oklab, #7c3aed 18%, transparent); border-radius: 1.15rem; background: color-mix(in oklab, var(--mystic-paper, #faf8ff) 94%, transparent); } .public-mobile-nav.is-open { display: grid; gap: .9rem; } .public-mobile-nav a { color: var(--mystic-ink, #171329); font-weight: 700; text-decoration: none; } body.dark-mode .public-mobile-nav { background: #24123e; } body.dark-mode .public-mobile-nav a { color: #f3eefe; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .public-nova-header .nova-nav { gap: .2rem !important; } .public-nova-header .nova-nav a { padding: .62rem .55rem; } .public-nova-header .nova-header__actions { gap: .35rem !important; } .public-nova-header .nova-header__actions .nova-login { padding: .68rem .55rem; } .public-nova-header .nova-header__cta { width: auto; padding: .82rem .9rem; } }
@media (max-width: 414px) { .public-nova-header .nova-header__inner { min-height: 4.5rem; } .public-nova-header .nova-brand img { width: 7.8rem; } }
@media (max-width: 991.98px) { .public-nova-menu span { background: var(--mystic-violet, #7c3aed) !important; } }
@media (max-width: 991.98px) { body.light-mode .public-nova-menu span { background: oklch(55% .24 302 / .14) !important; } body.dark-mode .public-nova-menu span { background: #6d4a92 !important; } }
@media (max-width: 991.98px) { body.light-mode .public-nova-menu span { box-shadow: 0 0 7px oklch(55% .24 302 / .32); } body.dark-mode .public-nova-menu span { box-shadow: 0 0 8px oklch(70% .2 302 / .46); } }
