/* ==========================================================================
   NOVETUM.AI · dark technical theme (overrides base novetum.css)
   Loaded AFTER novetum.css on every novetum.ai page.
   ========================================================================== */

:root{
  --bg:        #070C17;
  --bg-2:      #0A1120;
  --card:      #0C1424;
  --card-2:    #0F1A30;
  --card-soft: #12203A;
  --line:      #1B2944;
  --line-2:    #2B3D63;
  --ink:       #E7EDFA;
  --ink-2:     #A9BAD8;
  --ink-3:     #7486AB;

  --b-night:   #02050E;
  --b-deep:    #1642A6;
  --b-royal:   #2F6CE6;
  --b-azure:   #4E8DF5;
  --b-sky:     #7FB0F8;
  --b-soft:    #A5C6FA;
  --b-ice:     #C8DBFB;
  --b-mist:    #DBE8FD;
  --b-halo:    #152137;

  --accent:     var(--b-royal);
  --accent-deep: var(--b-deep);
  --accent-soft: var(--b-halo);
  --accent-ring: rgba(47,108,230,.22);
  --b-grad:     linear-gradient(135deg, #4E8DF5 0%, #2F6CE6 55%, #1642A6 100%);
  --b-grad-soft: linear-gradient(135deg, #12203A 0%, #0A1120 100%);

  --shadow-1: 0 12px 32px -12px rgba(2,5,14,.6), 0 4px 12px -4px rgba(2,5,14,.5);
  --shadow-2: 0 24px 48px -16px rgba(2,5,14,.7);
  --glow: 0 0 0 1px rgba(79,141,245,.24), 0 20px 44px -18px rgba(47,108,230,.42);
}

::selection{background:var(--b-azure);color:#fff}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--line-2);border-color:var(--bg)}
::-webkit-scrollbar-thumb:hover{background:var(--b-azure)}

body{background:var(--bg);color:var(--ink)}

.nav{background:rgba(7,12,23,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.drop{background:var(--card-2);border-color:var(--line)}
.drop .di{box-shadow:none}
.burger{background:var(--card)}

.btn-primary{box-shadow:0 10px 24px -10px rgba(47,108,230,.5)}
.btn-ghost{background:var(--card)}
.btn-nb.ghost{background:var(--card);color:var(--ink);border-color:var(--line-2);box-shadow:inset 0 0 0 1px rgba(126,176,248,.10)}
.btn-nb.ghost:hover{border-color:var(--b-azure);color:#fff;box-shadow:inset 0 0 0 1px rgba(79,141,245,.38)}

/* Hero action rows — even vertical rhythm + controlled inline gaps */
.tag-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tag-row .tag{border-color:var(--line-2)}

/* Notched buttons: crisper edge + depth (clip-path clips box-shadow, so glow via drop-shadow) */
.btn-nb{filter:drop-shadow(0 8px 18px rgba(2,5,14,.55))}
.btn-nb.blue{background:linear-gradient(180deg,#5E9AF7 0%,#4E8DF5 46%,#2F6CE6 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.30)}
.btn-nb.blue:hover{background:linear-gradient(180deg,#6BA4F8 0%,#5E9AF7 46%,#3B7BEE 100%);filter:drop-shadow(0 12px 26px rgba(47,108,230,.5))}
.btn-nb.white{background:var(--ink);color:var(--bg)}
.btn-mini.ghost{background:var(--card);color:var(--ink)}

.screen{background:var(--card);border-color:var(--line-2)}
.screen-bar{background:linear-gradient(180deg,#0E1730 0%,#0A1120 100%);border-bottom-color:var(--line)}
.screen-bar .sb-url{background:var(--card);border-color:var(--line);color:var(--ink-2)}
.screen-bar .sb-tag{background:var(--card);border-color:var(--line-2)}

.card{background:var(--card)}
.card:hover .go{color:var(--b-sky)}
.kpi,.action,.node,.fc,.chip,.tag,.marquee,.benefit-bar,.tl-card,.form-card,.stack-card,.why-cell,.quote-cta,.pill,.tl-dot{background:var(--card)}
.kpi::after{background:var(--b-grad)}
.tag-row .tag, .tag-row .chip{background:var(--card)}
.res-tabs a{background:var(--card-2);border-color:var(--line)}
details.faq{background:var(--card)}
.footer{background:var(--bg-2);border-top-color:var(--line)}
.res-card .thumb,.bento-wrap,.stats-bento .stat-card,.hero-map{background:var(--card-2)}
.res-card .thumb .k{background:var(--card)}
.float-card{background:var(--card-2)}
.fc-media .kpi{background:var(--card)}
.band-light{background:var(--bg-2)}

.form-group input,.form-group select,.form-group textarea{background:var(--card-2);border-color:var(--line-2);color:var(--ink)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ink-3)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--card);border-color:var(--b-azure)}

.hero:not(.hero-hf){background:var(--bg)}
.hero.pk::before,.hero.hero-pt::before{opacity:.5}

/* cross-site pill */
.cross-pill{display:none;align-items:center;gap:8px;font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--b-sky);border:1px solid var(--line-2);background:var(--card);padding:8px 12px;border-radius:999px;transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);white-space:nowrap}
.cross-pill:hover{border-color:var(--b-azure);color:#fff;background:var(--card-soft)}
@media (min-width:1180px){.cross-pill{display:inline-flex}}

/* agent constellation map */
.agmap{position:relative;width:100%;max-width:480px;margin-inline:auto}
.agmap svg{width:100%;height:auto;display:block}
.agmap .ag-line{stroke:rgba(126,164,235,.28);stroke-width:1;stroke-dasharray:3 5;animation:agdash 22s linear infinite}
@keyframes agdash{to{stroke-dashoffset:-160}}
.agmap g.node-s{transition:transform .3s var(--ease)}
.agmap g.node-s:hover{transform:scale(1.12)}
.agmap .ag-node{fill:#12203A;stroke:#2B3D63}
.agmap .ag-node.ctrl{fill:var(--b-royal);stroke:#7FB0F8;stroke-width:1.5}
.agmap .ag-core{fill:#0C1424}
.agmap text{fill:var(--ink-2);font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase}
.agmap .ag-pulse{fill:var(--b-azure);transform-origin:center;animation:agpulse 2.6s var(--ease) infinite}
@keyframes agpulse{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.9;transform:scale(1.5)}}
.agmap .ag-ring{fill:none;stroke:#1B2944;stroke-width:1;transform-origin:center;animation:agspin 70s linear infinite}
@keyframes agspin{to{transform:rotate(360deg)}}

/* live agent-action ticker */
.tickbox{margin-top:22px;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.tickbox .tick-head{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.tickbox .tick-head .live{color:var(--b-sky)}
.tickbox .tick-body{position:relative;height:150px;overflow:hidden}
.tickbox .tick-line{position:absolute;left:14px;right:14px;padding:8px 0;border-bottom:1px dashed var(--line);font-family:var(--mono);font-size:.68rem;color:var(--ink-2);opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease), transform .45s var(--ease)}
.tickbox .tick-line.in{opacity:1;transform:none}
.tickbox .tick-line b{color:var(--b-sky);font-weight:700}

/* agent mini demo */
.demo{margin-top:4px;border:1px solid var(--line-2);border-radius:14px;background:var(--card);overflow:hidden}
.demo .demo-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.demo .demo-head .live{color:var(--b-sky)}
.demo .demo-ask{padding:14px 16px 0}
.demo .demo-ask input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line-2);background:var(--card-2);color:var(--ink);font-size:.86rem;outline:none}
.demo .demo-ask input:focus{border-color:var(--b-azure)}
.demo .demo-ask button{margin-top:10px;padding:10px 16px;border:0;border-radius:10px;background:var(--b-grad);color:#fff;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;cursor:pointer}
.demo .demo-reply{min-height:0;max-height:0;overflow:hidden;transition:max-height .5s var(--ease), padding .5s var(--ease)}
.demo .demo-reply.open{min-height:120px;max-height:400px}
.demo .msg .avatar{flex:none;width:26px;height:26px;border-radius:50%;background:var(--b-grad);display:grid;place-items:center;color:#fff;font-family:var(--display);font-weight:800;font-size:.62rem}
.demo .demo-note{padding:10px 16px;border-top:1px dashed var(--line);font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}

/* control preview */
.ctrl-toggle{display:inline-flex;gap:6px;border:1px solid var(--line-2);border-radius:999px;padding:5px;background:var(--card)}
.ctrl-toggle button{border:0;background:transparent;color:var(--ink-2);font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:999px;cursor:pointer;transition:.25s}
.ctrl-toggle button.on{background:var(--b-grad);color:#fff}
.audit-row{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease), transform .5s var(--ease)}
.audit-row.in{opacity:1;transform:none}

/* method timeline */
.scope-line{display:flex;gap:10px;margin:30px 0 8px}
.scope-line i{flex:1;height:2px;border-radius:2px;background:var(--line);transition:background .5s var(--ease)}
.scope-line i.in{background:var(--b-grad)}
.step{border:1px solid var(--line);background:var(--card);transition:border-color .35s var(--ease), background .35s var(--ease)}
.step.on{border-color:var(--b-azure);box-shadow:var(--glow)}

/* breadcrumbs on inner pages */
.crumbs{display:flex;align-items:center;gap:10px;margin-top:122px;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.crumbs a{color:var(--b-sky);text-decoration:none}
.crumbs a:hover{color:#fff}
.crumbs i{font-style:normal;color:var(--line-2)}

/* comparison table on dark */
.compare .them{background:var(--card)}
.compare .us{background:linear-gradient(180deg,var(--b-halo),var(--card))}
.compare .them .compare-label{color:var(--ink-3)}
.compare .us .compare-label{color:var(--b-sky)}
.compare li{color:var(--ink-2)}