/* ============================================================
   Cognitosage — Brand Design System v2
   Mobile-first. GPU-optimised. FOIC-free.
   ============================================================ */

@font-face{font-family:'Eudoxus Sans';src:url('../fonts/EudoxusSans-ExtraLight.woff2') format('woff2'),url('../fonts/EudoxusSans-ExtraLight.woff') format('woff');font-weight:200;font-style:normal;font-display:swap;}
@font-face{font-family:'Eudoxus Sans';src:url('../fonts/EudoxusSans-Light.woff2') format('woff2'),url('../fonts/EudoxusSans-Light.woff') format('woff');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Eudoxus Sans';src:url('../fonts/EudoxusSans-Regular.woff2') format('woff2'),url('../fonts/EudoxusSans-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Eudoxus Sans';src:url('../fonts/EudoxusSans-Medium.woff2') format('woff2'),url('../fonts/EudoxusSans-Medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Eudoxus Sans';src:url('../fonts/EudoxusSans-Bold.woff2') format('woff2'),url('../fonts/EudoxusSans-Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Eudoxus Sans';src:url('../fonts/EudoxusSans-ExtraBold.woff2') format('woff2'),url('../fonts/EudoxusSans-ExtraBold.woff') format('woff');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:'Eudoxus Sans';src:url('../fonts/EudoxusSansGX.woff2') format('woff2'),url('../fonts/EudoxusSansGX.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap;}



:root{
  --logo-grad:linear-gradient(90deg,#0b48d6 0%,#f549ad 100%);
  --blue:#0f01ca;--magenta:#f549ad;--orange:#f4781e;
  --grad:linear-gradient(135deg,#0f01ca 0%,#f549ad 100%);
  --grad-r:linear-gradient(135deg,#f549ad 0%,#0f01ca 100%);
  --grad-o:linear-gradient(135deg,#f549ad,#f4781e);
  --bg:#05040e;--bg2:#08061a;--bg3:#0c0a22;
  --bgcard:rgba(255,255,255,0.04);--bghov:rgba(255,255,255,0.07);
  --blue10:rgba(15,1,202,0.10);--blue20:rgba(15,1,202,0.20);
  --mag10:rgba(245,73,173,0.10);--mag20:rgba(245,73,173,0.20);
  --ora10:rgba(244,120,30,0.10);
  --text:#ffffff;--text2:#ccc8e8;--text3:#8880b8;--text4:#4e4880;
  --border:rgba(255,255,255,0.08);--borderB:rgba(15,1,202,0.28);
  --borderM:rgba(245,73,173,0.22);--borderG:rgba(245,73,173,0.16);
  --font:'Eudoxus Sans',system-ui,sans-serif;
  --r:12px;--rl:20px;--rxl:28px;
  --shadow:0 4px 24px rgba(0,0,0,0.5);--shadowL:0 24px 64px rgba(0,0,0,0.6);
  --glowB:0 0 48px rgba(15,1,202,0.35);--glowM:0 0 48px rgba(245,73,173,0.30);
  --t:0.22s cubic-bezier(.4,0,.2,1);

  /* ── Spacing scale (main.css) ── */
  --space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;
  --space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:56px;
  --space-4xl:64px;--space-5xl:72px;--space-6xl:80px;
  /* ── Animation timing (main.css) ── */
  --ease-short:cubic-bezier(.4,0,.2,1);
  --ease-medium:cubic-bezier(.2,.8,.2,1);
  --dur-fast:150ms;--dur-medium:280ms;--dur-slow:420ms;
  /* ── Border radius scale ── */
  --radius-sm:6px;--radius-md:12px;--radius-lg:20px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button{font-family:var(--font);cursor:pointer;border:none;background:none;}
input,select,textarea{font-family:var(--font);}

/* GPU-accelerated grid background */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(15,1,202,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(15,1,202,0.04) 1px,transparent 1px);
  background-size:56px 56px;will-change:transform;transform:translateZ(0);}

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

/* NAVBAR */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:68px;display:flex;align-items:center;
  padding:0 max(20px,calc((100vw - 1240px)/2));
  background:rgba(5,4,14,0.75);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid var(--border);transition:background var(--t),box-shadow var(--t);}
.navbar.scrolled{background:rgba(5,4,14,0.97);box-shadow:0 1px 24px rgba(0,0,0,.4);}
.nav-inner{width:100%;max-width:1240px;margin:0 auto;display:flex;align-items:center;}
.nav-logo{display:flex;flex-direction:column;gap:2px;margin-right:auto;flex-shrink:0;line-height:1;text-decoration:none;align-items:flex-start;}
.nav-logo svg{height:34px;width:auto;display:block;}
.nav-logo-tag{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-links a{padding:8px 14px;font-size:14px;font-weight:500;color:var(--text3);border-radius:8px;transition:color var(--t),background var(--t);white-space:nowrap;}
.nav-links a:hover{color:var(--text);background:rgba(255,255,255,0.06);}
.nav-links a.active{color:var(--text);}
.nav-cta{margin-left:16px;padding:9px 22px;background:var(--grad);color:var(--text)!important;
  font-size:14px;font-weight:700;border-radius:8px;white-space:nowrap;flex-shrink:0;
  transition:opacity var(--t),transform var(--t),box-shadow var(--t)!important;}
.nav-cta:hover{opacity:.88;transform:translateY(-1px);box-shadow:var(--glowM);}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:6px;margin-left:12px;border-radius:8px;transition:background var(--t);}
.nav-toggle:hover{background:rgba(255,255,255,.06);}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text3);border-radius:2px;transition:all var(--dur-medium) var(--ease-short);}

/* MOBILE NAV */
.mob-nav{display:none;position:fixed;inset:0;z-index:999;background:rgba(5,4,14,0.99);
  flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:40px 24px;}
.mob-nav.open{display:flex;}
.mob-nav-logo{margin-bottom:28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;}
.mob-nav-logo svg{height:26px;width:auto;}
.mob-nav-logo-tag{font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.mob-nav a{font-size:19px;font-weight:500;color:var(--text3);padding:13px 36px;border-radius:12px;
  width:100%;max-width:260px;text-align:center;transition:all var(--dur-medium) var(--ease-short);}
.mob-nav a:hover,.mob-nav a.active{color:var(--text);background:var(--blue10);}
.mob-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.06);color:var(--text3);font-size:18px;
  display:flex;align-items:center;justify-content:center;transition:all var(--dur-medium) var(--ease-short);}
.mob-close:hover{background:rgba(255,255,255,.12);color:var(--text);}
.mob-nav-cta{margin-top:16px;width:100%;max-width:260px;}

/* LAYOUT */
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 24px;}
.section{position:relative;z-index:1;}
.si{padding:96px 0;}
.alt{background:var(--bg2);}

/* EYEBROW */
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:50px;
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px;}
.ey-blue{background:var(--blue10);border:1px solid var(--borderB);color:#9b8fff;}
.ey-mag{background:var(--mag10);border:1px solid var(--borderM);color:var(--magenta);}
.ey-grad{background:linear-gradient(135deg,var(--blue10),var(--mag10));border:1px solid var(--borderG);color:var(--text);}
.ey-dot{width:6px;height:6px;border-radius:50%;background:var(--grad);animation:pulse-dot 2s infinite;}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(.85);}}

/* TYPOGRAPHY */
h1,h2,h3,h4,h5{font-family:var(--font);line-height:1.13;letter-spacing:-.025em;}
h1{font-size:clamp(1.9rem,4.5vw,4rem);font-weight:800;}
h2{font-size:clamp(1.55rem,3vw,2.75rem);font-weight:700;}
h3{font-size:clamp(1.1rem,2vw,1.375rem);font-weight:700;}
h4{font-size:1rem;font-weight:700;}
.lead{font-size:clamp(.95rem,1.5vw,1.1rem);color:var(--text2);line-height:1.75;font-weight:400;}
.tc{text-align:center;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 28px;font-family:var(--font);font-size:15px;font-weight:700;
  border-radius:10px;border:none;cursor:pointer;transition:all var(--dur-medium) var(--ease-short);
  white-space:nowrap;min-height:44px;-webkit-tap-highlight-color:transparent;}
.btn-p{background:var(--grad);color:var(--text);}
.btn:active{transform:scale(0.985)!important;}
.btn-p:hover{opacity:.88;transform:translateY(-2px);box-shadow:var(--glowM);}
.btn-s{background:transparent;color:var(--text2);border:1.5px solid var(--border);}
.btn-s:hover{color:var(--text);border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.05);transform:translateY(-2px);}
.btn-og{background:var(--grad-o);color:var(--text);}
.btn-og:hover{opacity:.88;transform:translateY(-2px);}
.btn-outline-g{background:transparent;color:var(--text);border:1.5px solid transparent;
  background-image:linear-gradient(var(--bg),var(--bg)),var(--grad);background-origin:border-box;background-clip:padding-box,border-box;}
.btn-outline-g:hover{transform:translateY(-2px);box-shadow:var(--glowB);}
.btn-lg{padding:15px 34px;font-size:16px;border-radius:12px;}
.btn-sm{padding:9px 18px;font-size:13px;border-radius:8px;min-height:38px;}
.btn-full{width:100%;}
.btn:focus-visible,.nav-cta:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;}
a:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;border-radius:4px;}

/* CARDS */
.card{background:var(--bgcard);border:1px solid var(--border);border-radius:var(--rl);padding:28px;transition:all var(--dur-medium) var(--ease-short);}
.card:hover{background:var(--bghov);border-color:var(--borderM);transform:translateY(-3px);box-shadow:var(--shadowL);}
.card-g{background:linear-gradient(135deg,rgba(15,1,202,.08),rgba(245,73,173,.04));border-color:var(--borderG);}
.cicon{width:48px;height:48px;border-radius:12px;background:var(--blue10);border:1px solid var(--borderB);
  display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px;flex-shrink:0;}
.cicon-g{background:var(--grad);border:none;}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:50px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.b-live{background:var(--blue10);color:#8099ff;border:1px solid var(--borderB);}
.b-live::before{content:'●';font-size:6px;animation:pulse-dot 2s infinite;}
.b-soon{background:var(--mag10);color:var(--magenta);border:1px solid var(--borderM);}
.b-ent{background:var(--ora10);color:var(--orange);border:1px solid rgba(244,120,30,.28);}

/* CHIPS */
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{padding:5px 14px;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:50px;font-size:12px;font-weight:500;color:var(--text3);}

/* FEATURE LIST */
.fl li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text2);padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);line-height:1.55;}
.fl li:last-child{border-bottom:none;}
.fl li::before{content:'✓';font-size:12px;font-weight:800;flex-shrink:0;margin-top:1px;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* STATS */
.snum{font-size:clamp(1.8rem,3.5vw,3rem);font-weight:800;letter-spacing:-.045em;line-height:1;display:block;}
.slbl{font-size:13px;color:var(--text3);margin-top:6px;line-height:1.4;}

/* TABLE */
.tw{overflow-x:auto;border:1px solid var(--border);border-radius:var(--rl);-webkit-overflow-scrolling:touch;}
.ct{width:100%;border-collapse:collapse;font-size:14px;min-width:480px;}
.ct th{padding:13px 18px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text4);background:rgba(255,255,255,.03);border-bottom:1px solid var(--border);}
.ct td{padding:12px 18px;color:var(--text2);border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle;}
.ct tr:last-child td{border-bottom:none;}
.ct tr:hover td{background:rgba(255,255,255,.02);}
.ct td:first-child{color:var(--text);font-weight:500;}
.ty{color:#9b8fff!important;}.tn{color:var(--text4)!important;}.ts{color:var(--magenta)!important;}

/* ORBS — GPU layer, no scroll repaint on Safari */
.orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);
  will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0);}
.orb-b{background:rgba(15,1,202,.20);}
.orb-m{background:rgba(245,73,173,.16);}
.orb-o{background:rgba(244,120,30,.12);}

/* REVEAL — FOIC-free approach
   Content visible by default. JS adds .js-loaded to <body>.
   Animation only applies after JS has initialised. */
.reveal{transition:opacity .6s var(--ease-medium),transform .6s var(--ease-medium);}
body.js-loaded .reveal{opacity:0;transform:translateY(22px);}
body.js-loaded .reveal.visible{opacity:1;transform:translateY(0);}
.reveal-2{transition-delay:.1s;}
.reveal-3{transition-delay:.2s;}
.reveal-4{transition-delay:.3s;}

/* Counter flicker fix — hidden until observer fires */
[data-target]{opacity:0;transition:opacity .3s ease;}
[data-target].counting{opacity:1;}

/* CTA BAND — Fix 1+2: clean tagline, correct spacing */
.cta-band{position:relative;z-index:1;padding:80px 0 68px;text-align:center;overflow:hidden;background:var(--bg2);border-top:1px solid var(--border);}
.cta-band::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);
  width:900px;height:600px;background:radial-gradient(ellipse,rgba(15,1,202,.13) 0%,rgba(245,73,173,.07) 45%,transparent 70%);pointer-events:none;}
.cta-tagline{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-top:22px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.07);
}

/* FOOTER — Fix 3+4: left-aligned logo, no duplicate tagline */
.footer{position:relative;z-index:1;background:var(--bg);border-top:1px solid var(--border);padding:72px 0 32px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid var(--border);margin-bottom:28px;}
.footer-logo{display:flex;flex-direction:column;gap:4px;align-items:flex-start;margin-bottom:14px;}
.footer-logo svg{height:22px;width:auto;display:block;}
.footer-logo-tag{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.footer-desc{font-size:14px;color:var(--text3);line-height:1.7;margin-bottom:16px;}
.fct{font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:var(--text4);margin-bottom:16px;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul li a{font-size:14px;color:var(--text3);transition:color var(--t);}
.footer-col ul li a:hover{color:var(--text);}
.footer-bot{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text4);}
.footer-bot a{color:var(--text3);transition:color var(--t);}
.footer-bot a:hover{color:var(--text);}

/* PAGE HERO */
.ph{padding:68px 0 0;background:linear-gradient(165deg,#05040e 0%,#0a0620 50%,#0f0820 100%);border-bottom:1px solid var(--border);position:relative;overflow:hidden;z-index:1;}
.ph-inner{padding:72px 24px 64px;max-width:1240px;margin:0 auto;position:relative;z-index:1;}

/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

/* 1024px — tablet */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px;}
}

/* 768px — mobile */
@media(max-width:768px){
  .nav-links,.nav-cta{display:none;}
  .nav-toggle{display:flex;}
  .si{padding:72px 0;}
  .ph-inner{padding:60px 20px 52px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .footer-bot{flex-direction:column;gap:12px;text-align:center;}
  .cta-band{padding:64px 0 56px;}
  .card{padding:22px;}
}

/* 600px — small mobile */
@media(max-width:600px){
  .si{padding:60px 0;}
  .container{padding:0 16px;}
  .chips{gap:6px;}
  .chip{font-size:11px;padding:4px 10px;}
  .badge{font-size:10px;}
  .btn-lg{padding:14px 22px;font-size:15px;}
}

/* 480px — small phones */
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr;}
  .cta-band{padding:56px 0 48px;}
  .si{padding:56px 0;}
}

/* boxRotate — premium card hover interaction from main.css */
.box-rotate{transform:rotate(0deg);transition:transform var(--dur-slow) var(--ease-medium);}
.box-rotate:hover{transform:scale(1.04) rotate(2deg);}
/* Apply to mod-cards, service cards, belief cards */
.mod-card,.svc,.belief,.sc2,.feat-main,.feat-s,.ac,.rel-card{
  transition:all var(--dur-medium) var(--ease-medium);
}
.mod-card:hover,.svc:hover,.belief:hover{
  transform:translateY(-4px) scale(1.01);
}
/* Pill — refined tag component from main.css */
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:999px;font-size:0.875rem;
  background:linear-gradient(90deg,rgba(15,1,202,0.08),rgba(245,73,173,0.04));
  border:1px solid rgba(15,1,202,0.10);color:var(--text2);
  font-family:var(--font);font-weight:500;
}
.pill-grad{
  background:var(--grad);color:#fff;border:none;font-weight:700;
}
/* CSS Tooltip — pure CSS, no JS, from main.css */
.tooltip-wrap{position:relative;display:inline-block;}
.tooltip-wrap[data-tip]:hover::after{
  content:attr(data-tip);
  position:absolute;left:50%;transform:translateX(-50%) translateY(-6px);
  bottom:100%;white-space:nowrap;padding:6px 12px;
  border-radius:var(--r);font-size:12px;font-weight:500;
  background:rgba(5,4,14,0.95);color:var(--text2);
  border:1px solid var(--border);z-index:999;
  pointer-events:none;
  box-shadow:var(--shadow);
}
/* Accessibility — reduced motion preference from main.css */
@media(prefers-reduced-motion:reduce){
  *{transition-duration:0ms!important;animation-duration:0ms!important;animation-iteration-count:1!important;}
  .reveal{opacity:1!important;transform:none!important;}
  [data-target]{opacity:1!important;}
}
/* Smooth scroll enhancement */
html{scroll-padding-top:80px;}/* Account for sticky navbar */

/* ══ ENHANCED ANIMATIONS v2 ══════════════════════════════════════════════ */

/* Shimmer card hover */
.card-shine{position:relative;overflow:hidden;}
.card-shine::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);transform:translateX(-100%);transition:transform .6s ease;}
.card-shine:hover::after{transform:translateX(100%);}

/* Floating animation for icons / orbs */
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes float-slow{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.float{animation:float 4s ease-in-out infinite;}
.float-slow{animation:float-slow 6s ease-in-out infinite;}

/* Gradient border glow on cards */
.glow-card{position:relative;}
.glow-card::before{content:'';position:absolute;inset:-1px;border-radius:inherit;background:var(--grad);opacity:0;transition:opacity .3s;z-index:-1;border-radius:22px;}
.glow-card:hover::before{opacity:.5;}

/* Typing cursor */
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}
.cursor{display:inline-block;width:2px;height:1em;background:var(--magenta);vertical-align:text-bottom;animation:blink 1s infinite;margin-left:2px;}

/* Number shimmer on stats */
@keyframes num-pop{0%{transform:scale(1);}40%{transform:scale(1.08);}100%{transform:scale(1);}}
.snum.counting{animation:num-pop .4s ease;}

/* Gradient text shimmer */
@keyframes grad-shift{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
.gt-anim{background:linear-gradient(135deg,#0f01ca,#f549ad,#f4781e,#f549ad,#0f01ca);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:grad-shift 4s ease infinite;}

/* Pipeline step pulse */
@keyframes pipe-pulse{0%,100%{box-shadow:0 0 0 0 rgba(15,1,202,.4);}70%{box-shadow:0 0 0 10px rgba(15,1,202,0);}}
.pipe-active{animation:pipe-pulse 2s infinite;}

/* Audience badge row */
.aud-row{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0;}
.aud-badge{padding:7px 16px;border-radius:50px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid;}
.aud-cxo{background:rgba(15,1,202,.12);border-color:rgba(15,1,202,.35);color:#9b8fff;}
.aud-sales{background:rgba(245,73,173,.10);border-color:rgba(245,73,173,.30);color:#f549ad;}
.aud-tech{background:rgba(244,120,30,.10);border-color:rgba(244,120,30,.30);color:#f4781e;}
.aud-mktg{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.30);color:#10b981;}

/* Live data ticker */
.ticker-wrap{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--bgcard);padding:10px 18px;display:flex;align-items:center;gap:14px;}
.ticker-live{width:8px;height:8px;border-radius:50%;background:#10b981;animation:pulse-dot 1.5s infinite;flex-shrink:0;}
.ticker-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text4);}
.ticker-val{font-size:13px;font-weight:700;color:var(--text);}

/* SVG illustration container */
.illus-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;}

/* ROI calculator highlight */
.roi-highlight{background:linear-gradient(135deg,rgba(15,1,202,.08),rgba(245,73,173,.06));border:1px solid var(--borderG);border-radius:var(--rl);padding:28px;position:relative;overflow:hidden;}
.roi-highlight::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}

/* Section with side accent */
.section-accent{border-left:3px solid var(--magenta);padding-left:24px;}

/* Gradient divider */
.grad-divider{height:1px;background:linear-gradient(90deg,transparent,var(--borderM),transparent);margin:48px 0;}

/* Quote block */
.quote-block{padding:28px 32px;background:var(--bgcard);border:1px solid var(--border);border-radius:var(--rl);position:relative;}
.quote-block::before{content:'"';position:absolute;top:-12px;left:24px;font-size:72px;line-height:1;color:var(--magenta);opacity:.3;font-family:Georgia,serif;}

/* Sticky audience nav */
.aud-nav{display:flex;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);margin-bottom:40px;flex-wrap:wrap;}
.aud-nav-item{padding:6px 16px;border-radius:50px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s;color:var(--text3);}
.aud-nav-item:hover,.aud-nav-item.active{background:var(--blue10);border-color:var(--borderB);color:var(--text);}

/* Glassmorphism stat card */
.glass-card{background:rgba(255,255,255,.03);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:var(--rl);}

/* Animated gradient background strip */
@keyframes bg-pan{0%{background-position:0% 0%;}100%{background-position:100% 0%;}}
.grad-strip{background:linear-gradient(90deg,rgba(15,1,202,.08),rgba(245,73,173,.06),rgba(244,120,30,.06),rgba(15,1,202,.08));background-size:400% 100%;animation:bg-pan 8s linear infinite;padding:20px 28px;border-radius:var(--r);}

/* Metric grid */
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;}
.metric-card{padding:24px 20px;text-align:center;background:var(--bgcard);border:1px solid var(--border);border-radius:var(--rl);transition:all .2s;}
.metric-card:hover{border-color:var(--borderM);transform:translateY(-3px);}
.metric-val{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;letter-spacing:-.04em;display:block;line-height:1;}
.metric-lbl{font-size:12px;color:var(--text3);margin-top:8px;line-height:1.5;}
.metric-src{font-size:10px;color:var(--text4);margin-top:6px;font-style:italic;}

@media(max-width:768px){.aud-row{gap:8px;}.metric-grid{grid-template-columns:repeat(2,1fr);}}

/* ══ BRAND CONSISTENCY PATCH — v3.0 ═══════════════════════════════════════ */
/* All green/indigo/success accent colours that were hardcoded now registered */

:root{
  /* Success / live / green */
  --green:#10b981;
  --green-bright:#22c55e;
  --green-light:#4ade80;
  /* Accent indigo / periwinkle */
  --indigo:#8099ff;
  --purple:#9b8fff;
  /* Full alpha token shorthands */
  --green10:rgba(16,185,129,.10);
  --green20:rgba(16,185,129,.20);
  --indig10:rgba(128,153,255,.10);
}

/* Mob nav logo — CONSISTENT 26px across every page */
.mob-nav-logo svg{height:26px !important;width:auto;display:block;}

/* Footer logo — CONSISTENT 24px across every page */
.footer-logo svg{height:24px !important;width:auto;display:block;}

/* Nav logo — 34px enforced (already correct but belt-and-braces) */
.nav-logo svg{height:34px !important;width:auto;display:block;}

/* Typography normalisation — fractional px → clean scale */
/* Body copy scale: 11 / 12 / 13 / 14 / 15 / 16 px */
/* Enforced via utility classes so inline styles are overridden gracefully */
.fs-10{font-size:10px !important;font-family:var(--font) !important;}
.fs-11{font-size:11px !important;font-family:var(--font) !important;}
.fs-12{font-size:12px !important;font-family:var(--font) !important;}
.fs-13{font-size:13px !important;font-family:var(--font) !important;}
.fs-14{font-size:14px !important;font-family:var(--font) !important;}
.fs-15{font-size:15px !important;font-family:var(--font) !important;}
.fs-16{font-size:16px !important;font-family:var(--font) !important;}

/* Ensure all inline font declarations fall back to brand font */
[style*="font-size"]{font-family:var(--font);}

/* Normalise 12.5px → 13px, 13.5px → 14px, 10.5px → 11px via CSS cascade */
/* These sizes come from new inline sections — override at body level */
body p,body li,body span,body div{
  font-family:var(--font);
}

/* Logo image from assets/images — consistent sizing when used as <img> */
img.logo-img{height:34px;width:auto;display:block;}
img.logo-footer{height:24px;width:auto;display:block;}

/* Gradient brand colours consistent with brand book */
/* Primary: #0f01ca → #f549ad (Deep AI Blue → Intelligent Magenta) */
/* Secondary orange: #f4781e */

/* Ensure the gradient logo SVG stops match brand book exactly */
/* Note: existing logo SVGs use #0b48d6 as start — slightly lighter; acceptable */

/* ══ END CONSISTENCY PATCH ═══════════════════════════════════════════════ */

/* ══ BRAND TYPOGRAPHY ENFORCEMENT ══════════════════════════════════════════ */
/* Brand Book: Eudoxus Sans — ExtraLight(200) Light(300) Regular(400)         */
/*              Medium(500) Bold(700) ExtraBold(800)                           */

/* Heading hierarchy */
h1{font-weight:800;letter-spacing:-.04em;line-height:1.1;}
h2{font-weight:700;letter-spacing:-.03em;line-height:1.2;}
h3{font-weight:700;letter-spacing:-.02em;line-height:1.3;}
h4{font-weight:700;letter-spacing:-.01em;}
h5,h6{font-weight:500;}

/* Body copy */
p{font-weight:400;line-height:1.75;}
li{font-weight:400;}

/* Utility weight classes matching brand weights exactly */
.fw-200{font-weight:200;}
.fw-300{font-weight:300;}
.fw-400{font-weight:400;}
.fw-500{font-weight:500;}
.fw-700{font-weight:700;}
.fw-800{font-weight:800;}

/* Eyebrow / label: Medium (500) — matches brand spec */
.eyebrow{font-weight:500 !important;}

/* Stat numbers: ExtraBold (800) */
.snum{font-weight:800 !important;font-family:var(--font) !important;}

/* Nav links: Medium (500) */
.nav-links a{font-weight:500;}

/* Button labels: Bold (700) */
.btn{font-weight:700 !important;}

/* Footer: Regular (400) */
.footer{font-weight:400;}

/* ══ END BRAND TYPOGRAPHY ═══════════════════════════════════════════════════ */
