/**
 * NEXAMIZE Master Production Stylesheet V3.0
 * High-End Luxury Local Growth Agency System
 * Brand Fonts:
 * - Headings (h1, h2, titles): Bricolage Grotesque (700/800)
 * - Display / Cards: Outfit (600/700)
 * - Body / Copy: Plus Jakarta Sans (400/500/600, line-height: 1.72)
 * - Data / Numbers / Badges: Space Grotesk (600/700) & Bebas Neue
 * Brand Colors:
 * - Primary Red: #9F0000 | Hover: #C00000 | Glow: rgba(159,0,0,0.45)
 * - Deep Black: #000000 | Dark-1: #060608 | Dark-2: #0C0C10 | Dark-3: #14141A
 * - White: #FFFFFF | Gray Muted: #A1A1AA | Border: rgba(255,255,255,0.08)
 */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Outfit:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
  --nx-red: #9F0000;
  --nx-red-hover: #BF0000;
  --nx-red-dark: #660000;
  --nx-red-glow: rgba(159, 0, 0, 0.45);
  --nx-red-subtle: rgba(159, 0, 0, 0.12);
  --nx-red-border: rgba(159, 0, 0, 0.35);
  
  --nx-gold: #9F0000;
  --nx-gold-subtle: rgba(159, 0, 0, 0.14);
  --nx-green: #22C55E;
  
  --nx-black: #000000;
  --nx-dark-0: #030304;
  --nx-dark-1: #070709;
  --nx-dark-2: #0E0E12;
  --nx-dark-3: #15151C;
  --nx-dark-card: #0A0A0D;
  
  --nx-white: #FFFFFF;
  --nx-gray-100: #F4F4F5;
  --nx-gray-300: #D4D4D8;
  --nx-gray-400: #A1A1AA;
  --nx-gray-600: #71717A;
  --nx-gray-800: #27272A;
  
  --nx-border: rgba(255, 255, 255, 0.08);
  --nx-border-light: rgba(255, 255, 255, 0.15);
  
  --font-heading: 'Bricolage Grotesque', 'Outfit', sans-serif;
  --font-display: 'Outfit', sans-serif;
  --font-condensed: 'Bebas Neue', sans-serif;
  --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'Space Grotesk', monospace, sans-serif;
  
  --container-max: 1240px;
  --header-height: 76px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  
  --transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Reset & Core Base */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  background-color: var(--nx-black);
  color: var(--nx-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.nexamize-body {
  background-color: var(--nx-black);
  color: var(--nx-gray-300);
  font-family: var(--font-body);
  font-size: 1.025rem;
  line-height: 1.72;
  overflow-x: hidden;
  position: relative;
}

/* Fullscreen Background Starry Night Canvas */
#nx-starry-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
}

/* Money Particle Cursor Spark */
.nx-money-particle {
  position: fixed;
  pointer-events: none;
  z-index: 99999;
  font-family: var(--font-mono);
  font-weight: 800;
  color: #FFFFFF;
  text-shadow: 0 0 10px var(--nx-red), 0 0 20px var(--nx-red);
  transform: translate(-50%, -50%);
  user-select: none;
}

/* Typography Hierarchy */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--nx-white);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-transform: uppercase;
}

h1 {
  font-size: clamp(2.5rem, 5.5vw, 4.4rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.04em;
}

h2 {
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

h3 {
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  font-weight: 700;
  line-height: 1.25;
}

p {
  color: var(--nx-gray-400);
  font-size: 1.05rem;
  line-height: 1.72;
}

a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition);
}

/* Containers & Sections */
.nx-container {
  width: 100%;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  position: relative;
  z-index: 1;
}

.nx-section {
  padding-top: 6.5rem;
  padding-bottom: 6.5rem;
  position: relative;
  border-bottom: 1px solid var(--nx-border);
}

.nx-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nx-red);
  margin-bottom: 1.15rem;
  padding: 0.4rem 0.95rem;
  background: var(--nx-red-subtle);
  border: 1px solid var(--nx-red-border);
  border-radius: 99px;
  box-shadow: 0 0 15px rgba(159, 0, 0, 0.2);
}

.nx-eyebrow::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--nx-red);
  box-shadow: 0 0 10px var(--nx-red);
  animation: pulseDot 2s infinite;
}

/* 3D Spotlight Card Effect */
.nx-spotlight-card {
  position: relative;
  background: var(--nx-dark-card);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-md);
  padding: 2.25rem 1.85rem;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
  transform-style: preserve-3d;
}

.nx-spotlight-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(450px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(159, 0, 0, 0.16), transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}

.nx-spotlight-card:hover::before {
  opacity: 1;
}

.nx-spotlight-card:hover {
  border-color: var(--nx-red-border);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.8), 0 0 25px rgba(159, 0, 0, 0.25);
  transform: translateY(-4px);
}

/* Button System with Shimmer */
.nx-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.95rem 1.95rem;
  font-family: var(--font-display);
  font-size: 0.925rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition);
  border: 1px solid transparent;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.nx-btn-primary {
  background: var(--nx-red);
  color: var(--nx-white);
  box-shadow: 0 4px 20px var(--nx-red-glow);
}

.nx-btn-primary::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(60deg, transparent, rgba(255, 255, 255, 0.25), transparent);
  transform: rotate(30deg) translateY(-100%);
  animation: btnShimmer 4s infinite;
}

@keyframes btnShimmer {
  0% { transform: rotate(30deg) translateY(-120%); }
  25%, 100% { transform: rotate(30deg) translateY(120%); }
}

.nx-btn-primary:hover {
  background: var(--nx-red-hover);
  box-shadow: 0 6px 30px rgba(159, 0, 0, 0.7);
  transform: translateY(-2px);
  color: var(--nx-white);
}

.nx-btn-secondary {
  background: transparent;
  color: var(--nx-white);
  border: 1px solid var(--nx-border-light);
}

.nx-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--nx-white);
  transform: translateY(-2px);
}

/* Scroll-Driven Reveal & Bulletproof Visibility */
.nx-reveal,
.nx-reveal-left,
.nx-reveal-right,
.nx-reveal-scale {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.nx-reveal.active,
.nx-reveal-left.active,
.nx-reveal-right.active,
.nx-reveal-scale.active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.nx-pulse-glow {
  animation: pulseGlow 2.5s infinite;
}

@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 10px rgba(159, 0, 0, 0.3); }
  50% { box-shadow: 0 0 25px rgba(159, 0, 0, 0.7); }
}

/* Header */
.nx-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: rgba(3, 3, 4, 0.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--nx-border);
  transition: var(--transition);
  height: var(--header-height);
  display: flex;
  align-items: center;
}

.nx-header.scrolled {
  background: rgba(2, 2, 3, 0.98);
  border-bottom-color: rgba(159, 0, 0, 0.35);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.9);
}

.nx-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.nx-logo-link {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.nx-logo-img {
  height: 42px;
  width: auto;
  object-fit: contain;
  display: block;
}

.nx-nav-desktop {
  display: flex;
  align-items: center;
  gap: 1.65rem;
  list-style: none;
}

.nx-nav-item {
  position: relative;
}

.nx-nav-link {
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--nx-gray-300);
  padding: 0.6rem 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.nx-nav-link:hover, .nx-nav-item:hover > .nx-nav-link {
  color: var(--nx-white);
}

.nx-dropdown-arrow {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid var(--nx-gray-400);
  border-bottom: 1.5px solid var(--nx-gray-400);
  transform: rotate(45deg);
  transition: var(--transition);
  margin-top: -3px;
}

.nx-nav-item:hover .nx-dropdown-arrow {
  transform: rotate(-135deg);
  border-color: var(--nx-red);
}

.nx-mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(12px);
  background: var(--nx-dark-1);
  border: 1px solid var(--nx-border-light);
  border-radius: var(--radius-md);
  padding: 1.5rem;
  min-width: 500px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95);
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease-out;
  pointer-events: none;
  z-index: 1010;
}

.nx-nav-item:hover .nx-mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(4px);
  pointer-events: auto;
}

.nx-mega-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

.nx-mega-item {
  display: flex;
  flex-direction: column;
  padding: 0.65rem 0.85rem;
  border-radius: var(--radius-sm);
  background: transparent;
  transition: var(--transition);
  border: 1px solid transparent;
}

.nx-mega-item:hover {
  background: var(--nx-dark-2);
  border-color: var(--nx-border);
}

.nx-mega-item-title {
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--nx-white);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nx-mega-item:hover .nx-mega-item-title {
  color: var(--nx-red);
}

.nx-mega-item-desc {
  font-size: 0.75rem;
  color: var(--nx-gray-400);
  margin-top: 0.15rem;
}

.nx-header-right-tools {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.nx-header-live {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--nx-gray-300);
}

.nx-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--nx-green);
  box-shadow: 0 0 8px var(--nx-green);
  animation: pulseDot 2s infinite;
}

.nx-mobile-toggle {
  display: none;
  background: transparent;
  border: 1px solid var(--nx-border);
  color: var(--nx-white);
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 1.25rem;
}

.nx-mobile-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 85%;
  max-width: 400px;
  height: 100vh;
  background: var(--nx-dark-0);
  border-left: 1px solid var(--nx-border-light);
  z-index: 2000;
  padding: 2rem 1.5rem;
  overflow-y: auto;
  transition: right 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}

.nx-mobile-drawer.open {
  right: 0;
}

.nx-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(6px);
  z-index: 1999;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
}

.nx-drawer-overlay.open {
  opacity: 1;
  visibility: visible;
}

.nx-drawer-close {
  align-self: flex-end;
  background: transparent;
  border: none;
  color: var(--nx-white);
  font-size: 1.75rem;
  cursor: pointer;
  margin-bottom: 1.5rem;
}

/* Hero Section */
.nx-hero-section {
  position: relative;
  padding-top: 6.5rem;
  padding-bottom: 6.5rem;
  overflow: hidden;
  background-color: var(--nx-black);
  min-height: 85vh;
  display: flex;
  align-items: center;
}

.nx-hero-video-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}

.nx-hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.38;
  filter: saturate(1.2);
}

.nx-hero-scrim {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 75% 30%, rgba(159, 0, 0, 0.25) 0%, transparent 65%),
              linear-gradient(to bottom, rgba(3,3,4,0.45) 0%, rgba(3,3,4,0.98) 100%);
  z-index: 1;
}

.nx-ambient-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.nx-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 3.5rem;
  align-items: center;
  position: relative;
  z-index: 3;
}

.nx-hero-content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.nx-hero-title {
  color: var(--nx-white);
  font-weight: 800;
  text-transform: uppercase;
}

.nx-hero-title span.accent-red {
  color: var(--nx-red);
  text-shadow: 0 0 25px rgba(159, 0, 0, 0.5);
}

.nx-hero-subtitle {
  font-size: 1.125rem;
  color: var(--nx-gray-300);
  line-height: 1.65;
  max-width: 580px;
}

.nx-hero-cta-group {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

.nx-hero-trust-bar {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--nx-border);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  color: var(--nx-gray-400);
  text-transform: uppercase;
}

/* Hero Growth System Diagram Visual */
.nx-growth-diagram {
  background: rgba(10, 10, 14, 0.92);
  border: 1px solid var(--nx-border-light);
  border-radius: var(--radius-lg);
  padding: 2rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  position: relative;
}

.nx-diagram-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--nx-border);
}

.nx-diagram-title {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--nx-white);
  text-transform: uppercase;
}

.nx-diagram-status {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--nx-red);
  text-transform: uppercase;
}

.nx-diagram-steps {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  position: relative;
}

.nx-diagram-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: var(--nx-dark-2);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-sm);
  transition: var(--transition);
}

.nx-diagram-step:hover {
  border-color: var(--nx-red-border);
  background: var(--nx-dark-3);
  transform: translateX(4px);
}

.nx-diagram-step.highlight {
  border-color: var(--nx-red);
  background: var(--nx-red-subtle);
  box-shadow: 0 0 20px rgba(159, 0, 0, 0.3);
}

.nx-step-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.nx-step-num {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--nx-red);
}

.nx-step-label {
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--nx-white);
  text-transform: uppercase;
}

.nx-step-sub {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--nx-gray-400);
}

.nx-step-arrow {
  color: var(--nx-red);
  font-size: 0.85rem;
}

/* Trust & Metrics Section */
.nx-trust-section {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  background: var(--nx-dark-1);
  border-top: 1px solid var(--nx-border);
  border-bottom: 1px solid var(--nx-border);
}

.nx-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.nx-trust-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1rem;
  border-right: 1px solid var(--nx-border);
}

.nx-trust-card:last-child {
  border-right: none;
}

.nx-trust-number {
  font-family: var(--font-mono);
  font-size: clamp(2.2rem, 3.5vw, 3rem);
  font-weight: 800;
  color: var(--nx-white);
  line-height: 1;
  margin-bottom: 0.5rem;
}

.nx-trust-number span.red {
  color: var(--nx-red);
}

.nx-trust-label {
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--nx-gray-400);
  text-transform: uppercase;
}

/* Interactive ROI Revenue Calculator Component */
.nx-roi-calculator-box {
  background: var(--nx-dark-1);
  border: 1px solid var(--nx-red-border);
  border-radius: var(--radius-xl);
  padding: 3.5rem 2.5rem;
  margin-top: 5rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
}

.nx-roi-slider {
  width: 100%;
  height: 8px;
  border-radius: 4px;
  background: var(--nx-dark-3);
  outline: none;
  -webkit-appearance: none;
  margin: 1.5rem 0;
}

.nx-roi-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--nx-red);
  cursor: pointer;
  box-shadow: 0 0 15px var(--nx-red);
  border: 2px solid #fff;
}

.nx-roi-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
}

.nx-roi-stat-card {
  background: var(--nx-dark-2);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-md);
  padding: 1.5rem;
  text-align: center;
}

.nx-roi-stat-val {
  font-family: var(--font-mono);
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--nx-red);
  margin-bottom: 0.25rem;
}

/* Live Activity Toast Popups */
#nx-live-toast {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 9999;
  background: rgba(10, 10, 14, 0.95);
  border: 1px solid var(--nx-red-border);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.9), 0 0 15px rgba(159, 0, 0, 0.3);
  backdrop-filter: blur(12px);
  transform: translateY(120%);
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
  pointer-events: none;
}

#nx-live-toast.show {
  transform: translateY(0);
  opacity: 1;
}

/* Pricing Section */
.nx-pricing-section {
  background: var(--nx-black);
  padding-top: 6.5rem;
  padding-bottom: 6.5rem;
  position: relative;
}

.nx-pricing-hero-block {
  text-align: center;
  max-width: 840px;
  margin: 0 auto 3rem auto;
}

.nx-trust-row-inline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin: 2rem 0;
}

.nx-trust-item-inline {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.875rem;
  color: var(--nx-gray-300);
  font-family: var(--font-body);
}

.nx-trust-item-inline svg {
  width: 16px;
  height: 16px;
  color: var(--nx-red);
  flex-shrink: 0;
}

.nx-booklet-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  background: var(--nx-dark-2);
  border: 1px solid var(--nx-red-border);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.75rem;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
}

.nx-booklet-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nx-booklet-icon {
  width: 44px;
  height: 44px;
  background: var(--nx-red);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.nx-booklet-text strong {
  display: block;
  color: var(--nx-white);
  font-size: 0.95rem;
  font-family: var(--font-display);
}

.nx-booklet-text span {
  color: var(--nx-gray-400);
  font-size: 0.825rem;
}

.nx-pricing-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.nx-price-card {
  background: var(--nx-dark-card);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-lg);
  padding: 2.25rem 1.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  position: relative;
  transition: var(--transition);
}

.nx-price-card.featured {
  border: 2px solid var(--nx-red);
  background: rgba(159, 0, 0, 0.06);
  box-shadow: 0 15px 45px rgba(159, 0, 0, 0.35);
  transform: translateY(-6px);
}

.nx-price-badge {
  display: inline-block;
  background: var(--nx-red-subtle);
  color: var(--nx-red);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.3rem 0.85rem;
  border-radius: 99px;
  border: 1px solid var(--nx-red-border);
  width: fit-content;
}

.nx-price-card.featured .nx-price-badge {
  background: var(--nx-red);
  color: #fff;
}

.nx-price-title {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  color: var(--nx-white);
}

.nx-price-amount {
  font-family: var(--font-mono);
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--nx-white);
  line-height: 1;
}

.nx-price-amount span {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--nx-gray-400);
}

.nx-price-desc {
  font-size: 0.925rem;
  color: var(--nx-gray-400);
  line-height: 1.55;
  min-height: 48px;
}

.nx-price-divider {
  border: none;
  border-top: 1px solid var(--nx-border);
  margin: 0.35rem 0;
}

.nx-price-features {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.nx-price-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.875rem;
  color: var(--nx-gray-300);
}

.nx-price-feature-item svg {
  width: 16px;
  height: 16px;
  color: var(--nx-red);
  flex-shrink: 0;
  margin-top: 2px;
}

.nx-starter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 2rem;
  padding: 1.5rem 2rem;
  background: var(--nx-dark-2);
  border: 1px solid var(--nx-border-light);
  border-radius: var(--radius-md);
  flex-wrap: wrap;
}

.nx-starter-text strong {
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: #fff;
  display: block;
}

.nx-starter-text span {
  font-size: 0.875rem;
  color: var(--nx-gray-400);
}

.nx-starter-btns {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.nx-starter-btn {
  background: transparent;
  color: var(--nx-white);
  border: 1px solid var(--nx-red-border);
  padding: 0.75rem 1.25rem;
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 700;
  font-family: var(--font-display);
  transition: var(--transition);
}

.nx-starter-btn:hover {
  background: var(--nx-red);
  border-color: var(--nx-red);
}

/* 90-Day Plan Tabs */
.nx-90-section {
  margin-top: 5rem;
  background: var(--nx-dark-1);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-xl);
  padding: 3.5rem 2.5rem;
}

.nx-90-nav {
  display: flex;
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 2rem;
}

.nx-90-tab {
  flex: 1;
  padding: 1rem;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  transition: var(--transition);
  position: relative;
  font-family: var(--font-body);
}

.nx-90-tab:not(:last-child) {
  border-right: 1px solid var(--nx-border);
}

.nx-90-tab.active {
  background: var(--nx-red-subtle);
}

.nx-90-tab-days {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--nx-gray-400);
  text-transform: uppercase;
}

.nx-90-tab.active .nx-90-tab-days {
  color: var(--nx-red);
}

.nx-90-tab-name {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--nx-white);
}

.nx-90-panel {
  display: none;
  animation: fadeIn 0.3s ease;
}

.nx-90-panel.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.nx-90-header {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem 1.75rem;
  background: var(--nx-dark-2);
  border: 1px solid var(--nx-red-border);
  border-radius: var(--radius-md);
  margin-bottom: 1.5rem;
}

.nx-90-steps-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.85rem;
}

.nx-90-step-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.25rem;
  background: var(--nx-dark-2);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-sm);
}

.nx-90-step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--nx-red-subtle);
  border: 1px solid var(--nx-red-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nx-red);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 700;
  flex-shrink: 0;
}

.nx-90-outcome-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  background: var(--nx-red-subtle);
  border: 1px solid var(--nx-red-border);
  border-radius: var(--radius-sm);
  margin-top: 1.5rem;
  font-size: 0.95rem;
  color: #fff;
}

/* Quiz Box */
.nx-quiz-box {
  margin-top: 5rem;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  background: var(--nx-dark-1);
  border: 1px solid var(--nx-border-light);
  border-radius: var(--radius-xl);
  padding: 3rem 2.5rem;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8);
}

.nx-quiz-step {
  display: none;
}

.nx-quiz-step.active {
  display: block;
  animation: fadeIn 0.3s ease;
}

.nx-quiz-q {
  font-size: 1.45rem;
  margin-bottom: 0.5rem;
  color: #fff;
}

.nx-quiz-q-sub {
  font-size: 0.9rem;
  color: var(--nx-gray-400);
  margin-bottom: 1.5rem;
}

.nx-quiz-options {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.nx-quiz-opt {
  padding: 1rem 1.25rem;
  background: var(--nx-dark-2);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.nx-quiz-opt:hover, .nx-quiz-opt.selected {
  border-color: var(--nx-red);
  background: var(--nx-red-subtle);
}

.nx-quiz-opt-title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
}

.nx-quiz-opt-desc {
  font-size: 0.8125rem;
  color: var(--nx-gray-400);
  margin-top: 0.2rem;
}

.nx-quiz-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Grids & Cards */
.nx-problem-grid, .nx-system-grid, .nx-cases-grid, .nx-philosophy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  margin-top: 3.5rem;
}

.nx-services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 3.5rem;
}

.nx-industries-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
  margin-top: 3rem;
}

.nx-industry-card {
  background: var(--nx-dark-card);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-md);
  padding: 1.75rem 1.25rem;
  text-align: center;
  transition: var(--transition);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

.nx-industry-card:hover {
  border-color: var(--nx-red);
  background: var(--nx-dark-2);
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(159, 0, 0, 0.3);
}

.nx-industry-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  background: var(--nx-red-subtle);
  border: 1px solid var(--nx-red-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nx-red);
  font-size: 1.25rem;
}

.nx-industry-name {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--nx-white);
  text-transform: uppercase;
}

/* FAQ */
.nx-faq-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 860px;
  margin: 3.5rem auto 0 auto;
}

.nx-faq-item {
  background: var(--nx-dark-card);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: var(--transition);
}

.nx-faq-item.active {
  border-color: var(--nx-red-border);
  background: var(--nx-dark-2);
}

.nx-faq-button {
  width: 100%;
  padding: 1.4rem 1.75rem;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  text-align: left;
}

.nx-faq-question {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--nx-white);
}

.nx-faq-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--nx-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nx-red);
  font-size: 1.1rem;
  flex-shrink: 0;
  transition: var(--transition);
}

.nx-faq-item.active .nx-faq-icon {
  transform: rotate(45deg);
  background: var(--nx-red);
  color: var(--nx-white);
  border-color: var(--nx-red);
}

.nx-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease-out;
  padding: 0 1.75rem;
}

.nx-faq-item.active .nx-faq-answer {
  padding-bottom: 1.5rem;
}

.nx-faq-answer p {
  color: var(--nx-gray-300);
  font-size: 0.95rem;
  line-height: 1.65;
}

/* Final CTA Box */
.nx-final-cta-box {
  background: linear-gradient(145deg, var(--nx-dark-2) 0%, var(--nx-dark-0) 100%);
  border: 1px solid var(--nx-border-light);
  border-radius: var(--radius-xl);
  padding: 5rem 3rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.nx-final-cta-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

/* Footer */
.nx-footer {
  background: var(--nx-dark-0);
  border-top: 1px solid var(--nx-border);
  padding-top: 5rem;
  padding-bottom: 3rem;
}

.nx-footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
}

.nx-footer-brand {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.nx-footer-col-title {
  font-family: var(--font-display);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--nx-white);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 1.25rem;
}

.nx-footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.nx-footer-link {
  font-size: 0.875rem;
  color: var(--nx-gray-400);
}

.nx-footer-link:hover {
  color: var(--nx-red);
}

.nx-footer-bottom {
  padding-top: 2rem;
  border-top: 1px solid var(--nx-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.8125rem;
  color: var(--nx-gray-600);
}

.nx-footer-legal {
  display: flex;
  gap: 1.5rem;
}

/* Modal */
.nx-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
}

.nx-modal-overlay.open {
  opacity: 1;
  visibility: visible;
}

.nx-modal-container {
  background: var(--nx-dark-1);
  border: 1px solid var(--nx-border-light);
  border-radius: var(--radius-lg);
  max-width: 580px;
  width: 100%;
  padding: 2.5rem;
  position: relative;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.95);
  max-height: 90vh;
  overflow-y: auto;
}

.nx-modal-close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  background: transparent;
  border: none;
  color: var(--nx-gray-400);
  font-size: 1.5rem;
  cursor: pointer;
}

.nx-form-group {
  margin-bottom: 1.25rem;
}

.nx-form-label {
  display: block;
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--nx-gray-300);
  margin-bottom: 0.4rem;
  text-transform: uppercase;
}

.nx-form-input, .nx-form-select, .nx-form-textarea {
  width: 100%;
  background: var(--nx-dark-2);
  border: 1px solid var(--nx-border);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
  color: var(--nx-white);
  font-family: var(--font-body);
  font-size: 0.95rem;
  outline: none;
  transition: var(--transition);
}

.nx-form-input:focus, .nx-form-select:focus, .nx-form-textarea:focus {
  border-color: var(--nx-red);
  box-shadow: 0 0 0 2px var(--nx-red-subtle);
}

.nx-form-textarea {
  resize: vertical;
  min-height: 90px;
}

/* Animations */
@keyframes pulseDot {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.6; }
  100% { transform: scale(1); opacity: 1; }
}

/* Responsive */
@media (max-width: 1024px) {
  .nx-hero-grid { grid-template-columns: 1fr; gap: 3rem; }
  .nx-pricing-grid-3 { grid-template-columns: 1fr; gap: 2rem; }
  .nx-industries-grid { grid-template-columns: repeat(3, 1fr); }
  .nx-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .nx-roi-results-grid { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 768px) {
  .nx-nav-desktop, .nx-header-live { display: none; }
  .nx-mobile-toggle { display: block; }
  .nx-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .nx-trust-card { border-right: none; border-bottom: 1px solid var(--nx-border); padding-bottom: 1.5rem; }
  .nx-problem-grid, .nx-system-grid, .nx-services-grid, .nx-cases-grid, .nx-philosophy-grid { grid-template-columns: 1fr; }
  .nx-90-steps-grid { grid-template-columns: 1fr; }
  .nx-industries-grid { grid-template-columns: repeat(2, 1fr); }
  .nx-footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .nx-final-cta-box { padding: 3rem 1.5rem; }
  #nx-live-toast { bottom: 12px; left: 12px; right: 12px; }
}

/* ==========================================================================
   FINAL MASTER HEADER & MEGA MENU STYLES (MULTI-COLUMN ARCHITECTURE)
   ========================================================================== */
.nx-logo-wordmark {
  font-family: var(--font-heading);
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--nx-white);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  transition: var(--transition);
  user-select: none;
  line-height: 1;
}

.nx-logo-wordmark:hover {
  color: var(--nx-red);
  text-shadow: 0 0 20px var(--nx-red-glow);
}

.nx-header-cta-btn {
  padding: 0.75rem 1.45rem;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  font-weight: 800;
}

/* Mega Menu Sizing & Grids */
.nx-mega-services {
  min-width: 740px;
}

.nx-mega-industries {
  min-width: 540px;
}

.nx-mega-locations {
  min-width: 940px;
}

.nx-mega-tools {
  min-width: 780px;
}

.nx-mega-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.75rem;
}

.nx-mega-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.nx-mega-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

.nx-mega-col {
  display: flex;
  flex-direction: column;
}

.nx-mega-heading {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--nx-red);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding-bottom: 0.65rem;
  margin-bottom: 0.65rem;
  border-bottom: 1px solid var(--nx-border);
}

.nx-mega-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.nx-mega-link {
  font-size: 0.875rem;
  color: var(--nx-gray-300);
  padding: 0.35rem 0.5rem;
  border-radius: var(--radius-sm);
  display: block;
  transition: var(--transition);
}

.nx-mega-link:hover {
  color: #fff;
  background: var(--nx-dark-2);
  transform: translateX(3px);
}

.nx-col-footer-link {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--nx-red);
  margin-top: 0.75rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--nx-border);
  display: block;
  transition: var(--transition);
}

.nx-col-footer-link:hover {
  color: #fff;
}

.nx-mega-bottom {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--nx-border);
  display: flex;
  justify-content: flex-end;
}

.nx-mega-bottom-cta {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--nx-red);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.85rem;
  background: var(--nx-red-subtle);
  border: 1px solid var(--nx-red-border);
  border-radius: var(--radius-sm);
  transition: var(--transition);
}

.nx-mega-bottom-cta:hover {
  background: var(--nx-red);
  color: #fff;
  border-color: var(--nx-red);
}

/* Mobile Accordions */
.nx-mobile-accordion {
  border-bottom: 1px solid var(--nx-border);
  padding: 0.5rem 0;
}

.nx-mobile-accordion-toggle {
  width: 100%;
  padding: 0.65rem 0;
  background: transparent;
  border: none;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.nx-mobile-accordion-body {
  display: none;
  padding: 0.5rem 0 1rem 0.75rem;
  flex-direction: column;
  gap: 0.5rem;
}

.nx-mobile-accordion-body.open {
  display: flex;
}

.nx-mobile-accordion-body a {
  font-size: 0.9rem;
  color: var(--nx-gray-300);
  padding: 0.25rem 0;
  display: block;
}

.nx-mobile-accordion-body a:hover {
  color: var(--nx-red);
}

/* ==========================================================================
   DYNAMIC PRO MEGA MENU & START MAKING MONEY CTA BUTTON ENHANCEMENTS
   ========================================================================== */

/* Clean Official Wordmark Logo */
.nx-logo-img {
  height: 32px;
  width: auto;
  max-height: 34px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 0 10px rgba(159, 0, 0, 0.4));
  transition: transform 0.2s ease, filter 0.2s ease;
}

.nx-logo-link:hover .nx-logo-img {
  transform: scale(1.02);
  filter: drop-shadow(0 0 16px rgba(159, 0, 0, 0.7));
}

/* "START MAKING MONEY" Dynamic Glowing CTA Button */
.nx-money-cta-btn {
  background: linear-gradient(135deg, #9F0000 0%, #9F0000 50%, #7A0000 100%);
  color: #FFFFFF !important;
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 0.8rem 1.6rem;
  border-radius: var(--radius-sm);
  box-shadow: 0 4px 20px rgba(159, 0, 0, 0.45), 0 0 30px rgba(159, 0, 0, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  animation: moneyPulse 3s infinite;
}

@keyframes moneyPulse {
  0%, 100% {
    box-shadow: 0 4px 20px rgba(159, 0, 0, 0.45), 0 0 25px rgba(159, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.4);
  }
  50% {
    box-shadow: 0 6px 28px rgba(159, 0, 0, 0.75), 0 0 40px rgba(159, 0, 0, 0.6), inset 0 1px 1px rgba(255, 255, 255, 0.6);
  }
}

.nx-money-cta-btn::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(60deg, transparent, rgba(255, 255, 255, 0.35), transparent);
  transform: rotate(25deg) translateY(-100%);
  animation: moneySweep 3.5s infinite;
}

@keyframes moneySweep {
  0% { transform: rotate(25deg) translateY(-140%); }
  25%, 100% { transform: rotate(25deg) translateY(140%); }
}

.nx-money-cta-btn:hover {
  transform: translateY(-2px) scale(1.02);
  background: linear-gradient(135deg, #B50000 0%, #B50000 50%, #9F0000 100%);
  box-shadow: 0 8px 32px rgba(159, 0, 0, 0.8), 0 0 45px rgba(159, 0, 0, 0.7), inset 0 1px 2px rgba(255, 255, 255, 0.6);
  border-color: rgba(255, 255, 255, 0.4);
}

/* Dynamic Pro Mega Menus Styling */
.nx-mega-menu {
  background: rgba(8, 8, 11, 0.97);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 2px solid var(--nx-red);
  border-radius: var(--radius-lg);
  padding: 1.75rem 2rem;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.95), 0 0 35px rgba(159, 0, 0, 0.22);
}

.nx-mega-heading {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 800;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  padding-bottom: 0.65rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.nx-mega-icon-tag {
  font-size: 0.9rem;
  color: var(--nx-red);
  text-shadow: 0 0 8px var(--nx-red);
}

.nx-bullet {
  color: var(--nx-red);
  font-size: 0.7rem;
  margin-right: 0.4rem;
  opacity: 0.6;
  transition: var(--transition);
}

.nx-mega-link {
  font-size: 0.875rem;
  color: var(--nx-gray-300);
  padding: 0.4rem 0.65rem;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  transition: all 0.18s ease;
  border: 1px solid transparent;
}

.nx-mega-link:hover {
  color: #FFFFFF;
  background: rgba(159, 0, 0, 0.14);
  border-color: rgba(159, 0, 0, 0.35);
  transform: translateX(4px);
}

.nx-mega-link:hover .nx-bullet {
  opacity: 1;
  color: #FFFFFF;
  text-shadow: 0 0 8px var(--nx-red);
}

.nx-mega-bottom-cta {
  font-family: var(--font-display);
  font-size: 0.825rem;
  font-weight: 700;
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 1rem;
  background: rgba(159, 0, 0, 0.2);
  border: 1px solid var(--nx-red);
  border-radius: 99px;
  box-shadow: 0 0 15px rgba(159, 0, 0, 0.3);
  transition: var(--transition);
}

.nx-mega-bottom-cta:hover {
  background: var(--nx-red);
  box-shadow: 0 0 25px rgba(159, 0, 0, 0.6);
  transform: translateY(-1px);
}

/* ==========================================================================
   COMPACT & SLEEK PRO MEGA MENU SPACING (REDUCED GAPS & SOLID OPAQUE GLASS)
   ========================================================================== */

.nx-mega-menu {
  background: #07070A !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-top: 2px solid var(--nx-red) !important;
  border-radius: var(--radius-md) !important;
  padding: 1.25rem 1.5rem !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.98), 0 0 30px rgba(159, 0, 0, 0.25) !important;
}

.nx-mega-locations {
  min-width: 880px !important;
}

.nx-mega-services {
  min-width: 720px !important;
}

.nx-mega-tools {
  min-width: 740px !important;
}

.nx-mega-industries {
  min-width: 500px !important;
}

.nx-mega-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem !important;
}

.nx-mega-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.15rem !important;
}

.nx-mega-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem !important;
}

.nx-mega-heading {
  font-family: var(--font-mono);
  font-size: 0.75rem !important;
  font-weight: 800;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding-bottom: 0.4rem !important;
  margin-bottom: 0.45rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.nx-mega-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1px !important;
}

.nx-mega-link {
  font-size: 0.8125rem !important;
  line-height: 1.3 !important;
  color: var(--nx-gray-300);
  padding: 0.2rem 0.45rem !important;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  transition: all 0.15s ease;
  border: 1px solid transparent;
}

.nx-mega-link:hover {
  color: #FFFFFF !important;
  background: rgba(159, 0, 0, 0.18) !important;
  border-color: rgba(159, 0, 0, 0.35) !important;
  transform: translateX(3px);
}

.nx-col-footer-link {
  font-family: var(--font-mono);
  font-size: 0.72rem !important;
  font-weight: 700;
  color: var(--nx-red);
  margin-top: 0.45rem !important;
  padding-top: 0.35rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  display: block;
  transition: var(--transition);
}

.nx-col-footer-link:hover {
  color: #FFFFFF;
}

.nx-mega-bottom {
  margin-top: 0.85rem !important;
  padding-top: 0.75rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  display: flex;
  justify-content: flex-end;
}

.nx-mega-bottom-cta {
  font-family: var(--font-display);
  font-size: 0.78rem !important;
  font-weight: 700;
  padding: 0.35rem 0.85rem !important;
}

/* ==========================================================================
   HIGH-END DYNAMIC 24-INDUSTRY GRID WITH LIVE VIDEO/HOLOGRAPHIC ICONS
   ========================================================================== */

.nx-industries-grid-24 {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.85rem;
  margin-top: 2.5rem;
}

@media (max-width: 1200px) {
  .nx-industries-grid-24 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 900px) {
  .nx-industries-grid-24 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .nx-industries-grid-24 {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.65rem;
  }
}

.nx-industry-pill-card {
  background: linear-gradient(180deg, rgba(18, 18, 24, 0.85) 0%, rgba(10, 10, 14, 0.95) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 1.25rem 0.75rem 1rem 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.65rem;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

/* Subtle corner neon accent on hover */
.nx-industry-pill-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--nx-red), transparent);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.nx-industry-pill-card:hover {
  transform: translateY(-4px) scale(1.02);
  background: linear-gradient(180deg, rgba(28, 14, 18, 0.9) 0%, rgba(14, 8, 10, 0.98) 100%);
  border-color: rgba(159, 0, 0, 0.5);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.8), 0 0 25px rgba(159, 0, 0, 0.35);
}

.nx-industry-pill-card:hover::before {
  opacity: 1;
}

/* Dynamic Live Animated Icon Container */
.nx-live-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(159, 0, 0, 0.25) 0%, rgba(20, 10, 12, 0.6) 80%);
  border: 1px solid rgba(159, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: all 0.25s ease;
  box-shadow: 0 0 12px rgba(159, 0, 0, 0.25);
}

/* Holographic animated live orbital ring */
.nx-live-icon-box::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 1px dashed rgba(159, 0, 0, 0.5);
  animation: nxOrbitalSpin 8s linear infinite;
  opacity: 0.6;
}

@keyframes nxOrbitalSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.nx-industry-pill-card:hover .nx-live-icon-box {
  transform: scale(1.1);
  background: radial-gradient(circle, rgba(159, 0, 0, 0.4) 0%, rgba(30, 10, 14, 0.8) 80%);
  border-color: var(--nx-red);
  box-shadow: 0 0 20px rgba(159, 0, 0, 0.6), inset 0 0 10px rgba(159, 0, 0, 0.3);
}

.nx-industry-pill-card:hover .nx-live-icon-box::after {
  opacity: 1;
  border-color: var(--nx-red);
  animation-duration: 3s;
}

.nx-live-icon-symbol {
  font-size: 1.25rem;
  line-height: 1;
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.4));
  transition: transform 0.25s ease;
}

.nx-industry-pill-card:hover .nx-live-icon-symbol {
  transform: scale(1.12);
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
}

.nx-industry-pill-name {
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
  line-height: 1.25;
}

.nx-industry-pill-card:hover .nx-industry-pill-name {
  color: #FFFFFF;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.4);
}

/* ==========================================================================
   LIVE MICRO-VIDEO ICONS ENGINE FOR 24-INDUSTRY GRID
   ========================================================================== */

.nx-live-icon-box {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #050508 !important;
  border: 1.5px solid rgba(159, 0, 0, 0.5) !important;
  box-shadow: 0 0 16px rgba(159, 0, 0, 0.45), inset 0 0 12px rgba(0, 0, 0, 0.9) !important;
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.nx-icon-video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.7 !important;
  border-radius: 50% !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
  pointer-events: none !important;
  mix-blend-mode: screen !important;
}

.nx-icon-scrim {
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle, rgba(159, 0, 0, 0.2) 0%, rgba(5, 5, 8, 0.65) 100%) !important;
  border-radius: 50% !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.nx-live-icon-symbol {
  position: relative !important;
  z-index: 2 !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.95)) drop-shadow(0 0 8px rgba(255, 255, 255, 0.7)) !important;
  transition: transform 0.25s ease !important;
}

.nx-industry-pill-card:hover .nx-live-icon-box {
  transform: scale(1.12) !important;
  border-color: #FF1A1A !important;
  box-shadow: 0 0 25px rgba(159, 0, 0, 0.8), inset 0 0 8px rgba(255, 26, 26, 0.4) !important;
}

.nx-industry-pill-card:hover .nx-icon-video {
  opacity: 1 !important;
  transform: scale(1.2) !important;
}

.nx-industry-pill-card:hover .nx-live-icon-symbol {
  transform: scale(1.18) !important;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 1)) drop-shadow(0 0 12px rgba(255, 255, 255, 1)) !important;
}

/* ==========================================================================
   STRICT BRANDING COLOR VECTOR SVG ICONS (#9F0000 & #FFFFFF)
   ========================================================================== */

.nx-brand-svg {
  width: 21px;
  height: 21px;
  stroke: #9F0000;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 6px rgba(159, 0, 0, 0.75));
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  display: block;
}

.nx-live-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(159, 0, 0, 0.3) 0%, rgba(12, 6, 8, 0.9) 80%) !important;
  border: 1px solid rgba(159, 0, 0, 0.45) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: all 0.25s ease;
  box-shadow: 0 0 14px rgba(159, 0, 0, 0.35) !important;
}

.nx-industry-pill-card:hover .nx-brand-svg {
  stroke: #FFFFFF !important;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.9)) drop-shadow(0 0 16px rgba(159, 0, 0, 1)) !important;
  transform: scale(1.15);
}

/* ==========================================================================
   ADVANCED 90-DAY GROWTH ROADMAP WORKFLOW STYLING
   ========================================================================== */

.nx-90day-section {
  background: #08080C;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  padding: 3rem 2.5rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7);
  position: relative;
  overflow: hidden;
}

@media (max-width: 768px) {
  .nx-90day-section {
    padding: 2rem 1.25rem;
  }
}

.nx-90-nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .nx-90-nav {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}

.nx-90-tab {
  background: rgba(18, 18, 24, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 1.25rem 1rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  position: relative;
  overflow: hidden;
}

.nx-90-tab::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  transition: background 0.25s ease;
}

.nx-90-tab.active {
  background: linear-gradient(180deg, rgba(32, 14, 18, 0.95) 0%, rgba(14, 8, 10, 0.98) 100%);
  border-color: rgba(159, 0, 0, 0.5);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6), 0 0 20px rgba(159, 0, 0, 0.3);
}

.nx-90-tab.active::before {
  background: var(--nx-red);
}

.nx-90-tab-days {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--nx-red);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.nx-90-tab-name {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 800;
  color: #FFFFFF;
}

.nx-90-panel {
  display: none;
  animation: nxFadeIn 0.35s ease forwards;
}

.nx-90-panel.active {
  display: block;
}

@keyframes nxFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.nx-90-header {
  background: linear-gradient(135deg, rgba(22, 12, 16, 0.8) 0%, rgba(12, 8, 10, 0.95) 100%);
  border: 1px solid rgba(159, 0, 0, 0.3);
  border-radius: var(--radius-md);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.nx-90-steps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 860px) {
  .nx-90-steps-grid {
    grid-template-columns: 1fr;
  }
}

.nx-90-step-item {
  background: rgba(14, 14, 18, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 1.15rem 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  transition: all 0.22s ease;
}

.nx-90-step-item:hover {
  background: rgba(24, 14, 18, 0.95);
  border-color: rgba(159, 0, 0, 0.4);
  transform: translateX(4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6);
}

.nx-90-step-num {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--nx-red);
  background: rgba(159, 0, 0, 0.18);
  border: 1px solid rgba(159, 0, 0, 0.4);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.nx-90-step-title {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 0.25rem;
}

.nx-90-step-desc {
  font-size: 0.85rem;
  color: var(--nx-gray-300);
  line-height: 1.5;
}

.nx-90-milestone-bar {
  background: rgba(159, 0, 0, 0.12);
  border: 1px solid rgba(159, 0, 0, 0.4);
  border-radius: var(--radius-md);
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.9rem;
  color: #FFFFFF;
  box-shadow: 0 4px 20px rgba(159, 0, 0, 0.2);
}

.nx-90-bottom-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}

/* ==========================================================================
   COMPLETE 3-TIER PRICING GRID & CARD DESIGN SYSTEM
   ========================================================================== */

.nx-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: stretch;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

@media (max-width: 992px) {
  .nx-pricing-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.nx-pricing-card {
  background: linear-gradient(180deg, rgba(16, 16, 22, 0.92) 0%, rgba(9, 9, 13, 0.98) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-lg);
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6);
}

.nx-pricing-card:hover {
  transform: translateY(-6px);
  border-color: rgba(159, 0, 0, 0.45);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8), 0 0 25px rgba(159, 0, 0, 0.3);
}

.nx-pricing-card.featured {
  background: linear-gradient(180deg, rgba(34, 12, 18, 0.96) 0%, rgba(16, 8, 11, 0.98) 100%);
  border: 2px solid var(--nx-red);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8), 0 0 35px rgba(159, 0, 0, 0.45);
  transform: translateY(-8px);
}

.nx-pricing-card.featured:hover {
  transform: translateY(-12px);
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.9), 0 0 45px rgba(159, 0, 0, 0.65);
}

.nx-popular-tag {
  background: linear-gradient(135deg, #9F0000 0%, #9F0000 100%);
  color: #FFFFFF;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 0.4rem 1.15rem;
  border-radius: 99px;
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 4px 15px rgba(159, 0, 0, 0.65);
  white-space: nowrap;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.nx-pricing-tier {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--nx-red);
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.nx-pricing-target {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 1.25rem;
  line-height: 1.3;
}

.nx-pricing-price {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  margin-bottom: 1rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.nx-price-amount {
  font-family: var(--font-mono);
  font-size: 2.75rem;
  font-weight: 900;
  color: #FFFFFF;
  line-height: 1;
}

.nx-price-period {
  font-size: 0.95rem;
  color: var(--nx-gray-400);
  font-weight: 500;
}

.nx-pricing-desc {
  font-size: 0.875rem;
  color: var(--nx-gray-300);
  line-height: 1.6;
  margin-bottom: 1.75rem;
  min-height: 48px;
}

.nx-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  flex-grow: 1;
}

.nx-pricing-features li {
  font-size: 0.875rem;
  color: var(--nx-gray-300);
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  line-height: 1.45;
}

.nx-pricing-features li::before {
  content: '✓';
  color: var(--nx-red);
  font-weight: 900;
  font-size: 0.95rem;
  flex-shrink: 0;
}

.nx-pricing-features li strong {
  color: #FFFFFF;
  font-weight: 600;
}

.nx-pricing-cta-wrap {
  margin-top: auto;
  padding-top: 1rem;
}

/* Starter Alternative Bar */
.nx-starter-bar {
  background: #0B0B0F;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  padding: 1.5rem 2rem;
  margin-top: 2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.nx-starter-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

/* ==========================================================================
   ORIGINAL CLEAN 3-TIER PRICING CARDS ARCHITECTURE
   ========================================================================== */

.nx-pricing-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: stretch;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

@media (max-width: 992px) {
  .nx-pricing-grid-3 {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.nx-price-card {
  background: var(--nx-dark-card, #111116);
  border: 1px solid var(--nx-border, rgba(255, 255, 255, 0.1));
  border-radius: var(--radius-lg, 16px);
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  position: relative;
  transition: all 0.25s ease;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.nx-price-card:hover {
  transform: translateY(-4px);
  border-color: rgba(159, 0, 0, 0.4);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7);
}

.nx-price-card.featured {
  border: 2px solid var(--nx-red, #9F0000);
  background: linear-gradient(180deg, rgba(28, 12, 16, 0.95) 0%, rgba(14, 8, 10, 0.98) 100%);
  box-shadow: 0 15px 50px rgba(159, 0, 0, 0.35);
  transform: translateY(-6px);
}

.nx-price-card.featured:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 60px rgba(159, 0, 0, 0.5);
}

.nx-price-badge {
  display: inline-block;
  background: rgba(159, 0, 0, 0.15);
  color: var(--nx-red, #9F0000);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.35rem 0.85rem;
  border-radius: 99px;
  border: 1px solid rgba(159, 0, 0, 0.3);
  width: fit-content;
}

.nx-price-card.featured .nx-price-badge {
  background: var(--nx-red, #9F0000);
  color: #FFFFFF;
  border-color: var(--nx-red, #9F0000);
}

.nx-price-title {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  color: var(--nx-white, #FFFFFF);
  margin: 0.25rem 0 0 0;
  font-weight: 800;
}

.nx-price-amount {
  font-family: var(--font-mono);
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--nx-white, #FFFFFF);
  line-height: 1;
  margin: 0.25rem 0 0.5rem 0;
}

.nx-price-amount span {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--nx-gray-400, #A1A1AA);
}

.nx-price-desc {
  font-size: 0.9rem;
  color: var(--nx-gray-400, #A1A1AA);
  line-height: 1.55;
  min-height: 48px;
  margin-bottom: 0.5rem;
}

.nx-price-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  flex-grow: 1;
}

.nx-price-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.875rem;
  color: var(--nx-gray-300, #D4D4D8);
  line-height: 1.4;
}

.nx-price-feature-item svg {
  width: 16px;
  height: 16px;
  color: var(--nx-red, #9F0000);
  flex-shrink: 0;
  margin-top: 2px;
}

.nx-price-feature-item strong {
  color: #FFFFFF;
}

/* ==========================================================================
   STRICT BRAND COLOR ENFORCEMENT (#9F0000 / #9F0000, #000000, #FFFFFF ONLY)
   ========================================================================== */

/* Universal Link & Button Color Fixes (No Purple Visited Links) */
a, a:visited {
  color: inherit;
  text-decoration: none;
}

.nx-btn, a.nx-btn, a.nx-btn:visited, button.nx-btn {
  font-family: var(--font-display);
  font-weight: 700;
  text-decoration: none !important;
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

/* Secondary Buttons - Strict Dark Obsidian & White with Crimson Hover */
.nx-btn-secondary, a.nx-btn-secondary, a.nx-btn-secondary:visited {
  background: #0E0E14 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
  padding: 0.8rem 1.5rem;
}

.nx-btn-secondary:hover, a.nx-btn-secondary:hover {
  background: #181822 !important;
  color: #FFFFFF !important;
  border-color: #9F0000 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.7), 0 0 16px rgba(159, 0, 0, 0.35) !important;
  transform: translateY(-2px);
}

/* 90-Day Roadmap Tabs - Strict Brand Colors (No Pink / No Magenta) */
.nx-90-tab {
  background: #0D0D12 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--radius-md) !important;
  padding: 1.25rem 1rem !important;
  text-align: center;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem !important;
  position: relative;
  overflow: hidden;
  transition: all 0.22s ease !important;
}

.nx-90-tab:hover {
  background: #14141C !important;
  border-color: rgba(159, 0, 0, 0.4) !important;
}

.nx-90-tab.active {
  background: #161620 !important;
  border: 1px solid #9F0000 !important;
  border-top: 3px solid #9F0000 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 25px rgba(159, 0, 0, 0.35) !important;
}

.nx-90-tab-days {
  font-family: var(--font-mono) !important;
  font-size: 0.75rem !important;
  color: #A1A1AA !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
}

.nx-90-tab.active .nx-90-tab-days {
  color: #9F0000 !important;
}

.nx-90-tab-name {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
}

.nx-90-header {
  background: #0E0E14 !important;
  border: 1px solid rgba(159, 0, 0, 0.4) !important;
  border-radius: var(--radius-md);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
}

.nx-90-step-item {
  background: #0E0E14 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--radius-md);
  padding: 1.15rem 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  transition: all 0.2s ease;
}

.nx-90-step-item:hover {
  background: #161620 !important;
  border-color: rgba(159, 0, 0, 0.45) !important;
  transform: translateX(4px);
}

.nx-90-step-num {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 800;
  color: #9F0000 !important;
  background: rgba(159, 0, 0, 0.18) !important;
  border: 1px solid rgba(159, 0, 0, 0.4) !important;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.nx-90-milestone-bar {
  background: #0E0E14 !important;
  border: 1px solid rgba(159, 0, 0, 0.4) !important;
  border-left: 4px solid #9F0000 !important;
  border-radius: var(--radius-md);
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.9rem;
  color: #FFFFFF !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
}

/* ==========================================================================
   HIGH-END DYNAMIC FOOTER CTA CARD (LOCALKLICKS MODEL)
   ========================================================================== */

.nx-footer-cta-card {
  background: linear-gradient(135deg, rgba(20, 10, 14, 0.95) 0%, rgba(9, 9, 13, 0.98) 100%);
  border: 1px solid rgba(159, 0, 0, 0.4);
  border-radius: var(--radius-lg, 16px);
  padding: 2.5rem 3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.5rem;
  margin-bottom: 4rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8), 0 0 35px rgba(159, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.nx-footer-cta-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #9F0000, transparent);
}

.nx-footer-cta-card:hover {
  border-color: rgba(159, 0, 0, 0.7);
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.9), 0 0 45px rgba(159, 0, 0, 0.35);
  transform: translateY(-2px);
}

.nx-footer-cta-text {
  flex: 1;
}

.nx-footer-cta-title {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 3.2vw, 2.5rem);
  font-weight: 800;
  color: #FFFFFF;
  letter-spacing: 0.03em;
  line-height: 1.15;
  margin: 0 0 0.5rem 0;
  text-transform: uppercase;
}

.nx-footer-cta-desc {
  font-size: 1rem;
  color: #A1A1AA;
  line-height: 1.6;
  margin: 0;
  max-width: 680px;
}

.nx-footer-cta-btn-wrap {
  flex-shrink: 0;
}

.nx-footer-cta-btn {
  background: linear-gradient(135deg, #9F0000 0%, #B50000 50%, #7A0000 100%) !important;
  color: #FFFFFF !important;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  padding: 1rem 2rem;
  border-radius: var(--radius-md, 10px);
  box-shadow: 0 4px 20px rgba(159, 0, 0, 0.5), 0 0 25px rgba(159, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  white-space: nowrap;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
  text-decoration: none !important;
}

.nx-footer-cta-btn:hover {
  transform: translateY(-2px) scale(1.02);
  background: linear-gradient(135deg, #B50000 0%, #C80000 50%, #850000 100%) !important;
  box-shadow: 0 8px 30px rgba(159, 0, 0, 0.8), 0 0 40px rgba(159, 0, 0, 0.6) !important;
}

.nx-live-dot-green {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22C55E;
  box-shadow: 0 0 10px #22C55E, 0 0 20px rgba(34, 197, 94, 0.6);
  display: inline-block;
  animation: liveDotPulse 2s infinite;
}

@keyframes liveDotPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.8; }
}

@media (max-width: 860px) {
  .nx-footer-cta-card {
    flex-direction: column;
    text-align: center;
    padding: 2rem 1.5rem;
    gap: 1.5rem;
  }
  .nx-footer-cta-btn-wrap {
    width: 100%;
  }
  .nx-footer-cta-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   NEXAMIZE TEMPLATE T1 (SUPER SEO & HIGH CONVERTING MASTER ENGINE) STYLING
   ========================================================================== */

.nx-t1-hero-section {
  min-height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 8rem 0 5rem 0;
  overflow: hidden;
  background: #000000;
  text-align: center;
}

.nx-t1-hero-container {
  position: relative;
  z-index: 2;
}

.nx-t1-hero-content {
  max-width: 880px;
  margin: 0 auto;
}

.nx-t1-hero-title {
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 5.5vw, 4.2rem);
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.1;
  margin: 0.75rem 0 1.25rem 0;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.nx-t1-hero-subtitle {
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  color: #D4D4D8;
  line-height: 1.7;
  margin-bottom: 2rem;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.nx-t1-hero-ctas {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.nx-t1-hero-badges {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 0.825rem;
  color: #A1A1AA;
  font-family: var(--font-mono);
}

.nx-t1-hero-badges .nx-divider {
  opacity: 0.4;
}

/* Storytelling Alternating Blocks */
.nx-t1-story-section {
  padding: 5.5rem 0;
}

.nx-t1-story-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 3.5rem;
  align-items: center;
}

.nx-t1-story-grid.reverse {
  grid-template-columns: 0.9fr 1.1fr;
}

@media (max-width: 960px) {
  .nx-t1-story-grid, .nx-t1-story-grid.reverse {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.nx-t1-story-copy {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.nx-t1-story-copy h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  line-height: 1.2;
}

.nx-t1-story-copy p {
  font-size: 1rem;
  color: #D4D4D8;
  line-height: 1.7;
}

.nx-t1-story-ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 0.75rem;
}

.nx-t1-image-frame {
  position: relative;
  border-radius: var(--radius-lg, 16px);
  overflow: hidden;
  border: 1px solid rgba(159, 0, 0, 0.4);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8), 0 0 35px rgba(159, 0, 0, 0.25);
  background: #0E0E14;
}

.nx-t1-img {
  width: 100%;
  height: 380px;
  display: block;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.nx-t1-image-frame:hover .nx-t1-img {
  transform: scale(1.03);
}

.nx-t1-frame-tag {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(8, 8, 12, 0.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(159, 0, 0, 0.5);
  padding: 0.45rem 1rem;
  border-radius: 99px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: #FFFFFF;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
}

/* Deliverables Grid */
.nx-t1-deliverables-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

@media (max-width: 900px) {
  .nx-t1-deliverables-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .nx-t1-deliverables-grid {
    grid-template-columns: 1fr;
  }
}

.nx-t1-deliv-card {
  background: #0E0E14;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md, 12px);
  padding: 2rem 1.75rem;
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
}

.nx-t1-deliv-card:hover {
  background: #151520;
  border-color: rgba(159, 0, 0, 0.5);
  transform: translateY(-4px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7), 0 0 20px rgba(159, 0, 0, 0.25);
}

.nx-t1-deliv-card h3 {
  font-size: 1.15rem;
  color: #FFFFFF;
  margin-bottom: 0.5rem;
}

.nx-t1-deliv-card p {
  font-size: 0.875rem;
  color: #A1A1AA;
  line-height: 1.6;
}

/* Process Steps Grid */
.nx-t1-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

@media (max-width: 992px) {
  .nx-t1-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .nx-t1-process-grid {
    grid-template-columns: 1fr;
  }
}

.nx-t1-process-card {
  background: #0E0E14;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md, 12px);
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  position: relative;
  transition: all 0.25s ease;
}

.nx-t1-process-card:hover {
  border-color: #9F0000;
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 0 0 18px rgba(159, 0, 0, 0.25);
}

.nx-t1-process-step-badge {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 800;
  color: #9F0000;
  background: rgba(159, 0, 0, 0.15);
  border: 1px solid rgba(159, 0, 0, 0.35);
  padding: 0.25rem 0.65rem;
  border-radius: 99px;
  width: fit-content;
}

.nx-t1-process-card h3 {
  font-size: 1.15rem;
  color: #FFFFFF;
  margin: 0;
}

.nx-t1-process-card p {
  font-size: 0.875rem;
  color: #A1A1AA;
  line-height: 1.6;
  margin: 0;
}

/* Head-to-Head Comparison Table */
.nx-t1-table-wrap {
  overflow-x: auto;
  background: #0E0E14;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg, 16px);
  padding: 1.5rem;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6);
}

.nx-t1-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  min-width: 680px;
}

.nx-t1-table th, .nx-t1-table td {
  padding: 1.2rem 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.925rem;
  color: #D4D4D8;
}

.nx-t1-table th {
  font-family: var(--font-display);
  font-weight: 800;
  color: #FFFFFF;
  font-size: 1rem;
  text-transform: uppercase;
}

.nx-t1-table th.highlight, .nx-t1-table td.highlight {
  background: rgba(159, 0, 0, 0.12);
  border-left: 1px solid rgba(159, 0, 0, 0.35);
  border-right: 1px solid rgba(159, 0, 0, 0.35);
  color: #FFFFFF;
  font-weight: 700;
}

.nx-t1-table .check {
  color: #22C55E;
  font-weight: 900;
  margin-right: 0.4rem;
}

.nx-t1-table .cross {
  color: #EF4444;
  font-weight: 900;
  margin-right: 0.4rem;
}

/* ==========================================================================
   REFINED TEMPLATE T1 WIREFRAME-ACCURATE STYLING
   ========================================================================== */

.nx-t1-hero-section {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  padding: 10rem 0 6.5rem 0;
  min-height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  background-color: #000000;
}

.nx-t1-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.85) 75%, #000000 100%),
              linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 40%, #000000 100%);
  pointer-events: none;
}

.nx-t1-hero-container {
  position: relative;
  z-index: 2;
}

.nx-t1-hero-content {
  max-width: 860px;
  margin: 0 auto;
}

.nx-t1-hero-title {
  font-family: var(--font-heading);
  font-size: clamp(2.6rem, 5.5vw, 4.5rem);
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.1;
  margin: 0.5rem 0 1.25rem 0;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.9);
}

.nx-t1-hero-subtitle {
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  color: #E4E4E7;
  line-height: 1.7;
  margin-bottom: 2.25rem;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.8);
}

.nx-t1-hero-ctas {
  display: flex;
  gap: 1.25rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 2.25rem;
}

.nx-t1-hero-badges {
  display: flex;
  gap: 1.25rem;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 0.85rem;
  color: #A1A1AA;
  font-family: var(--font-mono);
  letter-spacing: 0.04em;
}

.nx-t1-hero-badges .nx-divider {
  opacity: 0.4;
}

/* Wireframe Storytelling Blocks & Side Captions */
.nx-t1-story-media-wrap {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  position: relative;
}

.nx-t1-story-media-wrap.reverse {
  flex-direction: row;
}

.nx-t1-side-caption {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #71717A;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.nx-t1-side-caption::after {
  content: '';
  width: 24px;
  height: 2px;
  background: var(--nx-red, #9F0000);
  display: inline-block;
}

@media (max-width: 960px) {
  .nx-t1-story-media-wrap {
    flex-direction: column;
    gap: 0.75rem;
  }
  .nx-t1-side-caption {
    writing-mode: horizontal-tb;
    transform: none;
  }
}

/* ==========================================================================
   HIGH-END WHITE DYNAMIC ANIMATED VIDEO STORYTELLING SECTIONS
   ========================================================================== */

.nx-t1-story-section-light {
  position: relative;
  background: #FFFFFF;
  padding: 6.5rem 0;
  overflow: hidden;
  color: #0A0A0E;
}

.nx-story-video-bg-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
}

.nx-story-video-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.28;
  filter: grayscale(100%) contrast(110%);
}

.nx-story-scrim-light {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(248,249,250,0.85) 50%, rgba(255,255,255,0.95) 100%);
  pointer-events: none;
}

.nx-t1-story-content-light {
  position: relative;
  z-index: 2;
}

/* Light Mode Typography for Storytelling Blocks */
.nx-t1-story-copy-light {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.nx-t1-story-copy-light h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(2rem, 3.8vw, 2.75rem) !important;
  font-weight: 800 !important;
  color: #0A0A0E !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  letter-spacing: 0.01em !important;
}

.nx-t1-story-copy-light p {
  font-size: 1.05rem !important;
  color: #3F3F46 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

.nx-eyebrow-light {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-weight: 800;
  color: #9F0000;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: rgba(159, 0, 0, 0.08);
  border: 1px solid rgba(159, 0, 0, 0.25);
  padding: 0.35rem 0.85rem;
  border-radius: 99px;
  width: fit-content;
}

.nx-t1-image-frame-light {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.16), 0 0 35px rgba(159, 0, 0, 0.1);
  background: #FFFFFF;
  position: relative;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.nx-t1-image-frame-light:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.22), 0 0 40px rgba(159, 0, 0, 0.15);
}

.nx-t1-img-light {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
}

.nx-btn-secondary-light {
  background: #0A0A0E !important;
  color: #FFFFFF !important;
  border: 1px solid #0A0A0E !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
  padding: 0.85rem 1.6rem;
  font-weight: 700;
}

.nx-btn-secondary-light:hover {
  background: #181822 !important;
  color: #FFFFFF !important;
  border-color: #9F0000 !important;
  box-shadow: 0 6px 20px rgba(159, 0, 0, 0.25) !important;
  transform: translateY(-2px);
}

/* ==========================================================================
   PROMINENT & CRISP HIGH-END WHITE DYNAMIC ANIMATED VIDEO BACKGROUNDS
   ========================================================================== */

.nx-t1-story-section-light {
  position: relative;
  background: #F8F9FA;
  padding: 6.5rem 0;
  overflow: hidden;
}

.nx-story-video-bg-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
}

.nx-story-video-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.82;
  filter: contrast(115%) brightness(105%);
  transition: opacity 0.5s ease;
}

.nx-story-scrim-light {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0.75) 70%, rgba(248, 249, 250, 0.9) 100%);
  pointer-events: none;
}

.nx-t1-story-content-light {
  position: relative;
  z-index: 2;
}

.nx-t1-story-copy-light h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(2.1rem, 4vw, 2.85rem) !important;
  font-weight: 800 !important;
  color: #0A0A0E !important;
  line-height: 1.12 !important;
  margin: 0 !important;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
}

.nx-t1-story-copy-light p {
  font-size: 1.05rem !important;
  color: #27272A !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
}

.nx-t1-image-frame-light {
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.14);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.18), 0 0 35px rgba(159, 0, 0, 0.12);
  background: #FFFFFF;
  position: relative;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
}

.nx-t1-image-frame-light:hover {
  transform: translateY(-4px) scale(1.015);
  box-shadow: 0 30px 75px rgba(0, 0, 0, 0.25), 0 0 45px rgba(159, 0, 0, 0.18);
}

.nx-t1-img-light {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
}

/* ==========================================================================
   PRO ANIMATED WHITE ARCHITECTURAL TABLE GRID BACKGROUND (ZERO VIDEO)
   ========================================================================== */

.nx-t1-story-section-light {
  position: relative;
  background-color: #FFFFFF;
  background-image: 
    linear-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px),
    linear-gradient(rgba(159, 0, 0, 0.025) 2px, transparent 2px),
    linear-gradient(90deg, rgba(159, 0, 0, 0.025) 2px, transparent 2px);
  background-size: 32px 32px, 32px 32px, 160px 160px, 160px 160px;
  background-position: center center;
  padding: 6.5rem 0;
  overflow: hidden;
  color: #0A0A0E;
}

.nx-t1-story-section-light::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 30%, rgba(159, 0, 0, 0.03) 0%, transparent 60%),
              linear-gradient(180deg, rgba(255,255,255,0.7) 0%, transparent 20%, transparent 80%, rgba(255,255,255,0.85) 100%);
  pointer-events: none;
}

/* Subtle Animated Laser/Grid Beam Passing Across Matrix */
.nx-grid-beam-layer {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 0%, rgba(159, 0, 0, 0.04) 45%, rgba(0, 0, 0, 0.06) 50%, rgba(159, 0, 0, 0.04) 55%, transparent 100%);
  background-size: 200% 200%;
  animation: nxGridBeamMove 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes nxGridBeamMove {
  0% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}

.nx-t1-story-content-light {
  position: relative;
  z-index: 2;
}

/* ==========================================================================
   PERFECT BULLETPROOF FAQ ACCORDION - STRICT #9F0000 BRANDING (NO PINK, NO VANISHING)
   ========================================================================== */

.nx-faq-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  max-width: 860px !important;
  margin: 2.5rem auto 0 auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.nx-faq-item {
  background: #0E0E14 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
}

.nx-faq-item:hover {
  border-color: rgba(159, 0, 0, 0.45) !important;
  background: #14141C !important;
  transform: translateY(-2px);
}

.nx-faq-item.active {
  background: #161620 !important;
  border: 1px solid #9F0000 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 0 0 20px rgba(159, 0, 0, 0.25) !important;
}

.nx-faq-button {
  width: 100% !important;
  padding: 1.35rem 1.75rem !important;
  background: transparent !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  cursor: pointer !important;
  text-align: left !important;
  outline: none !important;
}

.nx-faq-button:hover, 
.nx-faq-button:focus, 
.nx-faq-item.active .nx-faq-button {
  background: transparent !important;
}

.nx-faq-question {
  font-family: var(--font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.4 !important;
}

.nx-faq-icon {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: rgba(159, 0, 0, 0.15) !important;
  border: 1px solid rgba(159, 0, 0, 0.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #9F0000 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease !important;
}

.nx-faq-item.active .nx-faq-icon {
  transform: rotate(45deg) !important;
  background: #9F0000 !important;
  color: #FFFFFF !important;
  border-color: #9F0000 !important;
  box-shadow: 0 0 15px rgba(159, 0, 0, 0.6) !important;
}

.nx-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), padding 0.25s ease;
  padding: 0 1.75rem;
}

.nx-faq-item.active .nx-faq-answer {
  padding-bottom: 1.5rem;
}

.nx-faq-answer p {
  color: #D4D4D8 !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* Dynamic 3D Red Particle Canvas Layer */
.nx-ambient-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  opacity: 0.85;
}

.nx-t1-hero-container {
  position: relative;
  z-index: 3;
}

/* ==========================================================================
   BULLETPROOF HEADER & LUXURY GLASS MEGA DROPDOWNS
   ========================================================================== */

.nx-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  height: 72px;
  display: flex;
  align-items: center;
}

.nx-header-container {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nx-nav-list {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nx-nav-item {
  position: relative;
}

.nx-nav-link {
  color: #D4D4D8;
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0;
  transition: color 0.2s ease;
}

.nx-nav-link:hover, .nx-nav-item.has-dropdown:hover > .nx-nav-link {
  color: #FFFFFF;
}

/* Mega Menus Initial State (Hidden, Positioned Absolutely) */
.nx-mega-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: rgba(8, 8, 12, 0.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 2px solid #9F0000;
  border-radius: 14px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.9), 0 0 30px rgba(159, 0, 0, 0.2);
  padding: 1.75rem 2rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 1000;
}

.nx-mega-services {
  width: 780px;
}

.nx-mega-industries {
  width: 920px;
}

/* Hover Reveal */
.nx-nav-item.has-dropdown:hover .nx-mega-menu,
.nx-nav-item.has-dropdown:focus-within .nx-mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.nx-mega-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.nx-mega-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.nx-mega-heading {
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 800;
  color: #FFFFFF;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.nx-mega-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.nx-mega-link {
  color: #A1A1AA;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: color 0.2s ease, transform 0.2s ease;
  white-space: nowrap;
}

.nx-mega-link span.nx-bullet {
  color: #9F0000;
  font-size: 0.7rem;
}

.nx-mega-link:hover {
  color: #FFFFFF;
  transform: translateX(3px);
}

.nx-mega-footer-bar {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
}

.nx-mega-footer-link {
  color: #9F0000;
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.06em;
  transition: color 0.2s ease;
}

.nx-mega-footer-link:hover {
  color: #FFFFFF;
}

/* Simple Dropdowns (Tools) */
.nx-dropdown-simple {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  background: rgba(8, 8, 12, 0.96);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 2px solid #9F0000;
  border-radius: 12px;
  padding: 0.75rem;
  min-width: 240px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  transform: translateY(10px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8);
  z-index: 1000;
}

.nx-nav-item.has-dropdown:hover .nx-dropdown-simple {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.nx-dropdown-simple-link {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.65rem 0.85rem;
  color: #A1A1AA;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.nx-dropdown-simple-link:hover {
  background: #161620;
  color: #FFFFFF;
}

/* ==========================================================================
   SUPER SPEED & MOBILE RESPONSIVE OPTIMIZATION SYSTEM
   ========================================================================== */

/* 1. Global Viewport & Performance */
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
  content-visibility: auto;
}

/* 2. Responsive Clamp Typography */
.nx-t1-hero-title {
  font-size: clamp(1.85rem, 5vw + 1rem, 3.4rem) !important;
  line-height: 1.15 !important;
  word-break: break-word;
  hyphens: auto;
}

.nx-t1-hero-subtitle {
  font-size: clamp(0.95rem, 2vw + 0.5rem, 1.15rem) !important;
  line-height: 1.65 !important;
  max-width: 760px;
  margin: 1.25rem auto 2rem auto;
}

h2 {
  font-size: clamp(1.6rem, 3.5vw + 0.5rem, 2.5rem) !important;
  line-height: 1.2 !important;
}

h3 {
  font-size: clamp(1.2rem, 2vw + 0.5rem, 1.6rem) !important;
}

/* 3. High-Performance Hardware-Accelerated Animations */
.nx-reveal, .nx-reveal-left, .nx-reveal-right {
  will-change: transform, opacity;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 4. Fluid Grids for Tablets & Phones */
@media (max-width: 991px) {
  .nx-header {
    height: 64px !important;
  }
  .nx-desktop-nav {
    display: none !important;
  }
  .nx-t1-hero-section {
    padding: 7.5rem 1rem 4.5rem 1rem !important;
    min-height: auto !important;
  }
  .nx-t1-hero-ctas {
    flex-direction: column !important;
    gap: 0.85rem !important;
    width: 100% !important;
  }
  .nx-t1-hero-ctas .nx-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
  .nx-t1-hero-badges {
    flex-direction: column !important;
    gap: 0.4rem !important;
  }
  .nx-t1-hero-badges .nx-divider {
    display: none !important;
  }
  .nx-t1-story-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .nx-t1-deliverables-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
  .nx-related-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
  .nx-t1-process-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
  .nx-trust-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
  }
}

@media (max-width: 600px) {
  .nx-container {
    padding-left: 1.15rem !important;
    padding-right: 1.15rem !important;
  }
  .nx-t1-hero-section {
    padding: 6.5rem 1rem 3.5rem 1rem !important;
  }
  .nx-t1-deliverables-grid {
    grid-template-columns: 1fr !important;
  }
  .nx-related-grid {
    grid-template-columns: 1fr !important;
  }
  .nx-t1-process-grid {
    grid-template-columns: 1fr !important;
  }
  .nx-trust-grid {
    grid-template-columns: 1fr !important;
  }
  .nx-t1-deliv-card, .nx-related-card, .nx-t1-process-card {
    padding: 1.5rem 1.25rem !important;
  }
  .nx-t1-story-section-light {
    padding: 3.5rem 0 !important;
  }
  .nx-section {
    padding: 4rem 0 !important;
  }
  
  /* Touch-Friendly Comparison Table on Mobile */
  .nx-t1-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 12px !important;
    padding: 0.75rem !important;
  }
  .nx-t1-table {
    min-width: 580px !important;
  }
  .nx-t1-table th, .nx-t1-table td {
    padding: 0.75rem 0.85rem !important;
    font-size: 0.82rem !important;
  }
}

/* ==========================================================================
   V7.0 HERO DYNAMIC ENGINE & ORBITING BADGES LUXURY SUITE
   ========================================================================== */

/* Seamless Submenu Hover Bridge Fix */
.nx-nav-item.has-dropdown {
  position: relative;
}

.nx-mega-menu::before,
.nx-dropdown-simple::before {
  content: '';
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  height: 24px;
  background: transparent;
  pointer-events: auto;
}

/* Dynamic Rotating Headline Phrase */
.nx-dynamic-phrase-wrap {
  display: inline-block;
  position: relative;
  vertical-align: bottom;
}

.nx-dynamic-phrase {
  display: inline-block;
  color: var(--nx-red, #9F0000);
  background: linear-gradient(135deg, #FF2E2E 0%, #9F0000 65%, #600000 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 35px rgba(159, 0, 0, 0.45);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* 212 Client Reviews Ticker Stream */
.nx-hero-review-stream {
  margin-top: 1.5rem;
  min-height: 68px;
}

.nx-review-pill {
  background: rgba(14, 14, 20, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid #9F0000;
  border-radius: 12px;
  padding: 0.85rem 1.25rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4), 0 0 20px rgba(159, 0, 0, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  max-width: 540px;
}

.nx-review-pill.fade-in {
  opacity: 1;
  transform: translateY(0);
}

.nx-review-pill.fade-out {
  opacity: 0;
  transform: translateY(-6px);
}

.nx-review-pill-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.35rem;
}

.nx-review-stars {
  color: #FFD700;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
}

.nx-review-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}

.nx-rev-service {
  font-family: var(--font-mono, monospace);
  font-size: 0.76rem;
  color: #A1A1AA;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.nx-rev-quote {
  font-size: 0.88rem;
  color: #E4E4E7;
  line-height: 1.45;
  font-style: italic;
}

/* Orbiting Badges Around Acquisition Engine Card */
.nx-hero-visual-col {
  position: relative;
}

.nx-orbit-wrap {
  position: absolute;
  inset: -15px;
  pointer-events: none;
  z-index: 5;
}

.nx-orbit-badge {
  position: absolute;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(14, 14, 20, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.7), 0 0 20px rgba(159, 0, 0, 0.2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.nx-orbit-google {
  top: -15px;
  left: -20px;
  animation: nxFloat1 4.5s ease-in-out infinite;
}

.nx-orbit-meta {
  top: 35%;
  right: -24px;
  animation: nxFloat2 5s ease-in-out infinite;
}

.nx-orbit-insta {
  bottom: 15%;
  left: -22px;
  animation: nxFloat3 5.5s ease-in-out infinite;
}

.nx-orbit-rating {
  bottom: -15px;
  right: -15px;
  width: auto;
  height: 38px;
  padding: 0 0.85rem;
  gap: 0.3rem;
  font-family: var(--font-mono, monospace);
  font-size: 0.88rem;
  animation: nxFloat1 4.8s ease-in-out infinite;
}

.nx-orbit-badge:hover {
  transform: scale(1.15) translateY(-4px) !important;
  border-color: rgba(159, 0, 0, 0.7);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.9), 0 0 30px rgba(159, 0, 0, 0.5);
}

@keyframes nxFloat1 {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(2deg); }
}

@keyframes nxFloat2 {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(-2deg); }
}

@keyframes nxFloat3 {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-7px) rotate(1.5deg); }
}

@media (max-width: 960px) {
  .nx-orbit-wrap {
    display: none;
  }
}


/* ==========================================================================
   SUPER MOBILE RESPONSIVE SUITE (DESKTOP 100% PROTECTED & UNTOUCHED)
   ========================================================================== */

/* Mobile Toggle Hamburger & Drawer */
.nx-mobile-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 32px;
  height: 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001;
}

.nx-mobile-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: #FFFFFF;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.nx-mobile-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  max-width: 310px;
  height: 100vh;
  background: rgba(10, 10, 14, 0.98);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
  z-index: 2500;
  transition: right 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 1.75rem 1.5rem;
  box-shadow: -20px 0 50px rgba(0, 0, 0, 0.95);
  overflow-y: auto;
}

.nx-mobile-drawer.open {
  right: 0;
}

.nx-mobile-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.nx-mobile-close-btn {
  background: transparent;
  border: none;
  color: #FFFFFF;
  font-size: 2.2rem;
  cursor: pointer;
  line-height: 1;
  padding: 0 0.3rem;
}

.nx-mobile-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

.nx-mobile-nav-list a {
  color: #E4E4E7;
  text-decoration: none;
  font-size: 1.02rem;
  font-weight: 600;
  display: block;
  transition: color 0.2s ease, transform 0.2s ease;
}

.nx-mobile-nav-list a:hover {
  color: #FF2E2E;
  transform: translateX(4px);
}

.nx-mobile-nav-list .nx-mobile-cta-link {
  color: #FF2E2E;
  font-weight: 700;
  margin-top: 1rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Tablet & Mobile Screens (<= 991px) */
@media (max-width: 991px) {
  .nx-mobile-toggle {
    display: flex !important;
  }
  .nx-header-actions .nx-money-cta-btn {
    display: none !important;
  }
  .nx-header {
    height: 68px !important;
  }
  .nx-desktop-nav {
    display: none !important;
  }
  .nx-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
  }
  .nx-hero-title {
    font-size: clamp(1.85rem, 5.5vw, 2.75rem) !important;
    line-height: 1.15 !important;
  }
  .nx-orbit-wrap {
    display: none !important;
  }
  .nx-growth-diagram {
    max-width: 100% !important;
    margin: 0 auto !important;
  }
  .nx-footer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2rem !important;
  }
}

/* Mobile Screens (<= 640px) */
@media (max-width: 640px) {
  .nx-container {
    padding-left: 1.15rem !important;
    padding-right: 1.15rem !important;
  }
  .nx-hero-section {
    padding: 6.5rem 0 3.5rem 0 !important;
    min-height: auto !important;
  }
  .nx-hero-title {
    font-size: clamp(1.65rem, 6.8vw, 2.25rem) !important;
  }
  .nx-dynamic-phrase-wrap {
    display: block !important;
    min-width: unset !important;
  }
  .nx-hero-cta-group {
    flex-direction: column !important;
    gap: 0.85rem !important;
    width: 100% !important;
  }
  .nx-hero-cta-group .nx-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
  .nx-review-pill {
    padding: 0.75rem 1rem !important;
    max-width: 100% !important;
  }
  .nx-diagram-steps {
    gap: 0.5rem !important;
  }
  .nx-diagram-step {
    padding: 0.65rem 0.85rem !important;
  }
  .nx-step-label {
    font-size: 0.85rem !important;
  }
  .nx-step-sub {
    font-size: 0.72rem !important;
  }
  .nx-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .nx-footer-cta-card {
    padding: 2rem 1.25rem !important;
    flex-direction: column !important;
    text-align: center !important;
  }
  .nx-footer-cta-btn-wrap {
    width: 100% !important;
  }
  .nx-footer-cta-btn-wrap .nx-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}


/* 4-Line Compact High-Converting Hero Title */
.nx-hero-title {
  font-family: var(--font-heading, 'Bricolage Grotesque', sans-serif);
  font-size: clamp(1.9rem, 3.2vw, 2.75rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  max-width: 580px !important;
}

.nx-dynamic-phrase-wrap {
  display: inline-block !important;
  min-width: 260px !important;
}

.nx-dynamic-phrase {
  display: inline-block !important;
  color: var(--nx-red, #9F0000) !important;
  background: linear-gradient(135deg, #FF2E2E 0%, #9F0000 65%, #600000 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: 0 0 30px rgba(159, 0, 0, 0.45) !important;
  transition: opacity 0.22s ease, transform 0.22s ease !important;
  white-space: nowrap !important;
}


/* Strict 4-Line Precision Typography */
.nx-hero-title {
  font-family: var(--font-heading, 'Bricolage Grotesque', sans-serif) !important;
  font-size: clamp(1.65rem, 2.7vw, 2.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  max-width: 680px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
}

.nx-title-line {
  display: block !important;
  white-space: nowrap !important;
}

.nx-dynamic-phrase-wrap {
  display: block !important;
  min-width: unset !important;
  white-space: nowrap !important;
}

.nx-dynamic-phrase {
  display: inline-block !important;
  color: var(--nx-red, #9F0000) !important;
  background: linear-gradient(135deg, #FF2E2E 0%, #9F0000 65%, #600000 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: 0 0 30px rgba(159, 0, 0, 0.45) !important;
  transition: opacity 0.22s ease, transform 0.22s ease !important;
  white-space: nowrap !important;
}

@media (max-width: 640px) {
  .nx-hero-title {
    font-size: clamp(1.4rem, 6.2vw, 1.85rem) !important;
    gap: 0.1rem !important;
  }
}


/* ==========================================================================
   NEXAMIZE EXECUTIVE CONSULTING WIDGET (SUPTI - CMO) - LUXURY CLEAN UI
   ========================================================================== */


/* ==========================================================================
   NEXAMIZE PRO EXECUTIVE AI STRATEGY CONSOLE (SUPTI CMO) - ULTRA LUXURY UI
   ========================================================================== */

/* ==========================================================================
   NEXAMIZE PRO EXECUTIVE CMO CONSULTING CONSOLE - ULTRA LUXURY UI
   ========================================================================== */

/* ==========================================================================
   NEXAMIZE PRO EXECUTIVE CMO CONSULTING CONSOLE - ULTRA LUXURY UI
   ========================================================================== */
.nx-cmo-widget-root {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 99999;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
}

.nx-cmo-launcher {
  display: flex;
  align-items: center;
  background: rgba(10, 10, 15, 0.94);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 7px 18px 7px 7px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.85), 0 0 25px rgba(159, 0, 0, 0.28);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  color: #FFFFFF;
}

.nx-cmo-launcher:hover {
  transform: translateY(-3px) scale(1.02);
  border-color: rgba(255, 46, 46, 0.55);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.95), 0 0 35px rgba(255, 26, 26, 0.45);
}

.nx-cmo-launcher-inner {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nx-cmo-avatar-wrap {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: visible;
  flex-shrink: 0;
}

.nx-cmo-avatar-wrap.large {
  width: 46px;
  height: 46px;
}

.nx-cmo-avatar-img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  display: block;
}

.nx-cmo-live-dot {
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 10px;
  height: 10px;
  background: #22C55E;
  border: 2px solid #0A0A0F;
  border-radius: 50%;
  box-shadow: 0 0 8px #22C55E;
  z-index: 2;
}

.nx-cmo-radar-ring {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid rgba(255, 46, 46, 0.4);
  animation: radarSweep 2.5s infinite linear;
  pointer-events: none;
}

@keyframes radarSweep {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.15); opacity: 0.2; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

.nx-cmo-launcher-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.nx-cmo-title {
  font-family: var(--font-display, 'Outfit', sans-serif);
  font-weight: 700;
  font-size: 0.9rem;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  gap: 6px;
}

.nx-cmo-role-tag {
  font-size: 0.62rem;
  font-weight: 800;
  background: linear-gradient(135deg, rgba(255, 26, 26, 0.3) 0%, rgba(159, 0, 0, 0.6) 100%);
  border: 1px solid rgba(255, 46, 46, 0.5);
  color: #FFFFFF;
  padding: 1px 6px;
  border-radius: 4px;
  letter-spacing: 0.05em;
}

.nx-cmo-sub {
  font-size: 0.72rem;
  color: #A1A1AA;
  font-weight: 500;
}

/* Expanded Console Panel */
.nx-cmo-panel {
  position: fixed;
  bottom: 92px;
  right: 24px;
  width: 440px;
  max-width: calc(100vw - 32px);
  height: 640px;
  max-height: calc(100vh - 116px);
  background: radial-gradient(circle at 85% 5%, rgba(159, 0, 0, 0.16) 0%, transparent 60%), #0A0A0F;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  box-shadow: 0 35px 80px rgba(0, 0, 0, 0.95), 0 0 40px rgba(255, 26, 26, 0.18);
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px) scale(0.97);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 100000;
}

.nx-cmo-panel.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.nx-cmo-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background: rgba(18, 18, 24, 0.96);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  flex-shrink: 0;
}

.nx-cmo-header-profile {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nx-cmo-header-info {
  display: flex;
  flex-direction: column;
}

.nx-cmo-header-topline {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nx-cmo-header-name {
  font-family: var(--font-display, 'Outfit', sans-serif);
  font-weight: 800;
  font-size: 1.05rem;
  color: #FFFFFF;
}

.nx-cmo-badge-cmo {
  font-size: 0.6rem;
  font-weight: 800;
  background: rgba(255, 26, 26, 0.18);
  border: 1px solid rgba(255, 46, 46, 0.4);
  color: #FF4D4D;
  padding: 1px 6px;
  border-radius: 4px;
  letter-spacing: 0.05em;
}

.nx-cmo-header-role {
  font-size: 0.74rem;
  color: #D4D4D8;
  font-weight: 500;
  margin-top: 1px;
}

.nx-cmo-header-status {
  font-size: 0.68rem;
  color: #22C55E;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
  font-weight: 600;
}

.nx-cmo-status-pulse {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #22C55E;
  border-radius: 50%;
  box-shadow: 0 0 8px #22C55E;
  animation: pulseDot 2s infinite ease-in-out;
}

@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.8); }
}

.nx-cmo-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nx-cmo-btn-icon {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #A1A1AA;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1rem;
  transition: all 0.2s ease;
}

.nx-cmo-btn-icon:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-1px);
}

/* Feed & Messages (Clean Single Scrollbar) */
.nx-cmo-feed {
  flex: 1;
  padding: 1.15rem;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 46, 46, 0.3) transparent;
}

.nx-cmo-feed::-webkit-scrollbar {
  width: 4px;
}
.nx-cmo-feed::-webkit-scrollbar-track {
  background: transparent;
}
.nx-cmo-feed::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}
.nx-cmo-feed::-webkit-scrollbar-thumb:hover {
  background: #FF2E2E;
}

.nx-cmo-msg {
  display: flex;
  flex-direction: column;
  max-width: 88%;
  word-break: break-word;
  overflow-wrap: break-word;
  animation: fadeInMsg 0.25s ease;
}

@keyframes fadeInMsg {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.nx-cmo-msg.cmo-msg-bot {
  align-self: flex-start;
}

.nx-cmo-msg.cmo-msg-user {
  align-self: flex-end;
}

.nx-cmo-msg.cmo-msg-bot .nx-cmo-msg-content {
  background: rgba(20, 20, 28, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 16px 16px 16px 3px;
  color: #E4E4E7;
  padding: 1rem 1.1rem;
  font-size: 0.88rem;
  line-height: 1.6;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  overflow-x: hidden;
}

.nx-cmo-msg.cmo-msg-user .nx-cmo-msg-content {
  background: linear-gradient(135deg, #B50000 0%, #850000 100%);
  border-radius: 16px 16px 3px 16px;
  color: #FFFFFF;
  padding: 0.85rem 1.1rem;
  font-size: 0.88rem;
  line-height: 1.5;
  box-shadow: 0 6px 20px rgba(159, 0, 0, 0.35);
  overflow-x: hidden;
}

.nx-cmo-memo-tag {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #FF4D4D;
  background: rgba(255, 26, 26, 0.12);
  border: 1px solid rgba(255, 46, 46, 0.3);
  padding: 2px 7px;
  border-radius: 4px;
  margin-bottom: 0.65rem;
}

.nx-cmo-msg-content p {
  margin: 0 0 0.65rem 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.nx-cmo-msg-content p:last-child {
  margin-bottom: 0;
}

.nx-cmo-msg-content ul, .nx-cmo-msg-content ol {
  margin: 0.5rem 0 0.75rem 1.25rem;
  padding: 0;
}

.nx-cmo-msg-content li {
  margin-bottom: 0.4rem;
  font-size: 0.86rem;
  color: #D4D4D8;
}

.nx-cmo-msg-content h1, .nx-cmo-msg-content h2, .nx-cmo-msg-content h3 {
  color: #FFFFFF;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0.75rem 0 0.45rem 0;
}

.nx-cmo-msg-content strong {
  color: #FFFFFF;
}

/* Live Forensic Audit Card */
.nx-cmo-audit-card {
  margin-top: 0.85rem;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(16, 24, 39, 0.95) 0%, rgba(159, 0, 0, 0.2) 100%);
  border: 1px solid rgba(255, 46, 46, 0.45);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.7);
}

.nx-audit-badge {
  font-size: 0.64rem;
  font-weight: 800;
  color: #00F0FF;
  letter-spacing: 0.06em;
}

.nx-audit-domain {
  font-family: var(--font-display, 'Outfit', sans-serif);
  font-size: 1rem;
  font-weight: 800;
  color: #FFFFFF;
}

.nx-audit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.nx-audit-item {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 0.5rem;
  font-size: 0.75rem;
  color: #D4D4D8;
}

.nx-audit-item strong {
  display: block;
  font-size: 0.82rem;
  margin-bottom: 2px;
}

/* VIP Shakib Consultation CTA Card */
.nx-cmo-cta-card {
  margin-top: 0.85rem;
  padding: 0.95rem;
  background: linear-gradient(135deg, rgba(22, 22, 32, 0.95) 0%, rgba(159, 0, 0, 0.22) 100%);
  border: 1px solid rgba(255, 46, 46, 0.4);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6);
}

.nx-cmo-cta-badge {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #FFD700;
}

.nx-cmo-cta-title {
  font-family: var(--font-display, 'Outfit', sans-serif);
  font-weight: 700;
  font-size: 0.88rem;
  color: #FFFFFF;
  line-height: 1.35;
}

.nx-cmo-cta-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  color: #A1A1AA;
  flex-wrap: wrap;
}

.nx-cmo-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0.72rem 1rem;
  background: linear-gradient(135deg, #D40000 0%, #9F0000 100%);
  color: #FFFFFF !important;
  font-weight: 700;
  font-size: 0.84rem;
  border-radius: 8px;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 15px rgba(159, 0, 0, 0.4);
  margin-top: 0.25rem;
}

.nx-cmo-cta-btn:hover {
  background: linear-gradient(135deg, #FF1A1A 0%, #B50000 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 26, 26, 0.55);
}

/* In-Chat Native Booking Modal */
.nx-cmo-booking-modal {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 15, 0.96);
  backdrop-filter: blur(16px);
  z-index: 100;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  animation: fadeInMsg 0.25s ease;
}

.nx-cmo-booking-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.nx-cmo-booking-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nx-cmo-booking-title {
  font-family: var(--font-display, 'Outfit', sans-serif);
  font-weight: 800;
  font-size: 0.95rem;
  color: #FFFFFF;
}

.nx-cmo-booking-close {
  background: none;
  border: none;
  color: #A1A1AA;
  font-size: 1.35rem;
  cursor: pointer;
}

.nx-cmo-book-fields {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.nx-cmo-book-fields input, .nx-cmo-book-fields select {
  background: #14141E;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 0.7rem 0.85rem;
  color: #FFFFFF;
  font-size: 0.85rem;
  outline: none;
}

.nx-cmo-book-fields input:focus, .nx-cmo-book-fields select:focus {
  border-color: #FF2E2E;
}

.nx-cmo-book-submit-btn {
  background: linear-gradient(135deg, #D40000 0%, #9F0000 100%);
  color: #FFFFFF;
  font-weight: 700;
  padding: 0.75rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  margin-top: 0.35rem;
  transition: all 0.2s ease;
}

.nx-cmo-book-submit-btn:hover {
  background: #FF1A1A;
}

/* Action Chips */
.nx-cmo-chips {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-top: 0.35rem;
}

.nx-cmo-chip {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;
  padding: 0.65rem 0.95rem;
  color: #E4E4E7;
  font-size: 0.82rem;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.nx-cmo-chip:hover {
  background: rgba(159, 0, 0, 0.2);
  border-color: rgba(255, 46, 46, 0.5);
  color: #FFFFFF;
  transform: translateX(4px);
}

/* Typing Indicator */
.nx-cmo-typing {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.65rem 1.25rem;
  font-size: 0.78rem;
  color: #A1A1AA;
  background: rgba(14, 14, 20, 0.9);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  flex-shrink: 0;
}

.nx-cmo-typing-dots {
  display: flex;
  gap: 4px;
}

.nx-cmo-typing-dot {
  width: 5px;
  height: 5px;
  background: #FF2E2E;
  border-radius: 50%;
  animation: typingBounce 1.4s infinite ease-in-out both;
}

.nx-cmo-typing-dot:nth-child(1) { animation-delay: -0.32s; }
.nx-cmo-typing-dot:nth-child(2) { animation-delay: -0.16s; }

@keyframes typingBounce {
  0%, 80%, 100% { transform: scale(0); opacity: 0.3; }
  40% { transform: scale(1); opacity: 1; }
}

/* Input Bar */
.nx-cmo-input-wrap {
  display: flex;
  align-items: center;
  padding: 0.85rem 1rem;
  background: rgba(18, 18, 24, 0.98);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  gap: 10px;
  flex-shrink: 0;
}

.nx-cmo-input {
  flex: 1;
  background: #0D0D12;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 0.75rem 0.95rem;
  color: #FFFFFF;
  font-size: 0.88rem;
  font-family: inherit;
  outline: none;
  transition: all 0.2s ease;
}

.nx-cmo-input:focus {
  border-color: #FF2E2E;
  box-shadow: 0 0 12px rgba(255, 46, 46, 0.25);
}

.nx-cmo-input::placeholder {
  color: #71717A;
}

.nx-cmo-send-btn {
  background: linear-gradient(135deg, #B50000 0%, #850000 100%);
  border: none;
  color: #FFFFFF;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 1rem;
}

.nx-cmo-send-btn:hover {
  background: #C00000;
  transform: scale(1.05);
}

.nx-cmo-footer-guarantee {
  padding: 0.45rem;
  text-align: center;
  font-size: 0.68rem;
  color: #71717A;
  background: #07070A;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .nx-cmo-widget-root {
    bottom: 16px;
    right: 16px;
  }
  .nx-cmo-panel {
    bottom: 0;
    right: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0;
    border: none;
  }
  .nx-cmo-launcher-text {
    display: none;
  }
  .nx-cmo-launcher {
    padding: 6px;
    border-radius: 50%;
  }
}

/* Hero Visibility & Responsive Polish */
.nx-hero-section, .nx-hero-content, .nx-hero-visual-col {
  opacity: 1 !important;
  visibility: visible !important;
}
