/* ============================================================
   AgentCore — Revenue OS · Operator Dark (calmo)
   Calm, precise, operator-led. No aurora, no neon, no glass,
   no purple/indigo gradients. One restrained green accent.
   Legacy token names (--indigo*, --cyan*) are intentionally
   remapped to the calm palette so every existing page that
   references them updates in one place.
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --bg:        #0C0D0F;
  --bg-1:      #0F1113;
  --bg-2:      #121417;
  --surface:   #16181B;
  --surface-2: #1B1E22;
  --border:    #23262B;
  --border-2:  #2E3338;

  --text:      #ECEEF0;
  --text-2:    #C2C7CE;
  --muted:     #9AA0A8;
  --faint:     #7E848E;   /* raised to clear WCAG AA on --surface */

  /* Single calm-green accent family. Legacy indigo names remap here. */
  --accent:    #3DD68C;
  --accent-2:  #56E0A0;
  --accent-dk: #28A56B;
  --indigo:    #3DD68C;
  --indigo-2:  #56E0A0;
  --indigo-dk: #28A56B;

  /* Quiet desaturated secondary — replaces neon cyan, used sparingly */
  --cyan:      #80B2A9;
  --cyan-2:    #9DC7BE;

  --emerald:   #3DD68C;
  --amber:     #D9A441;
  --rose:      #E0857F;

  /* glows disabled — kept as transparent so old references no-op */
  --glow-indigo: transparent;
  --glow-cyan:   transparent;

  --ring: 0 0 0 1px var(--border);
  --shadow-card: 0 1px 0 rgba(255,255,255,.045) inset, 0 14px 34px -24px rgba(0,0,0,.75);
  --shadow-pop:  0 1px 0 rgba(255,255,255,.06) inset, 0 36px 80px -34px rgba(0,0,0,.9);
  --glow-accent: 0 14px 40px -14px rgba(61,214,140,.42);
  --grad-accent: linear-gradient(135deg, #5EE3A4 0%, #2FB877 100%);
  --grad-surface: linear-gradient(180deg, #1A1D21 0%, #131619 100%);

  --maxw: 1180px;
  --gutter: 24px;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 20px;

  --ff-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ff-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --ease: cubic-bezier(.22,1,.36,1);
  --ease-spring: cubic-bezier(.16,1,.3,1);
}

/* ---------- Reset ---------- */
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; background:var(--bg); overflow-x:hidden; }
body{
  font-family:var(--ff-sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  font-size:16px;
  letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
img{ max-width:100%; display:block; }
::selection{ background:rgba(61,214,140,.24); color:#fff; }

/* scrollbar */
*::-webkit-scrollbar{ width:11px; height:11px; }
*::-webkit-scrollbar-thumb{ background:#262a2e; border-radius:20px; border:3px solid var(--bg); }
*::-webkit-scrollbar-thumb:hover{ background:#333840; }

/* ---------- Layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.section{ position:relative; padding:112px 0; }
.section-sm{ padding:76px 0; }
/* visible section rhythm — lifted panel with crisp edges (kills the flat-wall feel) */
.section.band{
  background:linear-gradient(180deg,#15181C 0%, #101316 100%);
  border-top:1px solid var(--border-2);
  border-bottom:1px solid var(--border-2);
  box-shadow:0 1px 0 rgba(255,255,255,.03) inset;
}
@media(max-width:760px){ .section{ padding:76px 0; } }

.eyebrow{
  font-family:var(--ff-mono);
  font-size:12px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--accent);
  display:inline-flex; align-items:center; gap:9px;
}
.eyebrow.cy{ color:var(--accent); }
.eyebrow::before{
  content:""; width:22px; height:1px;
  background:currentColor; opacity:.55;
}
.eyebrow.no-line::before{ display:none; }

h1,h2,h3{ font-weight:720; letter-spacing:-.035em; line-height:1.03; color:var(--text); }
h1{ font-size:clamp(42px,6vw,76px); }
h2{ font-size:clamp(30px,4vw,50px); line-height:1.06; }
h3{ font-size:clamp(19px,2vw,23px); font-weight:680; letter-spacing:-.025em; line-height:1.25; }
.lede{ font-size:clamp(16.5px,1.5vw,19.5px); color:var(--text-2); line-height:1.6; }
.section-head{ max-width:660px; }
.section-head h2{ margin:16px 0 0; }
.section-head .lede{ margin-top:18px; }
.center{ text-align:center; margin-left:auto; margin-right:auto; }

.grad-text{ background:var(--grad-accent); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }

/* ---------- Buttons (flat, no gradient/glow) ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  height:46px; padding:0 22px;
  border-radius:10px;
  font-size:15px; font-weight:560; letter-spacing:-.01em;
  transition:transform .2s var(--ease), background .2s, border-color .2s, color .2s, box-shadow .2s;
  white-space:nowrap; position:relative;
}
.btn svg{ width:17px; height:17px; }
.btn-primary{
  background:var(--grad-accent);
  color:#03130B;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), var(--glow-accent);
}
.btn-primary:hover{ transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.34), 0 20px 48px -14px rgba(61,214,140,.55); }
.btn-primary:active{ transform:translateY(0); }
.btn-ghost{
  background:transparent;
  color:var(--text);
  box-shadow:inset 0 0 0 1px var(--border-2);
}
.btn-ghost:hover{ background:rgba(255,255,255,.035); box-shadow:inset 0 0 0 1px #3a4046; }
.btn-lg{ height:52px; padding:0 28px; font-size:16px; border-radius:11px; }
.btn-sm{ height:38px; padding:0 16px; font-size:14px; border-radius:9px; }
.btn-block{ width:100%; }
.btn:focus-visible, a:focus-visible, button:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }

.arrow-link{
  display:inline-flex; align-items:center; gap:7px;
  font-weight:540; font-size:15px; color:var(--accent);
  transition:gap .2s var(--ease), color .2s;
}
.arrow-link svg{ width:16px; height:16px; transition:transform .2s var(--ease); }
.arrow-link:hover{ color:var(--accent-2); gap:11px; }

/* ---------- Navbar (flat, hairline — no glass blur) ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  height:64px;
  transition:background .25s, border-color .25s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(12,13,15,.94);
  border-bottom:1px solid var(--border);
}
.nav-inner{ height:100%; display:flex; align-items:center; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:0; font-weight:620; font-size:17px; letter-spacing:-.02em; }
.brand .logo{ margin-right:10px; width:28px; height:28px; border-radius:8px; flex:none; }
.brand b{ font-weight:680; }
.brand .tld{ color:var(--muted); font-weight:500; }
.nav-links{ display:flex; align-items:center; gap:2px; }
.nav-links a{
  padding:8px 13px; border-radius:8px;
  font-size:14.5px; color:var(--text-2); font-weight:480;
  transition:color .2s, background .2s; position:relative;
}
.nav-links a:hover{ color:var(--text); background:rgba(255,255,255,.04); }
.nav-links a.active{ color:var(--text); }
.nav-links a.active::after{
  content:""; position:absolute; left:13px; right:13px; bottom:3px; height:1.5px;
  background:var(--accent); border-radius:2px;
}
.nav-cta{ display:flex; align-items:center; gap:10px; }
.nav-burger{ display:none; width:42px; height:42px; border-radius:9px; align-items:center; justify-content:center; box-shadow:inset 0 0 0 1px var(--border); }
.nav-burger span{ display:block; width:18px; height:1.6px; background:var(--text); position:relative; transition:.3s; }
.nav-burger span::before,.nav-burger span::after{ content:""; position:absolute; left:0; width:18px; height:1.6px; background:var(--text); transition:.3s; }
.nav-burger span::before{ top:-6px; } .nav-burger span::after{ top:6px; }
body.menu-open .nav-burger span{ background:transparent; }
body.menu-open .nav-burger span::before{ top:0; transform:rotate(45deg); }
body.menu-open .nav-burger span::after{ top:0; transform:rotate(-45deg); }

.mobile-menu{
  position:fixed; inset:64px 0 auto 0; z-index:99;
  background:rgba(12,13,15,.98);
  border-bottom:1px solid var(--border);
  padding:14px var(--gutter) 26px;
  display:none; flex-direction:column; gap:4px;
  transform:translateY(-12px); opacity:0; transition:.25s var(--ease);
}
body.menu-open .mobile-menu{ display:flex; transform:none; opacity:1; }
.mobile-menu a{ padding:14px 8px; font-size:18px; color:var(--text-2); border-bottom:1px solid var(--border); }
.mobile-menu a:last-of-type{ border-bottom:none; }
.mobile-menu .btn{ margin-top:14px; }

@media(max-width:880px){
  .nav-links{ display:none; }
  .nav-cta .btn-ghost{ display:none; }
  .nav-burger{ display:flex; }
}

/* ---------- Background (calm, static — no aurora/conic/particles) ---------- */
.bg-fx{ position:fixed; inset:0; z-index:-2; overflow:hidden; pointer-events:none; background:var(--bg); }
/* one calm green depth-glow (not neon, not purple) for premium depth */
.bg-fx::after{ content:""; position:absolute; inset:0;
  background:
    radial-gradient(52% 38% at 72% 4%, rgba(61,214,140,.13), transparent 60%),
    radial-gradient(40% 30% at 12% 0%, rgba(47,143,118,.10), transparent 62%); }
.aurora, .bg-conic, .bg-noise, #bg-canvas, #particles{ display:none !important; }
.bg-grid{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 82% 60% at 50% -4%, #000 0%, transparent 72%);
  -webkit-mask-image:radial-gradient(ellipse 82% 60% at 50% -4%, #000 0%, transparent 72%);
}
.vignette{ position:absolute; inset:0; background:radial-gradient(ellipse 120% 80% at 50% -10%, transparent 46%, rgba(0,0,0,.4) 100%); }

@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
}

/* ---------- Reveal (CAPTURE-SAFE: content is ALWAYS visible) ----------
   opacity stays 1; the reveal is a gentle upward settle only. A frozen or
   un-triggered element is just slightly offset, never invisible — safe for
   headless capture, SEO/social crawlers, and slow/blocked JS. */
.js [data-reveal]{ transform:translateY(16px); will-change:transform; }
.js [data-reveal].in{ transform:none; transition:transform .55s var(--ease); }
.no-js [data-reveal]{ transform:none; }
@media(prefers-reduced-motion:reduce){ .js [data-reveal]{ transform:none; transition:none; } }

/* ---------- Cards & shared components (flat, hairline) ---------- */
.card{
  position:relative; background:var(--grad-surface);
  border:1px solid var(--border); border-radius:var(--radius);
  padding:28px; box-shadow:var(--shadow-card);
  transition:transform .3s var(--ease), border-color .3s, box-shadow .3s;
}
.card.spot::before{ display:none; }
.card.lift:hover{ transform:translateY(-5px); border-color:#33473d; box-shadow:var(--shadow-pop), 0 24px 50px -30px rgba(61,214,140,.28); }
.card-icon{
  width:44px; height:44px; border-radius:11px; display:grid; place-items:center;
  background:rgba(61,214,140,.10);
  box-shadow:inset 0 0 0 1px rgba(61,214,140,.22);
  color:var(--accent); margin-bottom:18px;
}
.card-icon svg{ width:21px; height:21px; }
.card-icon.cy{ background:rgba(128,178,169,.10); box-shadow:inset 0 0 0 1px rgba(128,178,169,.26); color:var(--cyan-2); }
.card h3{ margin-bottom:10px; }
.card p{ color:var(--muted); font-size:15px; }

.pill{
  display:inline-flex; align-items:center; gap:8px;
  height:30px; padding:0 13px; border-radius:999px;
  font-size:12.5px; font-weight:500; letter-spacing:.01em;
  background:var(--surface); box-shadow:inset 0 0 0 1px var(--border);
  color:var(--text-2);
}
.pill .dot{ width:6px; height:6px; border-radius:50%; background:var(--accent); }
.pill .dot.in{ background:var(--accent); }
.pill .dot.cy{ background:var(--cyan); }

/* dividers */
.hr{ height:1px; background:var(--border); border:0; }

/* ---------- Footer ---------- */
.footer{ position:relative; border-top:1px solid var(--border); background:var(--bg-1); padding:68px 0 36px; }
.footer-grid{ display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:40px; }
.footer .brand{ margin-bottom:16px; }
.footer-about{ color:var(--muted); font-size:14.5px; max-width:300px; }
.footer-col h2{ font-size:12px; line-height:1.2; text-transform:uppercase; letter-spacing:.13em; color:var(--muted); font-weight:600; margin-bottom:16px; font-family:var(--ff-mono); }
.footer-col a{ display:block; color:var(--text-2); font-size:14.5px; padding:6px 0; transition:color .2s; }
.footer-col a:hover{ color:var(--text); }
.footer-bottom{ display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:50px; padding-top:24px; border-top:1px solid var(--border); color:var(--muted); font-size:13.5px; flex-wrap:wrap; }
.footer-bottom .socials{ display:flex; gap:10px; }
.footer-bottom .socials a{ width:36px; height:36px; border-radius:9px; display:grid; place-items:center; box-shadow:inset 0 0 0 1px var(--border); color:var(--muted); transition:.2s; }
.footer-bottom .socials a:hover{ color:var(--text); box-shadow:inset 0 0 0 1px var(--border-2); }
@media(max-width:880px){ .footer-grid{ grid-template-columns:1fr 1fr; gap:30px; } .footer .footer-brandcol{ grid-column:1/-1; } }

/* ---------- Stats bar ---------- */
.statbar{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--border-2); border-radius:var(--radius); background:var(--grad-surface); overflow:hidden; box-shadow:var(--shadow-card); }
.statbar .stat{ position:relative; padding:34px 26px; }
.statbar .stat + .stat::before{ content:""; position:absolute; left:0; top:20px; bottom:20px; width:1px; background:var(--border); }
.stat .num{ font-family:var(--ff-mono); font-size:clamp(32px,3.8vw,48px); font-weight:500; letter-spacing:-.035em;
  background:var(--grad-accent); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.stat .num .u{ color:var(--accent); }
.stat .lab{ margin-top:8px; font-size:13.5px; color:var(--muted); }
@media(max-width:760px){
  .statbar{ grid-template-columns:1fr 1fr; }
  .statbar .stat + .stat::before{ top:0; bottom:0; }
  .statbar .stat:nth-child(odd)::before{ display:none; }
  .statbar .stat:nth-child(n+3){ box-shadow:inset 0 1px 0 var(--border); }
}

/* ---------- Tag / lane chips ---------- */
.lane{ font-family:var(--ff-mono); font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; padding:4px 9px; border-radius:6px; white-space:nowrap; }
.lane.go{ color:var(--accent); background:rgba(61,214,140,.10); box-shadow:inset 0 0 0 1px rgba(61,214,140,.28); }
.lane.warn{ color:var(--amber); background:rgba(217,164,65,.10); box-shadow:inset 0 0 0 1px rgba(217,164,65,.26); }
.lane.cool{ color:var(--cyan-2); background:rgba(128,178,169,.10); box-shadow:inset 0 0 0 1px rgba(128,178,169,.26); }
.lane.op{ color:var(--accent); background:rgba(61,214,140,.10); box-shadow:inset 0 0 0 1px rgba(61,214,140,.28); }

/* ---------- Page hero (sub-pages) ---------- */
.page-hero{ padding:140px 0 56px; position:relative; }
.page-hero h1{ font-size:clamp(34px,4.6vw,54px); margin:18px 0 0; max-width:15ch; }
.page-hero .lede{ margin-top:18px; max-width:600px; }

/* utility */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media(max-width:960px){ .grid-3,.grid-4{ grid-template-columns:1fr 1fr; } }
@media(max-width:680px){ .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; } }
.mt-s{ margin-top:14px; } .mt-m{ margin-top:28px; } .mt-l{ margin-top:46px; }
.muted{ color:var(--muted); } .text2{ color:var(--text-2); }
.stack{ display:flex; flex-direction:column; }
.row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }

/* Real logo SVG */
.brand .logo[src*="logo.svg"]{ width:28px; height:28px; border-radius:8px; background:transparent; box-shadow:none; display:block; flex:none; object-fit:contain; }

/* FAQ accordion (shared base) */
.faq{ display:grid; gap:12px; max-width:820px; margin:0 auto; }
.faq-item{ border-bottom:1px solid var(--border); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:22px 4px; font-size:16.5px; font-weight:560; text-align:left; color:var(--text);
  background:transparent; cursor:pointer;
}
.faq-q .fic{ width:24px; height:24px; border-radius:7px; display:grid; place-items:center; box-shadow:inset 0 0 0 1px var(--border-2); flex:none; transition:.25s; position:relative; }
.faq-q .fic::before,.faq-q .fic::after{ content:""; position:absolute; background:var(--accent); border-radius:2px; }
.faq-q .fic::before{ width:11px; height:1.6px; } .faq-q .fic::after{ width:1.6px; height:11px; transition:.25s; }
.faq-item.open .faq-q .fic{ background:var(--accent); box-shadow:none; }
.faq-item.open .faq-q .fic::before,.faq-item.open .faq-q .fic::after{ background:#07130D; }
.faq-item.open .faq-q .fic::after{ transform:rotate(90deg); opacity:0; }
.faq-a{ display:grid; grid-template-rows:0fr; overflow:hidden; transition:grid-template-rows .28s var(--ease); }
.faq-item.open .faq-a{ grid-template-rows:1fr; }
.faq-a > p, .faq-a > div{ min-height:0; padding:0 4px 24px; color:var(--muted); font-size:15.5px; line-height:1.62; max-width:72ch; }
