/* NeurAeon shared footer: brand + sitemap columns over a slim legal bar. Plain CSS, no Tailwind dependency. */
.nf-footer{
  --nf-bg:#0b1620; --nf-fg:#e6eef2; --nf-muted:#8fa3ae; --nf-line:rgba(255,255,255,.08); --nf-accent:#2dd4bf;
  background:var(--nf-bg); color:var(--nf-fg);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  padding-block:64px 28px; position:relative; overflow:hidden;
}
.nf-footer::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(45,212,191,.55),transparent)}
.nf-wrap{max-width:80rem;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.nf-top{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--nf-line)}
@media (min-width:768px){.nf-top{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:48px}}
.nf-brand{min-width:0}
.nf-logo{display:flex;align-items:center;gap:12px;color:var(--nf-fg);text-decoration:none;margin-bottom:16px}
.nf-wordmark{display:flex;flex-direction:column;line-height:1.15}
.nf-wordmark b{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700;font-size:18px;letter-spacing:-.025em;color:var(--nf-fg)}
.nf-wordmark small{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--nf-muted)}
.nf-brand p{color:var(--nf-muted);font-size:14px;line-height:1.65;margin:0;max-width:34ch}
.nf-status{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:6px 12px;border:1px solid var(--nf-line);border-radius:999px;font-size:12px;color:var(--nf-muted)}
.nf-status i{width:7px;height:7px;border-radius:50%;background:var(--nf-accent);box-shadow:0 0 0 3px rgba(45,212,191,.18)}
.nf-col{min-width:0}
.nf-col h4{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--nf-fg);margin:0 0 16px}
.nf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.nf-col a{color:var(--nf-muted);font-size:14px;text-decoration:none;transition:color .2s}
.nf-col a:hover,.nf-col a:focus-visible{color:var(--nf-accent)}
.nf-bottom{display:flex;flex-direction:column;gap:10px;padding-top:24px;font-size:13px;color:var(--nf-muted)}
.nf-bottom p{margin:0}
@media (min-width:768px){.nf-bottom{flex-direction:row;justify-content:space-between;align-items:center}}
.nf-footer a:focus-visible{outline:2px solid var(--nf-accent);outline-offset:3px;border-radius:4px}
@media (max-width:767px){.nf-top{grid-template-columns:1fr 1fr}.nf-brand{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.nf-col a{transition:none}}

/* Logo motion, matching the header: wave draws in when the footer scrolls into view, nodes pulse */
.nf-node{animation:nfPulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes nfPulse{0%,100%{opacity:1}50%{opacity:.45}}
.nf-in .nf-wave{stroke-dasharray:100;animation:nfDraw 1.6s ease-in-out both}
@keyframes nfDraw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.nf-node,.nf-in .nf-wave{animation:none}}

/* Header logo on Digital Shadow / About: same mark as the main site header, drawn on page load */
.ds-logo-svg{display:block;flex-shrink:0}
.ds-logo-wave{stroke-dasharray:100;animation:nfDraw 2s ease-in-out both}
.ds-brand strong{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-size:18px;letter-spacing:-.025em;color:#111827}
.ds-brand small{font-size:10px;letter-spacing:.3em;font-weight:500;color:#6b7280}
@media (prefers-reduced-motion:reduce){.ds-logo-wave{animation:none}}
/* Header logo draw-in on every page (homepage defines its own; this covers the rest) */
.logo-path{stroke-dasharray:1000;stroke-dashoffset:1000;animation:nfDrawLong 2s ease-in-out forwards}
@keyframes nfDrawLong{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.logo-path{animation:none;stroke-dashoffset:0}}
/* Teal accent line under the header, matching the line across the top of the footer */
#navbar::after,.sh-nav::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(13,148,136,.55),transparent)}
.sh-nav{position:sticky}

/* ===== Dark header (opt-in via the nav toggle; html[data-nav=dark]) ===== */
html[data-nav=dark] #navbar,html[data-nav=dark] #navbar.nav-glass,html[data-nav=dark] .sh-nav{background:#0b1620!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06)!important}
html[data-nav=dark] #navbar::after,html[data-nav=dark] .sh-nav::after{background:linear-gradient(90deg,transparent,rgba(45,212,191,.55),transparent)}
html[data-nav=dark] #navbar.shadow-sm,html[data-nav=dark] .sh-nav.sh-scrolled{box-shadow:0 8px 24px rgba(0,0,0,.25)!important}
html[data-nav=dark] #navbar .text-gray-900,html[data-nav=dark] .sh-word b{color:#e6eef2!important}
html[data-nav=dark] #navbar .text-gray-500,html[data-nav=dark] .sh-word small{color:#8fa3ae!important}
html[data-nav=dark] #navbar .nav-link.text-gray-700,html[data-nav=dark] .sh-link{color:#c3d1d8!important}
html[data-nav=dark] #navbar .nav-link:hover,html[data-nav=dark] .sh-link:hover,html[data-nav=dark] .sh-link:focus-visible{color:#2dd4bf!important}
html[data-nav=dark] #navbar .nav-link.text-teal-600,html[data-nav=dark] .sh-link[aria-current=page]{color:#2dd4bf!important}
html[data-nav=dark] #navbar .bg-teal-600,html[data-nav=dark] .sh-link .sh-ul{background:#2dd4bf!important}
html[data-nav=dark] .nf-sx-ch{color:#2dd4bf!important}
html[data-nav=dark] #navbar .dropdown-menu,html[data-nav=dark] .sh-dd-menu{background:#0f1d29!important;border-color:rgba(255,255,255,.08)!important;box-shadow:0 20px 40px rgba(0,0,0,.4)!important}
html[data-nav=dark] #navbar .dropdown-menu a,html[data-nav=dark] .sh-dd-menu a{color:#c3d1d8!important;background:transparent!important}
html[data-nav=dark] #navbar .dropdown-menu a:hover,html[data-nav=dark] .sh-dd-menu a:hover,html[data-nav=dark] #navbar .dropdown-menu a.bg-teal-50,html[data-nav=dark] .sh-dd-menu a[aria-current=page]{background:rgba(45,212,191,.1)!important;color:#2dd4bf!important}
html[data-nav=dark] #mobileMenuBtn div,html[data-nav=dark] .sh-burger span{background:#e6eef2!important}
html[data-nav=dark] #mobileMenu,html[data-nav=dark] .sh-mobile{background:#0b1620!important}
html[data-nav=dark] #mobileMenu a,html[data-nav=dark] .sh-mobile a{color:#e6eef2!important}
html[data-nav=dark] #mobileMenu a:hover,html[data-nav=dark] #mobileMenu a.text-teal-600,html[data-nav=dark] .sh-mobile a:hover,html[data-nav=dark] .sh-mobile a[aria-current=page]{color:#2dd4bf!important}
html[data-nav=dark] #navbar a:focus-visible,html[data-nav=dark] #navbar button:focus-visible,html[data-nav=dark] .sh-nav a:focus-visible,html[data-nav=dark] .sh-nav button:focus-visible{outline-color:#2dd4bf!important}

/* Stop the "For Investors" shine from leaking outside the button (inline <a> ignores overflow:hidden) */
.magnetic-btn{display:inline-block}
/* Light/dark nav toggle */
.nf-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid rgba(17,24,39,.12);background:transparent;color:#374151;cursor:pointer;transition:background .2s,color .2s,border-color .2s;flex-shrink:0;padding:0}
.nf-theme-toggle:hover{color:#0d9488;border-color:rgba(13,148,136,.4);background:rgba(13,148,136,.06)}
.nf-theme-toggle:focus-visible{outline:2px solid #0d9488;outline-offset:3px}
.nf-theme-toggle svg{width:18px;height:18px}
.nf-theme-toggle .nf-sun{display:none}
html[data-nav=dark] .nf-theme-toggle{color:#c3d1d8;border-color:rgba(255,255,255,.14)}
html[data-nav=dark] .nf-theme-toggle:hover{color:#2dd4bf;border-color:rgba(45,212,191,.45);background:rgba(45,212,191,.08)}
html[data-nav=dark] .nf-theme-toggle .nf-sun{display:block}
html[data-nav=dark] .nf-theme-toggle .nf-moon{display:none}
.nf-mob{display:flex;align-items:center;gap:8px}
@media (min-width:1024px){.nf-mob{display:none}}
/* Footer follows the header theme: light by default, dark when the toggle is on */
html:not([data-nav=dark]) .nf-footer{--nf-bg:#ffffff;--nf-fg:#111827;--nf-muted:#4b5563;--nf-line:rgba(17,24,39,.08);--nf-accent:#0d9488;border-top:1px solid rgba(0,0,0,.05)}
html:not([data-nav=dark]) .nf-footer::before{background:linear-gradient(90deg,transparent,rgba(13,148,136,.55),transparent)}
html:not([data-nav=dark]) .nf-status i{box-shadow:0 0 0 3px rgba(13,148,136,.15)}
