/*
Theme Name: Nisar Automates
Theme URI: https://nisarautomates.com
Author: Nisar Automates
Author URI: https://nisarautomates.com
Description: Simple, clear, focused. Pure white background, dark text, neon green CTA. Matches header screenshot.
Version: 4.10.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nisar-automates
Tags: one-column, custom-colors, custom-menu, featured-images, full-width-template, sticky-post, theme-options, translation-ready, block-styles, wide-blocks
*/

/* ========== Design system – Pure white, simple, clear (screenshot) ========== */
:root {
  /* Backgrounds – pure white main, very light gray alternate */
  --color-bg-main: #FFFFFF;
  --color-bg-secondary: #FAFAFA;
  --color-bg-card: #FFFFFF;
  --color-bg-soft: #F8F8F8;
  --color-bg-white: #FFFFFF;
  /* Accent – neon green for CTA only (screenshot) */
  --color-accent: #39FF14;
  --color-accent-cyan: #39FF14;
  --color-accent-green: #39FF14;
  --color-accent-light: #5FFF33;
  --color-accent-border: rgba(57, 255, 20, 0.4);
  --color-accent-soft: rgba(57, 255, 20, 0.08);
  --color-primary: #1a1a1a;
  --color-primary-hover: #000000;
  /* Text – dark gray / black, high contrast on white */
  --color-headline: #1a1a1a;
  --color-body: #333333;
  --color-text: #333333;
  --color-text-muted: #666666;
  --color-text-on-accent: #1a1a1a;
  /* Cards & borders – minimal */
  --color-card-bg: #FFFFFF;
  --color-card-border: #E8E8E8;
  --color-section-dark: #F0F0F0;
  /* Typography */
  --font-display: 'Space Grotesk', 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --font-size-hero: clamp(2.5rem, 5vw, 4.5rem);
  --font-size-h1: clamp(2rem, 4vw, 3.5rem);
  --font-size-h2: clamp(1.5rem, 3vw, 2.5rem);
  --font-size-h3: clamp(1.25rem, 2vw, 2rem);
  --font-size-h4: 1.5rem;
  --font-size-body: 1rem;
  --font-size-body-lg: 1.25rem;
  --font-size-caption: 0.75rem;
  --line-height-heading: 1.2;
  --line-height-body: 1.6;
  /* Spacing – generous white space */
  --section-padding: clamp(4rem, 10vw, 7rem);
  --section-padding-sm: clamp(3rem, 6vw, 5rem);
  --container-max: 1200px;
  --container-padding: clamp(1.25rem, 4vw, 2rem);
  --gap: 1.5rem;
  --gap-lg: 2rem;
  --radius: 12px;
  --radius-pill: 9999px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow-card-hover: 0 4px 12px rgba(0, 0, 0, 0.06);
  --header-height: 80px;
  --header-height-scrolled: 48px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-tap-highlight-color: transparent; }
body { margin: 0; font-family: var(--font-body); font-size: var(--font-size-body); line-height: var(--line-height-body); color: var(--color-text); background: var(--color-bg-main); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-body); text-decoration: none; transition: color 0.2s ease; }
a:hover { color: var(--color-accent); }

.nisar-skip-link { position: absolute; top: -100px; left: 1rem; z-index: 10001; padding: 0.75rem 1.25rem; background: var(--color-accent); color: var(--color-text-on-accent); font-weight: 600; border-radius: var(--radius-pill); transition: top 0.2s ease; }
.nisar-skip-link:focus { top: 1rem; outline: 2px solid var(--color-accent); outline-offset: 2px; }

.nisar-container { width: 100%; max-width: var(--container-max); margin: 0 auto; padding-left: var(--container-padding); padding-right: var(--container-padding); }

/* Performance: defer off-screen section painting */
.nisar-services,
.nisar-problem-solution,
.nisar-projects,
.nisar-how-it-works,
.nisar-game-changer,
.nisar-process,
.nisar-insights,
.nisar-booking-section {
	content-visibility: auto;
	contain-intrinsic-size: auto 400px;
}

/* ========== Scroll progress bar ========== */
.nisar-scroll-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: rgba(0, 0, 0, 0.04);
	z-index: 1001;
	pointer-events: none;
}
.nisar-scroll-progress-inner {
	height: 100%;
	width: 0%;
	background: var(--color-accent);
	transition: width 0.1s ease-out;
}

/* ========== Header – sticky; default = original; scrolled = pill, white + black outline, tight spacing ========== */
.nisar-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	height: var(--header-height);
	background: #FFFFFF;
	border-bottom: 1px solid var(--color-card-border);
	transition: height 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, margin 0.2s ease, border-radius 0.2s ease, max-width 0.2s ease, top 0.2s ease;
}
body.theme-dark .nisar-header { background: var(--color-bg-main); border-bottom-color: var(--color-card-border); }
.nisar-header.is-scrolled {
	top: 1.5rem;
	height: var(--header-height-scrolled);
	margin: 1.5rem 1rem 0;
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 999px;
	border: 1px solid #1a1a1a;
	background: #FFFFFF;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
body.theme-dark .nisar-header.is-scrolled {
	background: #1a1a1a;
	border-color: #2d2d2d;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}
.nisar-header .nisar-container { height: 100%; }
.nisar-header.is-scrolled .nisar-container { padding-left: 0.35rem; padding-right: 0.25rem; }
.nisar-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--header-height);
	height: var(--header-height);
	gap: 2rem;
	padding: 0 0.5rem;
}
.nisar-header.is-scrolled .nisar-nav {
	min-height: var(--header-height-scrolled);
	height: var(--header-height-scrolled);
	padding: 0 0.35rem;
	gap: 0;
}
.nisar-header.is-scrolled .nisar-logo { display: none; }
.nisar-logo {
	order: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--color-headline);
	text-decoration: none;
	transition: color 0.15s ease;
	max-width: 220px;
}
.nisar-logo:hover { color: var(--color-accent); }
.nisar-logo-img { height: 36px; width: auto; display: block; flex-shrink: 0; }
.nisar-logo-text { white-space: nowrap; }
.nisar-menu { display: flex; align-items: center; gap: 0.75rem; list-style: none; margin: 0; padding: 0; flex: 1 1 auto; justify-content: center; }
.nisar-header.is-scrolled .nisar-menu { flex: 0 0 auto; justify-content: flex-start; gap: 0.5rem; margin-right: 0.5rem; }
.nisar-nav-cta-wrap { flex-shrink: 0; order: 2; }
.nisar-menu { order: 1; flex: 1 1 auto; }
.nisar-menu a {
	color: var(--color-body);
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 1rem;
	transition: color 0.2s ease, background 0.2s ease;
	padding: 0.5rem 1rem;
	border-radius: var(--radius-pill);
}
.nisar-header.is-scrolled .nisar-menu a {
	color: #333333;
	background: transparent;
	padding: 0.35rem 0.75rem;
	font-size: 0.9375rem;
}
.nisar-header.is-scrolled .nisar-menu a:hover { color: var(--color-accent); background: rgba(0, 0, 0, 0.05); }
body.theme-dark .nisar-header.is-scrolled .nisar-menu a { color: #e8e8e8; }
body.theme-dark .nisar-header.is-scrolled .nisar-menu a:hover { background: rgba(255, 255, 255, 0.08); }
.nisar-menu a:hover { color: var(--color-headline); }
.nisar-nav-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 1.5rem;
	background: var(--color-accent);
	color: var(--color-text-on-accent) !important;
	font-weight: 600;
	font-size: 0.9375rem;
	border-radius: var(--radius-pill);
	border: none;
	box-shadow: 0 0 8px rgba(57, 255, 20, 0.4);
	transition: background 0.2s ease, opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.nisar-header.is-scrolled .nisar-nav-cta {
	height: 36px;
	padding: 0 1.125rem;
	font-size: 0.875rem;
	box-shadow: 0 0 10px rgba(57, 255, 20, 0.5);
}
.nisar-nav-cta:hover {
	background: var(--color-accent-light);
	color: var(--color-text-on-accent) !important;
	opacity: 1;
	transform: scale(1.05);
	box-shadow: 0 0 12px rgba(57, 255, 20, 0.65), 0 0 20px rgba(57, 255, 20, 0.35);
}
.nisar-nav-cta:active { opacity: 1; transform: scale(0.98); }
.nisar-menu-toggle {
	display: none;
	order: 3;
	background: none;
	border: none;
	padding: 0.5rem;
	cursor: pointer;
	color: var(--color-text);
	transition: color 0.2s ease;
}
.nisar-menu-toggle:hover { color: var(--color-accent); }
.nisar-menu-toggle .nisar-menu-icon { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; }
.nisar-menu-toggle .nisar-menu-icon svg { width: 28px; height: 28px; }
.nisar-menu-toggle .nisar-menu-icon-open { display: none; }
.nisar-menu-toggle .nisar-menu-icon-closed { display: inline-flex; }
.nisar-menu-toggle[aria-expanded="true"] .nisar-menu-icon-open { display: inline-flex; }
.nisar-menu-toggle[aria-expanded="true"] .nisar-menu-icon-closed { display: none; }
.nisar-theme-toggle-header { display: none; }
.nisar-mobile-menu-overlay { display: none; }

/* ========== Hero – main headline + CTA ========== */
.nisar-hero {
	position: relative;
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-bg-main);
	padding: clamp(3.5rem, 10vw, 6rem) 0 clamp(3rem, 8vw, 5rem);
	text-align: center;
	overflow: hidden;
}
.nisar-hero::before { display: none; }
.nisar-hero-inner { position: relative; z-index: 1; width: 100%; text-align: center; }
.nisar-hero-content { display: flex; flex-direction: column; align-items: center; }
.nisar-hero-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	margin: 0 auto 1.5rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: var(--color-text-muted);
	text-transform: uppercase;
	background: transparent;
	border: 1px solid var(--color-card-border);
	border-radius: var(--radius-pill);
}
.nisar-hero-eyebrow {
	margin: 0 0 0.35rem;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--color-text-muted);
	text-transform: uppercase;
}
.nisar-hero-tagline {
	margin: 0 auto 0.2rem;
	font-family: var(--font-display);
	font-size: var(--font-size-hero);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--color-headline);
	text-align: center;
}
.nisar-hero-tagline .nisar-hero-accent {
	color: var(--color-accent);
	display: block;
	margin-top: 0.05em;
	min-height: 1.3em;
}
body:not(.theme-dark) .nisar-hero-tagline .nisar-hero-accent { -webkit-text-stroke: 1px rgba(0, 0, 0, 0.2); text-shadow: 0 0 1px rgba(0, 0, 0, 0.15); }
.nisar-hero-typing-wrap { display: inline-block; text-align: left; }
.nisar-hero-typing-cursor {
	display: inline-block;
	animation: nisar-blink 1s step-end infinite;
	color: var(--color-accent);
	margin-left: 2px;
}
@keyframes nisar-blink { 50% { opacity: 0; } }
.nisar-hero-subheading {
	font-size: var(--font-size-body-lg);
	color: var(--color-text-muted);
	max-width: 36rem;
	margin: 0 auto 2.25rem;
	line-height: 1.6;
	text-align: center;
}
.nisar-hero-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 3.5rem;
}
.nisar-btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 1rem 1.75rem;
	height: 52px;
	background: var(--color-accent);
	color: #1a1a1a !important;
	font-weight: 600;
	font-size: 1rem;
	border-radius: var(--radius-pill);
	border: none;
	cursor: pointer;
	box-shadow: none;
	transition: background 0.25s ease, opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.nisar-btn-primary:hover {
	background: var(--color-accent-light);
	color: #1a1a1a !important;
	opacity: 0.98;
	transform: scale(1.03);
	box-shadow: 0 4px 20px rgba(57, 255, 20, 0.35);
}
.nisar-btn-primary:active { opacity: 1; transform: scale(0.98); }
.nisar-btn-secondary {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 1.75rem;
	height: 52px;
	background: rgba(26, 26, 26, 0.85);
	color: #ffffff !important;
	font-weight: 600;
	font-size: 1rem;
	border-radius: var(--radius-pill);
	border: 1px solid rgba(255, 255, 255, 0.2);
	cursor: pointer;
	transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
body:not(.theme-dark) .nisar-btn-secondary {
	background: #333333;
	border-color: #333333;
}
body.theme-dark .nisar-btn-secondary { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.2); }
.nisar-btn-secondary:hover {
	background: rgba(26, 26, 26, 0.95);
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.35);
	transform: scale(1.03);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
body:not(.theme-dark) .nisar-btn-secondary:hover {
	background: #1a1a1a;
	border-color: #1a1a1a;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
body.theme-dark .nisar-btn-secondary:hover { background: rgba(255, 255, 255, 0.12); }
.nisar-btn-secondary:active { transform: scale(0.98); }
/* Trust bar: logo carousel – equal size and visibility (OpenAI reference) */
.nisar-hero-trust-bar {
	margin-top: 0;
	padding-top: 2.5rem;
	border-top: 1px solid var(--color-card-border);
}
.nisar-hero-trust-bar .nisar-trust-label {
	margin: 0 0 1.25rem;
	font-size: var(--font-size-caption);
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--color-text-muted);
	text-transform: uppercase;
	text-align: center;
}
.nisar-trust-marquee-wrap {
	overflow: hidden;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	user-select: none;
	/* Soft edge fade only – keeps all logos fully visible, no harsh crop */
	mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}
.nisar-trust-marquee {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 3rem;
	width: max-content;
	padding: 1rem 0;
	/* Smooth infinite loop animation */
	animation: nisar-marquee-scroll 40s linear infinite;
	/* GPU acceleration for smooth scrolling */
	will-change: transform;
	transform: translateZ(0);
	-webkit-transform: translateZ(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.nisar-trust-marquee:hover {
	animation-play-state: paused;
}
@keyframes nisar-marquee-scroll {
	0% {
		transform: translate3d(0, 0, 0);
	}
	100% {
		transform: translate3d(-50%, 0, 0);
	}
}
/* Fixed-size wrapper: every logo gets the same box for perfect alignment */
.nisar-trust-logo-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 130px;
	height: 36px;
}
/* Logo image fills wrapper – all logos same visual weight */
.nisar-trust-logo-wrap .nisar-trust-logo {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: center;
	opacity: 0.9;
	transition: transform 0.3s ease, filter 0.3s ease, opacity 0.3s ease;
	/* Light mode: grayscale black logos */
	filter: grayscale(100%);
}
.nisar-trust-logo-wrap:hover .nisar-trust-logo {
	transform: scale(1.1);
	opacity: 1;
}
/* Logos with dark bg (VAPI, ElevenLabs) - light mode: invert + blend white bg away */
.nisar-trust-logo-wrap.nisar-trust-logo-invert .nisar-trust-logo {
	filter: grayscale(100%) invert(1) brightness(0.9);
	mix-blend-mode: multiply;
}

/* Section titles */
.nisar-section-title { font-family: var(--font-display); font-size: var(--font-size-h2); font-weight: 700; color: var(--color-headline); margin: 0 0 0.5rem; line-height: var(--line-height-heading); }
.nisar-section-title.nisar-title-accent { color: var(--color-accent); text-align: center; }
/* Light mode: section headings (e.g. Book Your Free Strategy Call) in black */
body:not(.theme-dark) .nisar-section-title.nisar-title-accent {
	color: #1a1a1a;
	-webkit-text-stroke: 0;
	text-shadow: none;
}
body:not(.theme-dark) .nisar-problem-solution .nisar-section-title {
	color: #1a1a1a;
	-webkit-text-stroke: 0;
	text-shadow: none;
}
.nisar-section-subtitle {
	font-size: var(--font-size-body-lg);
	color: var(--color-text-muted);
	margin-bottom: 2.5rem;
	max-width: 560px;
	line-height: var(--line-height-body);
}
.nisar-section-subtitle.nisar-subtitle-center { text-align: center; margin-left: auto; margin-right: auto; }

/* ========== Stats / Social proof ========== */
.nisar-stats {
	padding: clamp(3rem, 6vw, 4rem) 0;
	background: var(--color-bg-soft);
	border-top: 1px solid var(--color-card-border);
}
.nisar-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--gap-lg);
	align-items: start;
	text-align: center;
}
.nisar-stat-item { padding: 0 0.5rem; }
.nisar-stat-value {
	font-family: var(--font-mono);
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 700;
	color: var(--color-accent);
	line-height: 1.2;
	margin-bottom: 0.25rem;
}
.nisar-stat-label { font-size: 0.9375rem; color: var(--color-text-muted); font-weight: 500; }

/* ========== Services section (AI Solutions Built for Your Business) ========== */
.nisar-services { padding: var(--section-padding) 0; background: var(--color-bg-main); }
.nisar-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gap-lg);
	margin-top: 2rem;
	align-items: stretch;
}
.nisar-service-card {
	display: flex;
	flex-direction: column;
	background: var(--color-bg-card);
	border: 1px solid var(--color-card-border);
	border-radius: var(--radius-lg);
	padding: 2.25rem 2rem;
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
}
body:not(.theme-dark) .nisar-service-card {
	background: #FFFFFF;
	border: 1px solid #E8E8E8;
	border-radius: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.nisar-service-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-card-hover);
	border-color: var(--color-accent-border);
}
body:not(.theme-dark) .nisar-service-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	border-color: #E8E8E8;
}
.nisar-service-icon {
	width: 52px;
	height: 52px;
	margin-bottom: 1.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-accent-soft);
	border-radius: var(--radius);
	color: var(--color-accent);
	flex-shrink: 0;
}
body:not(.theme-dark) .nisar-service-icon {
	width: 48px;
	height: 48px;
	color: #1a1a1a;
	background: var(--color-accent);
	border: none;
	box-shadow: 0 0 0 1px rgba(57, 255, 20, 0.4), 0 2px 12px rgba(57, 255, 20, 0.35);
}
body:not(.theme-dark) .nisar-service-icon svg { stroke: currentColor; }
.nisar-service-card h3 { font-size: var(--font-size-h3); font-weight: 700; color: var(--color-headline); margin: 0 0 0.75rem; line-height: 1.3; }
body:not(.theme-dark) .nisar-service-card h3 { font-size: 1.5rem; color: #1a1a1a; font-weight: 700; }
.nisar-service-card .nisar-service-desc { font-size: 0.9375rem; color: var(--color-body); margin-bottom: 1.25rem; line-height: 1.6; flex: 1; }
body:not(.theme-dark) .nisar-service-card .nisar-service-desc { font-size: 1rem; color: #555555; }
.nisar-service-card ul { list-style: none; margin: 0 0 1.25rem; padding: 0; }
.nisar-service-card ul li { padding: 0.35rem 0; font-size: 0.9375rem; color: var(--color-text-muted); display: flex; align-items: center; gap: 0.5rem; }
body:not(.theme-dark) .nisar-service-card ul li { font-size: 1rem; color: #555555; }
.nisar-service-card ul li::before { content: '•'; color: var(--color-accent); }
.nisar-service-card .nisar-btn-secondary { margin-top: auto; }

/* ========== CTA block (inside Path section) ========== */
.nisar-process-cta-inner {
	position: relative;
	z-index: 1;
	max-width: 800px;
	margin: 3.5rem auto 0;
	padding-top: clamp(3rem, 6vw, 4.5rem);
	text-align: center;
	border-top: 1px solid var(--color-card-border);
}
.nisar-process-cta-inner .nisar-section-title { margin-bottom: 0.75rem; }
body:not(.theme-dark) .nisar-process-cta-inner .nisar-section-title.nisar-title-accent {
	color: #1a1a1a;
	-webkit-text-stroke: 0;
	text-shadow: none;
}
.nisar-process-cta-inner .nisar-section-subtitle { margin-bottom: 2rem; }
.nisar-cta-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-bottom: 1rem; }
.nisar-cta-trust { font-size: 0.875rem; color: var(--color-text-muted); margin: 0; }

/* ========== Scroll reveal animation ========== */
.nisar-animate-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}
.nisar-animate-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.nisar-animate-reveal-delay-1 { transition-delay: 0.08s; }
.nisar-animate-reveal-delay-2 { transition-delay: 0.16s; }
.nisar-animate-reveal-delay-3 { transition-delay: 0.24s; }

/* Problem/Solution (Shift) */
.nisar-problem-solution {
	padding: var(--section-padding) 0;
	background: var(--color-bg-white);
}
.nisar-problem-solution .nisar-section-title { text-align: center; color: var(--color-accent); }
.nisar-compare-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--gap-lg);
	max-width: 920px;
	margin: 3rem auto 3.5rem;
}
.nisar-compare-col {
	padding: 2.5rem;
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-card-border);
	box-shadow: var(--shadow-card);
	background: var(--color-card-bg);
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
}
body:not(.theme-dark) .nisar-compare-col {
	background: #FFFFFF;
	border: 1px solid #E8E8E8;
	border-radius: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.nisar-compare-col:hover {
	box-shadow: var(--shadow-card-hover);
}
body:not(.theme-dark) .nisar-compare-col:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	border-color: #E8E8E8;
}
.nisar-compare-col.nisar-without { background: var(--color-bg-soft); }
body:not(.theme-dark) .nisar-compare-col.nisar-without { background: #F8F8F8; }
.nisar-compare-col.nisar-with { background: var(--color-accent-soft); border-color: var(--color-accent-border); }
body:not(.theme-dark) .nisar-compare-col.nisar-with { background: rgba(57, 255, 20, 0.08); border-color: #E8E8E8; }
.nisar-compare-col.nisar-with:hover { border-color: var(--color-accent); }
.nisar-compare-col h3 { font-size: 1.125rem; font-weight: 700; margin: 0 0 1rem; color: var(--color-headline); }
body:not(.theme-dark) .nisar-compare-col h3 { font-size: 1.5rem; color: #1a1a1a; font-weight: 700; }
.nisar-compare-col ul { list-style: none; margin: 0; padding: 0; }
.nisar-compare-col li { padding: 0.5rem 0; font-size: 0.9375rem; color: var(--color-body); display: flex; align-items: flex-start; gap: 0.5rem; }
body:not(.theme-dark) .nisar-compare-col li { font-size: 1rem; color: #555555; }
.nisar-compare-col.nisar-with li::before { content: '✓'; color: var(--color-accent); font-weight: 700; flex-shrink: 0; }

/* Projects */
.nisar-projects { padding: var(--section-padding) 0; background: var(--color-bg-soft); }
.nisar-projects-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap-lg); }
.nisar-projects-grid-four { grid-template-columns: repeat(4, 1fr); }
.nisar-project-card {
	display: flex;
	flex-direction: column;
	background: var(--color-card-bg);
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--color-card-border);
	box-shadow: var(--shadow-card);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.2s ease;
	contain: layout style;
}
body:not(.theme-dark) .nisar-project-card {
	background: #FFFFFF;
	border: 1px solid #E8E8E8;
	border-radius: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.nisar-project-card:hover {
	box-shadow: var(--shadow-card-hover);
	border-color: var(--color-card-border);
}
body:not(.theme-dark) .nisar-project-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	border-color: #E8E8E8;
}
.nisar-project-card-image {
	aspect-ratio: 16/10;
	background: #2a2622; /* dark brown / charcoal (outer space of image) */
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-accent);
	font-size: 0.9375rem;
	font-weight: 600;
	text-align: center;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--color-card-border);
	overflow: hidden;
	position: relative;
}
.nisar-project-card-image:has(img),
.nisar-project-card-image:has(video) {
	padding: 0;
}
.nisar-project-card-image img,
.nisar-project-card-image video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}
.nisar-project-card-image video.nisar-project-video {
	transform: translateZ(0);
	backface-visibility: hidden;
	will-change: transform;
}
body:not(.theme-dark) .nisar-project-card-image {
	background: #2a2622; /* dark brown / charcoal to match card reference */
	color: #e8e6e3;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	box-shadow: none;
}
body.theme-dark .nisar-project-card-image { color: var(--color-accent); }
.nisar-project-card-body { padding: 1.75rem; flex: 1; display: flex; flex-direction: column; min-width: 0; }
.nisar-project-card h3 { font-size: 1.25rem; font-weight: 700; color: var(--color-headline); margin: 0 0 0.5rem; }
body:not(.theme-dark) .nisar-project-card h3 { font-size: 1.5rem; color: #1a1a1a; }
.nisar-project-card-body p { margin: 0; font-size: 0.875rem; color: var(--color-text-muted); line-height: 1.5; min-height: 3.2em; }
body:not(.theme-dark) .nisar-project-card-body p { font-size: 1rem; color: #555555; }

/* Process / How it works */
.nisar-how-it-works { padding: var(--section-padding) 0; background: var(--color-bg-white); }
.nisar-process { padding: var(--section-padding) 0; background: var(--color-bg-soft); }
.nisar-process-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap-lg); }
.nisar-process-card {
	background: var(--color-card-bg);
	padding: 2.25rem;
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-card-border);
	box-shadow: var(--shadow-card);
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
}
body:not(.theme-dark) .nisar-process-card {
	background: #FFFFFF;
	border: 1px solid #E8E8E8;
	border-radius: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.nisar-process-card:hover {
	box-shadow: var(--shadow-card-hover);
	border-color: var(--color-card-border);
}
body:not(.theme-dark) .nisar-process-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	border-color: #E8E8E8;
}
.nisar-process-card .nisar-process-icon { width: 56px; height: 56px; margin-bottom: 1.25rem; display: flex; align-items: center; justify-content: center; background: var(--color-accent-soft); border-radius: var(--radius); color: var(--color-accent); }
body:not(.theme-dark) .nisar-process-card .nisar-process-icon {
	background: var(--color-accent);
	color: #1a1a1a;
	box-shadow: 0 0 0 1px rgba(57, 255, 20, 0.4), 0 2px 12px rgba(57, 255, 20, 0.35);
}
body:not(.theme-dark) .nisar-process-card .nisar-process-icon svg { stroke: currentColor; }
.nisar-process-card h3 { font-size: 1.25rem; font-weight: 700; color: var(--color-headline); margin: 0 0 0.75rem; }
.nisar-process-card p { margin: 0; font-size: 0.9375rem; color: var(--color-body); line-height: 1.5; }

/* ========== Game-Changer section (Why n8n...) – professional boxes + icon ========== */
.nisar-game-changer { padding: var(--section-padding) 0; background: var(--color-bg-white); }
.nisar-game-changer-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap-lg); }
.nisar-game-changer-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	background: var(--color-bg-card);
	padding: 2rem 1.75rem;
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-card-border);
	box-shadow: var(--shadow-card);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
body:not(.theme-dark) .nisar-game-changer-card {
	background: #FFFFFF;
	border: 1px solid #E8E8E8;
	border-radius: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.nisar-game-changer-card:hover {
	box-shadow: var(--shadow-card-hover);
	border-color: var(--color-accent-border);
	transform: translateY(-5px) scale(1.01);
}
body:not(.theme-dark) .nisar-game-changer-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	border-color: #E8E8E8;
}
.nisar-game-changer-icon {
	width: 56px;
	height: 56px;
	margin-bottom: 1.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(57, 255, 20, 0.12);
	border-radius: var(--radius);
	color: var(--color-accent);
	flex-shrink: 0;
}
body:not(.theme-dark) .nisar-game-changer-icon {
	width: 48px;
	height: 48px;
	color: #1a1a1a;
	background: var(--color-accent);
	border: none;
	box-shadow: 0 0 0 1px rgba(57, 255, 20, 0.4), 0 2px 12px rgba(57, 255, 20, 0.35);
	filter: none;
}
.nisar-game-changer-card-body { flex: 1; min-width: 0; }
.nisar-game-changer-card h3 {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-headline);
	margin: 0 0 0.75rem;
	line-height: 1.3;
}
body:not(.theme-dark) .nisar-game-changer-card h3 { font-size: 1.5rem; color: #1a1a1a; font-weight: 700; }
.nisar-game-changer-card p {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--color-body);
	line-height: 1.55;
}
body:not(.theme-dark) .nisar-game-changer-card p { font-size: 1rem; color: #555555; }
.nisar-process-steps-wrap { position: relative; margin-bottom: 3.5rem; }
.nisar-process-timeline {
	position: absolute;
	left: 0;
	right: 0;
	top: 32px;
	height: 6px;
	background: var(--color-card-border);
	border-radius: 3px;
	overflow: hidden;
	z-index: 0;
}
.nisar-process-timeline-fill {
	display: block;
	height: 100%;
	width: 0;
	background: var(--color-accent);
	border-radius: 3px;
	transition: width 1.8s ease-out;
}
.nisar-process-steps-wrap[data-active-step="0"] .nisar-process-timeline-fill { width: 0; }
.nisar-process-steps-wrap[data-active-step="1"] .nisar-process-timeline-fill { width: 20%; }
.nisar-process-steps-wrap[data-active-step="2"] .nisar-process-timeline-fill { width: 40%; }
.nisar-process-steps-wrap[data-active-step="3"] .nisar-process-timeline-fill { width: 60%; }
.nisar-process-steps-wrap[data-active-step="4"] .nisar-process-timeline-fill { width: 80%; }
.nisar-process-steps-wrap[data-active-step="5"] .nisar-process-timeline-fill { width: 100%; }
.nisar-process-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.5rem; position: relative; z-index: 1; }
.nisar-process-step { text-align: center; position: relative; }
.nisar-process-step-scroll .nisar-process-number,
.nisar-process-step-scroll h3,
.nisar-process-step-scroll p { opacity: 0.65; transition: opacity 0.4s ease, transform 0.4s ease; }
.nisar-process-step-scroll.nisar-process-step-active .nisar-process-number,
.nisar-process-step-scroll.nisar-process-step-active h3,
.nisar-process-step-scroll.nisar-process-step-active p { opacity: 1; }
.nisar-process-step-scroll h3,
.nisar-process-step-scroll p { transform: translateY(8px); }
.nisar-process-step-scroll.nisar-process-step-active h3,
.nisar-process-step-scroll.nisar-process-step-active p { transform: translateY(0); }
.nisar-process-number {
	position: relative;
	z-index: 2;
	width: 64px;
	height: 64px;
	margin: 0 auto 1.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-accent);
	color: var(--color-text-on-accent);
	font-weight: 700;
	font-size: 1.5rem;
	border-radius: 50%;
	box-shadow: 0 2px 16px rgba(57, 255, 20, 0.35);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	/* Ensure circle fully covers the timeline/connector line behind it */
	 isolation: isolate;
}
/* Light mode: solid green with black number + subtle green glow (screenshot style) */
body:not(.theme-dark) .nisar-process-number {
	color: #1a1a1a;
	box-shadow: 0 0 0 1px rgba(57, 255, 20, 0.4), 0 2px 16px rgba(57, 255, 20, 0.4), 0 0 24px rgba(57, 255, 20, 0.2);
}
.nisar-process-step:hover .nisar-process-number {
	transform: scale(1.08);
	box-shadow: 0 4px 24px rgba(57, 255, 20, 0.5);
}
body:not(.theme-dark) .nisar-process-step:hover .nisar-process-number {
	box-shadow: 0 0 0 1px rgba(57, 255, 20, 0.5), 0 4px 24px rgba(57, 255, 20, 0.45), 0 0 28px rgba(57, 255, 20, 0.25);
}
.nisar-process-step-body { display: block; }
.nisar-process-step h3 { font-size: 1.25rem; font-weight: 700; color: var(--color-headline); margin: 0 0 0.5rem; }
.nisar-process-step p { margin: 0; font-size: 0.875rem; color: var(--color-text-muted); }
.nisar-process-cta { text-align: center; }

/* Blog list */
.nisar-insights { padding: var(--section-padding) 0; background: var(--color-bg-soft); }
.nisar-blog-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-bottom: 2rem; }
.nisar-blog-filters a { padding: 0.5rem 1rem; font-size: 0.9375rem; font-weight: 500; color: var(--color-text-muted); border-radius: var(--radius); }
.nisar-blog-filters a:hover, .nisar-blog-filters a.is-active { color: var(--color-accent); }
.nisar-blog-filters a.is-active { text-decoration: underline; text-underline-offset: 4px; }
.nisar-blog-list { list-style: none; margin: 0 0 2rem; padding: 0; }
.nisar-blog-list-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--color-card-border);
	min-height: 56px;
}
.nisar-blog-list-item a.nisar-blog-list-link {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	text-decoration: none;
	color: inherit;
}
.nisar-blog-list-item a.nisar-blog-list-link:hover .nisar-blog-list-title { color: var(--color-accent); }
.nisar-blog-list-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-headline);
	line-height: 1.4;
	flex: 1 1 auto;
	min-width: 0;
}
.nisar-blog-list-meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.875rem;
	color: var(--color-text-muted);
	flex-shrink: 0;
}
.nisar-blog-list-tag {
	padding: 0.25rem 0.5rem;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--color-accent);
	background: var(--color-accent-soft);
	border-radius: 999px;
}
.nisar-blog-list-read {
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	border: 2px solid var(--color-accent-border);
	border-radius: 50%;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.nisar-blog-list-read:hover { background: var(--color-accent-soft); border-color: var(--color-accent); }
.nisar-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.5rem; margin-top: 2rem; }
.nisar-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 0.75rem; font-weight: 500; color: var(--color-headline); border-radius: var(--radius); }
.nisar-pagination .page-numbers:hover, .nisar-pagination .page-numbers.current { background: var(--color-accent-soft); color: var(--color-accent); }

/* Booking - Cal.com (theme-aware: white in light mode, dark in dark mode) */
.nisar-booking-section { padding: var(--section-padding) 0; background: var(--color-bg-soft); }
.nisar-booking-embed {
	position: relative;
	max-width: 960px;
	margin: 2rem auto 0;
	min-height: 630px;
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--color-card-border);
	background: var(--color-bg-white);
	box-shadow: var(--shadow-card);
	transition: box-shadow 0.35s ease, background 0.3s ease, border-color 0.3s ease;
}
body.theme-dark .nisar-booking-embed {
	background: var(--color-bg-card);
	border-color: var(--color-card-border);
	box-shadow: var(--shadow-card);
}
.nisar-booking-embed:hover { box-shadow: var(--shadow-card-hover); }
body.theme-dark .nisar-booking-embed:hover { box-shadow: var(--shadow-card-hover); }
.nisar-booking-embed iframe,
.nisar-booking-embed .nisar-cal-iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	min-height: 630px !important;
	border: none !important;
	display: block;
}
/* Fallback so wrapper has height before iframe loads */
.nisar-booking-embed {
	min-height: 630px;
}

/* ========== Footer – screenshot style: multi-column, logo badge, bottom bar ========== */
.nisar-footer {
	position: relative;
	background: var(--color-bg-soft);
	color: var(--color-body);
	padding: 4rem var(--container-padding) 0;
	border-top: 1px solid var(--color-card-border);
}
body.theme-dark .nisar-footer { background: var(--color-bg-main); border-top-color: var(--color-card-border); }
.nisar-footer::before { display: none; }
.nisar-footer-inner {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
	gap: 3rem;
	margin-bottom: 0;
	position: relative;
	z-index: 1;
	padding-bottom: 2.5rem;
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	border-bottom: 1px solid var(--color-card-border);
}
/* Footer logo: uses same .nisar-logo as header – no box, text/image only; force no background so it never shows a green box */
.nisar-footer .nisar-logo,
.nisar-footer-logo {
	background: none !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin-bottom: 1.25rem;
}
.nisar-footer .nisar-logo:hover,
.nisar-footer-logo:hover { background: none !important; color: var(--color-accent); }
.nisar-footer-tagline {
	font-size: 0.9375rem;
	color: var(--color-text-muted);
	margin: 0 0 1.5rem;
	line-height: 1.6;
	max-width: 280px;
}
.nisar-footer h4 {
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--color-headline);
	margin: 0 0 1.25rem;
}
body.theme-dark .nisar-footer h4 { color: var(--color-body); }
.nisar-footer ul { list-style: none; margin: 0; padding: 0; }
.nisar-footer ul li { margin-bottom: 0.65rem; }
.nisar-footer a {
	position: relative;
	color: var(--color-body);
	font-size: 0.9375rem;
	transition: color 0.25s ease;
}
.nisar-footer a:hover { color: var(--color-accent); }
.nisar-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.5rem 0;
	position: relative;
	z-index: 1;
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	background: transparent;
	border-top: none;
}
.nisar-footer-bottom .nisar-footer-social { display: none; }
.nisar-footer-bottom-left {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-wrap: wrap;
}
.nisar-footer-bottom .nisar-footer-copyright {
	font-size: 0.875rem;
	color: #555555;
	margin: 0;
}
body.theme-dark .nisar-footer-bottom .nisar-footer-copyright { color: var(--color-text-muted); }
.nisar-theme-toggle {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	line-height: 0;
	vertical-align: middle;
}
.nisar-theme-toggle-pill {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 56px;
	height: 28px;
	padding: 0 5px;
	background: rgba(0, 0, 0, 0.12);
	border-radius: var(--radius-pill);
	position: relative;
	transition: background 0.2s ease;
	border: 1px solid rgba(0, 0, 0, 0.08);
}
body.theme-dark .nisar-theme-toggle-pill { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.12); }
.nisar-theme-toggle:hover .nisar-theme-toggle-pill {
	background: rgba(0, 0, 0, 0.18);
}
body.theme-dark .nisar-theme-toggle:hover .nisar-theme-toggle-pill { background: rgba(255, 255, 255, 0.12); }
.nisar-theme-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	color: var(--color-text-muted);
	transition: color 0.2s ease, background 0.2s ease;
	z-index: 1;
}
body.theme-dark .nisar-theme-icon-sun { color: var(--color-text-muted); }
body.theme-dark .nisar-theme-icon-moon { color: var(--color-headline); background: var(--color-bg-card); }
body:not(.theme-dark) .nisar-theme-icon-sun { color: var(--color-headline); background: var(--color-bg-white); }
body:not(.theme-dark) .nisar-theme-icon-moon { color: var(--color-text-muted); }
.nisar-footer-bottom-links { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.nisar-footer-bottom-link { transition: color 0.25s ease; font-size: 0.875rem; color: #555555; }
.nisar-footer-bottom-link:hover { color: var(--color-accent); }
body.theme-dark .nisar-footer-bottom-link { color: var(--color-text-muted); }
.nisar-footer-social { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.nisar-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.06);
	border: 1px solid var(--color-card-border);
	color: var(--color-body);
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}
body.theme-dark .nisar-footer-social a {
	background: rgba(255, 255, 255, 0.06);
	border-color: var(--color-card-border);
	color: var(--color-body);
}
.nisar-footer-social a:hover {
	background: var(--color-accent);
	color: var(--color-text-on-accent);
	border-color: var(--color-accent);
	transform: scale(1.05);
}

/* Page content */
/* ========== Single post (blog view) ========== */
.nisar-single-post {
	padding: clamp(2rem, 6vw, 4rem) 0 var(--section-padding);
	background: var(--color-bg-main);
}
.nisar-single-container {
	max-width: 720px;
	margin: 0 auto;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
}
.nisar-single-header {
	margin-bottom: 2rem;
}
.nisar-single-meta {
	font-size: 0.9375rem;
	color: var(--color-text-muted);
	margin: 0 0 0.75rem;
	line-height: 1.5;
}
.nisar-single-title {
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--color-headline);
	margin: 0 0 1.25rem;
}
.nisar-single-author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1rem;
}
.nisar-single-author-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: block;
	object-fit: cover;
}
.nisar-single-author-name {
	font-size: 1rem;
	font-weight: 500;
	color: var(--color-headline);
}
.nisar-single-thumb {
	margin: 2rem 0;
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.nisar-single-thumb img { width: 100%; height: auto; display: block; }
.nisar-single-content {
	margin-top: 2rem;
}
.nisar-page-content { line-height: 1.75; color: var(--color-text); }
.nisar-page-content p { margin-bottom: 1.25rem; }
.nisar-page-content h2 { font-size: 1.25rem; font-weight: 700; margin: 2rem 0 1rem; }
.nisar-single .nisar-container { padding-top: 0; padding-bottom: 0; }

/* ========== Contact Page ========== */
.nisar-contact-section { padding: var(--section-padding) 0; background: var(--color-bg-soft); min-height: 60vh; }
.nisar-contact-title { text-align: center; margin-bottom: 0.5rem; }
.nisar-contact-title::after { content: ''; display: block; width: 60px; height: 3px; background: var(--color-accent); margin: 0.5rem auto 0; }
.nisar-contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; align-items: start; margin-top: 2.5rem; max-width: 1000px; margin-left: auto; margin-right: auto; }
.nisar-contact-info-title { font-size: 1.25rem; font-weight: 700; color: var(--color-headline); margin: 0 0 1rem; }
.nisar-contact-info-desc { font-size: 0.9375rem; color: var(--color-text-muted); line-height: 1.6; margin: 0 0 1.5rem; }
.nisar-contact-details { display: flex; flex-direction: column; gap: 1rem; }
.nisar-contact-item { display: flex; align-items: center; gap: 0.75rem; color: var(--color-text); text-decoration: none; font-size: 0.9375rem; transition: color 0.2s; }
.nisar-contact-item:hover { color: var(--color-accent); }
.nisar-contact-icon { flex-shrink: 0; color: var(--color-accent); }
.nisar-contact-separator { height: 1px; background: var(--color-accent); opacity: 0.4; margin: 1.5rem 0; max-width: 200px; }
.nisar-contact-social { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.nisar-social-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--color-bg-card); color: var(--color-text-muted); border: 1px solid var(--color-card-border); transition: color 0.2s, background 0.2s, border-color 0.2s; }
.nisar-social-icon:hover { color: var(--color-accent); background: var(--color-accent-soft); border-color: var(--color-accent-border); }
.nisar-contact-form-wrap { background: var(--color-bg-card); padding: 2rem; border-radius: var(--radius-lg); border: 1px solid var(--color-card-border); }
.nisar-contact-form-title { font-size: 1.25rem; font-weight: 700; color: var(--color-accent); margin: 0 0 1.5rem; }
.nisar-contact-form p { margin: 0 0 1.25rem; }
.nisar-contact-form label { display: block; font-size: 0.875rem; font-weight: 500; color: var(--color-headline); margin-bottom: 0.35rem; }
.nisar-contact-form .required { color: #c00; }
.nisar-contact-form input, .nisar-contact-form select, .nisar-contact-form textarea { width: 100%; padding: 0.75rem 1rem; font-size: 1rem; border: 1px solid var(--color-card-border); border-radius: var(--radius); font-family: inherit; transition: border-color 0.2s; }
.nisar-contact-form input:focus, .nisar-contact-form select:focus, .nisar-contact-form textarea:focus { outline: none; border-color: var(--color-accent); }
.nisar-contact-form textarea { resize: vertical; min-height: 120px; }
.nisar-contact-submit { text-transform: uppercase; letter-spacing: 0.05em; }
.nisar-contact-success { padding: 1rem; background: var(--color-accent-soft); color: var(--color-accent); border-radius: var(--radius); font-weight: 500; }

/* ========== About Page ========== */
.nisar-about-section { padding: var(--section-padding) 0; background: var(--color-bg-soft); }
.nisar-about-container { max-width: 800px; margin: 0 auto; }
.nisar-about-header { display: flex; gap: 2rem; align-items: flex-start; }
.nisar-about-photo { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; border: 3px solid var(--color-accent); flex-shrink: 0; }
.nisar-about-photo-placeholder { width: 140px; height: 140px; border-radius: 50%; background: var(--color-accent-soft); border: 3px solid var(--color-accent); display: flex; align-items: center; justify-content: center; color: var(--color-text-muted); font-size: 0.875rem; flex-shrink: 0; }
.nisar-about-header-text { flex: 1; min-width: 0; }
.nisar-about-name { font-size: 1.75rem; font-weight: 700; color: var(--color-headline); margin: 0 0 0.35rem; }
.nisar-about-title { font-size: 1rem; color: var(--color-accent); font-weight: 500; margin: 0 0 1rem; }
.nisar-about-social { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.nisar-about-social-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--color-accent); color: var(--color-text-on-accent); transition: transform 0.2s, opacity 0.2s; }
.nisar-about-social-icon:hover { transform: scale(1.08); opacity: 0.9; }
.nisar-about-separator { height: 3px; background: var(--color-accent); margin: 2rem 0; max-width: 80px; border-radius: 2px; }
.nisar-about-bio { font-size: 1rem; line-height: 1.75; color: var(--color-text); }
.nisar-about-bio p { margin: 0 0 1.25rem; }
.nisar-about-bio p:last-child { margin-bottom: 0; }

/* ========== Privacy Policy Page ========== */
.nisar-privacy-section { padding: var(--section-padding) 0; background: var(--color-bg-soft); }
.nisar-privacy-header { text-align: center; margin-bottom: 2.5rem; }
.nisar-privacy-title { margin-bottom: 0.5rem; }
.nisar-privacy-title::after { content: ''; display: block; width: 60px; height: 3px; background: var(--color-accent); margin: 0.5rem auto 0; }
.nisar-privacy-date { font-size: 0.9375rem; color: var(--color-text-muted); margin: 0; }
.nisar-privacy-content { max-width: 720px; margin: 0 auto; }
.nisar-privacy-card { background: var(--color-bg-card); padding: 2rem; border-radius: var(--radius-lg); border: 1px solid var(--color-card-border); margin-bottom: 1.5rem; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.nisar-privacy-card-title { font-size: 1.125rem; font-weight: 700; color: var(--color-headline); margin: 0 0 1rem; display: flex; align-items: center; gap: 0.5rem; }
.nisar-privacy-card-title::before { content: ''; display: inline-block; width: 4px; height: 1.2em; background: var(--color-accent); border-radius: 2px; flex-shrink: 0; }
.nisar-privacy-card p { margin: 0 0 1rem; font-size: 0.9375rem; line-height: 1.65; color: var(--color-text); }
.nisar-privacy-card p:last-of-type { margin-bottom: 0; }
.nisar-privacy-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.nisar-privacy-list li { display: flex; align-items: flex-start; gap: 0.5rem; margin-bottom: 0.5rem; font-size: 0.9375rem; line-height: 1.6; color: var(--color-text); }
.nisar-privacy-list li::before { content: '✓'; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex-shrink: 0; color: var(--color-accent); font-weight: bold; font-size: 0.9rem; }
.nisar-privacy-contact-email { display: flex; align-items: center; gap: 0.5rem; }
.nisar-privacy-check { flex-shrink: 0; color: var(--color-accent); }
.nisar-privacy-contact-email a { color: var(--color-accent); }
.nisar-privacy-back { text-align: center; margin-top: 2.5rem; }
.nisar-privacy-back-btn { display: inline-flex; align-items: center; gap: 0.5rem; }

/* ========== Read next (blog) ========== */
.nisar-read-next {
	padding: var(--section-padding) 0;
	background: var(--color-bg-soft);
	border-top: 1px solid var(--color-card-border);
}
.nisar-read-next-title {
	font-family: var(--font-display);
	font-size: var(--font-size-h2);
	font-weight: 700;
	color: var(--color-headline);
	margin: 0 0 2rem;
}
.nisar-read-next-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gap-lg);
}
.nisar-read-next-card {
	background: var(--color-bg-card);
	border: 1px solid var(--color-card-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.nisar-read-next-card:hover {
	box-shadow: var(--shadow-card-hover);
	border-color: var(--color-card-border);
}
.nisar-read-next-card-link { text-decoration: none; color: inherit; display: block; }
.nisar-read-next-card-image {
	aspect-ratio: 16/10;
	overflow: hidden;
	background: var(--color-bg-soft);
}
.nisar-read-next-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nisar-read-next-card-placeholder { background: var(--color-card-border); }
.nisar-read-next-card-body { padding: 1.5rem; }
.nisar-read-next-card-meta {
	font-size: 0.8125rem;
	color: var(--color-text-muted);
	margin: 0 0 0.5rem;
}
.nisar-read-next-card-title {
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-headline);
	margin: 0 0 0.5rem;
	line-height: 1.3;
}
.nisar-read-next-card-excerpt {
	font-size: 0.9375rem;
	color: var(--color-text-muted);
	line-height: 1.5;
	margin: 0 0 1rem;
}
.nisar-read-next-card-author {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-headline);
	font-weight: 500;
}
.nisar-read-next-avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; display: block; }
body.nisar-menu-open { overflow: hidden; }

/* ========== Responsive – mobile-first friendly ========== */
@media (max-width: 1024px) {
  .nisar-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .nisar-services-grid { grid-template-columns: repeat(2, 1fr); }
  .nisar-projects-grid, .nisar-projects-grid-four { grid-template-columns: repeat(2, 1fr); }
  .nisar-process-cards,
  .nisar-game-changer-cards { grid-template-columns: repeat(2, 1fr); }
  .nisar-process-steps-wrap { display: none !important; }
  .nisar-process-steps { grid-template-columns: repeat(2, 1fr); }
  .nisar-footer-inner { grid-template-columns: 1fr 1fr; }
  .nisar-read-next-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .nisar-container {
    padding-left: max(1.25rem, env(safe-area-inset-left));
    padding-right: max(1.25rem, env(safe-area-inset-right));
  }
  .nisar-header.is-scrolled { top: 0; margin: 0; max-width: none; border-radius: 0; border: none; border-bottom: 1px solid #2d2d2d; }
  .nisar-header.is-scrolled .nisar-nav .nisar-logo { display: inline-flex !important; }
  .nisar-nav { min-height: var(--header-height-scrolled); height: var(--header-height-scrolled); padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); justify-content: space-between; gap: 0.75rem; }
  .nisar-nav .nisar-logo { display: inline-flex !important; flex-shrink: 0; }
  .nisar-nav .nisar-logo .nisar-logo-text { font-size: 1.125rem; }
  .nisar-nav .nisar-menu { display: none; }
  .nisar-nav-cta-wrap { display: none; }
  .nisar-theme-toggle-header { display: none !important; }
  .nisar-menu-toggle { display: flex; order: 2; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; padding: 0.5rem; touch-action: manipulation; flex-shrink: 0; margin-left: auto; }
  .nisar-menu-toggle[aria-expanded="true"] .nisar-menu-icon-open { display: inline-flex; }
  .nisar-menu-toggle[aria-expanded="true"] .nisar-menu-icon-closed { display: none; }
  body:not(.theme-dark) .nisar-header { border-bottom-color: rgba(0, 0, 0, 0.08); }
  /* Mobile menu overlay: dark backdrop, panel slides in from right with rounded corners */
  .nisar-mobile-menu-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.5);
    align-items: stretch;
    justify-content: flex-end;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }
  .nisar-mobile-menu-overlay.is-open {
    display: flex;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .nisar-mobile-menu-panel {
    width: 100%;
    max-width: 360px;
    background: #181818;
    border-radius: 20px 0 0 20px;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: nisar-mobile-menu-slide 0.3s ease-out;
  }
  body:not(.theme-dark) .nisar-mobile-menu-panel { background: #1a1a1a; }
  @keyframes nisar-mobile-menu-slide {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
  }
  .nisar-mobile-menu-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
  }
  /* Header: logo left, theme + close right */
  .nisar-mobile-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    gap: 1rem;
  }
  .nisar-mobile-menu-logo {
    display: inline-flex !important;
    align-items: center;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    font-family: var(--font-display);
    font-size: 1.125rem;
  }
  .nisar-mobile-menu-logo:hover { color: rgba(255, 255, 255, 0.85); }
  .nisar-mobile-menu-logo .nisar-logo-img { filter: brightness(0) invert(1); }
  body:not(.theme-dark) .nisar-mobile-menu-logo { color: #ffffff; }
  .nisar-mobile-menu-header-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
  }
  .nisar-mobile-menu-header-right .nisar-theme-toggle-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .nisar-mobile-menu-header-right .nisar-theme-toggle-pill {
    width: 48px;
    min-width: 48px;
    height: 26px;
    padding: 0 4px;
  }
  .nisar-mobile-menu-header-right .nisar-theme-icon { width: 20px; height: 20px; }
  body.theme-dark .nisar-mobile-menu-header-right .nisar-theme-icon-sun { color: #888; background: transparent; }
  body.theme-dark .nisar-mobile-menu-header-right .nisar-theme-icon-moon { color: #fff; background: rgba(255, 255, 255, 0.2); }
  body:not(.theme-dark) .nisar-mobile-menu-header-right .nisar-theme-icon-sun { color: #fff; background: rgba(255, 255, 255, 0.25); }
  body:not(.theme-dark) .nisar-mobile-menu-header-right .nisar-theme-icon-moon { color: #888; background: transparent; }
  .nisar-mobile-menu-header-right .nisar-theme-toggle-pill { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.12); }
  .nisar-mobile-menu-close {
    background: none;
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    color: #e0e0e0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    touch-action: manipulation;
    border-radius: 8px;
    transition: color 0.2s ease, background 0.2s ease;
  }
  .nisar-mobile-menu-close:hover { color: #ffffff; background: rgba(255, 255, 255, 0.08); }
  .nisar-mobile-menu-separator {
    flex-shrink: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    margin: 1rem 0 1.5rem;
  }
  /* Nav: centered vertical list, ample spacing, no arrow */
  .nisar-mobile-menu-nav {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 0 0 1.5rem;
  }
  .nisar-mobile-menu-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
  }
  .nisar-mobile-menu-links > li { margin: 0; width: 100%; max-width: 200px; }
  .nisar-mobile-menu-links > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    font-weight: 400;
    color: #e0e0e0;
    text-decoration: none;
    touch-action: manipulation;
    transition: color 0.2s ease;
  }
  .nisar-mobile-menu-links > li > a:hover { color: #ffffff; }
  /* Let's Talk CTA: dark gray button, rounded, arrow icon */
  .nisar-mobile-menu-cta-wrap {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    padding-top: 0.5rem;
  }
  .nisar-mobile-menu-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 52px;
    padding: 0 1.75rem;
    background: #2d2d2d;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 12px;
    border: none;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
    touch-action: manipulation;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }
  .nisar-mobile-menu-cta-btn:hover {
    background: #3d3d3d;
    color: #ffffff !important;
    transform: scale(1.02);
  }
  .nisar-mobile-menu-cta-btn:active { transform: scale(0.98); }
  .nisar-mobile-menu-cta-btn svg { flex-shrink: 0; }
  .nisar-stats-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .nisar-services-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .nisar-compare-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .nisar-projects-grid, .nisar-projects-grid-four { grid-template-columns: 1fr; gap: 1.25rem; }
  .nisar-project-card-body { padding: 1.25rem; }
  .nisar-project-card-body p { min-height: 3em; font-size: 0.9375rem; }
  .nisar-project-card-image { aspect-ratio: 16/9; }
  .nisar-process-cards,
  .nisar-game-changer-cards { grid-template-columns: 1fr; gap: 1.25rem; }
  .nisar-game-changer-card { padding: 1.5rem 1.25rem; }
  /* Path section (mobile): number beside text – row layout, vertical line on left */
  .nisar-process-steps-wrap { display: block !important; position: relative; margin-bottom: 2.5rem; }
  .nisar-process-timeline { display: none; }
  .nisar-process-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    padding: 0 0 0 0.5rem;
  }
  /* Vertical green timeline line through center of number circles */
  .nisar-process-steps::before {
    content: "";
    position: absolute;
    left: 32px; /* 0.5rem padding + half of 52px circle, minus half line width */
    top: 26px;
    bottom: 26px;
    width: 4px;
    background: var(--color-accent);
    border-radius: 2px;
    z-index: 0;
    pointer-events: none;
  }
  /* Each step: number (circle) on left, title + description on right – aligned in one row */
  .nisar-process-step {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    padding: 0.875rem 0;
    position: relative;
    z-index: 1;
    min-height: 0;
    text-align: left;
  }
  .nisar-process-step .nisar-process-number {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    min-width: 52px;
    font-size: 1.125rem;
    margin: 0;
    box-shadow: 0 0 0 2px var(--color-accent), 0 0 20px rgba(57, 255, 20, 0.4), 0 0 40px rgba(57, 255, 20, 0.2);
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  body.theme-dark .nisar-process-step .nisar-process-number { color: var(--color-text-on-accent); }
  body:not(.theme-dark) .nisar-process-step .nisar-process-number {
    color: #1a1a1a;
    box-shadow: 0 0 0 2px rgba(57, 255, 20, 0.5), 0 0 20px rgba(57, 255, 20, 0.45), 0 0 40px rgba(57, 255, 20, 0.25);
  }
  .nisar-process-step-scroll.nisar-process-step-active .nisar-process-number {
    box-shadow: 0 0 0 2px var(--color-accent), 0 0 24px rgba(57, 255, 20, 0.7), 0 0 48px rgba(57, 255, 20, 0.35);
    animation: nisar-step-glow 2.5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  }
  body:not(.theme-dark) .nisar-process-step-scroll.nisar-process-step-active .nisar-process-number {
    box-shadow: 0 0 0 2px rgba(57, 255, 20, 0.6), 0 0 24px rgba(57, 255, 20, 0.6), 0 0 48px rgba(57, 255, 20, 0.3);
    animation: nisar-step-glow 2.5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  }
  @keyframes nisar-step-glow {
    0%, 100% { box-shadow: 0 0 0 2px rgba(57, 255, 20, 0.6), 0 0 24px rgba(57, 255, 20, 0.6), 0 0 48px rgba(57, 255, 20, 0.3); }
    50% { box-shadow: 0 0 0 2px rgba(57, 255, 20, 0.75), 0 0 32px rgba(57, 255, 20, 0.8), 0 0 56px rgba(57, 255, 20, 0.4); }
  }
  /* Step body: always right of number, left-aligned */
  .nisar-process-step .nisar-process-step-body {
    flex: 1;
    min-width: 0;
    padding: 0;
    text-align: left;
    justify-self: start;
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  .nisar-process-step:nth-child(odd) .nisar-process-step-body,
  .nisar-process-step:nth-child(even) .nisar-process-step-body {
    grid-column: unset;
    justify-self: unset;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .nisar-process-step-body h3 {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.25rem;
    line-height: 1.3;
    color: var(--color-headline);
  }
  body.theme-dark .nisar-process-step-body h3 { color: var(--color-headline); }
  .nisar-process-step-body p {
    font-size: 0.8125rem;
    line-height: 1.45;
    margin: 0;
    color: var(--color-text-muted);
  }
  .nisar-process-step-scroll .nisar-process-number,
  .nisar-process-step-scroll .nisar-process-step-body {
    opacity: 0.72;
    transform: translateY(6px) translateZ(0);
  }
  .nisar-process-step-scroll.nisar-process-step-active .nisar-process-number,
  .nisar-process-step-scroll.nisar-process-step-active .nisar-process-step-body {
    opacity: 1;
    transform: translateY(0) translateZ(0);
  }
  .nisar-footer-inner { grid-template-columns: 1fr; text-align: center; gap: 2rem; }
  .nisar-footer-tagline { margin-left: auto; margin-right: auto; max-width: 100%; }
  .nisar-footer-bottom { flex-direction: column; align-items: center; height: auto; min-height: auto; padding: 1.25rem max(1rem, env(safe-area-inset-left)) 1.25rem max(1rem, env(safe-area-inset-right)); gap: 0.75rem; text-align: center; padding-bottom: max(1.25rem, env(safe-area-inset-bottom)); }
  .nisar-footer-bottom-left { justify-content: center; flex-direction: column; gap: 1rem; }
  .nisar-footer-bottom .nisar-footer-copyright { order: 2; font-size: 0.8125rem; }
  .nisar-footer-bottom-links { order: 3; }
  .nisar-footer-social { order: 1; justify-content: center; }
  .nisar-footer h4 { margin-bottom: 1rem; }
  .nisar-footer ul { display: flex; flex-direction: column; gap: 0.5rem; }
  .nisar-footer ul li { margin-bottom: 0; }
  .nisar-blog-list-item { flex-wrap: wrap; padding: 1rem 0; }
  .nisar-blog-list-item a.nisar-blog-list-link { flex-wrap: wrap; flex-direction: row; }
  .nisar-blog-list-title { flex: 1 1 100%; font-size: 1rem; }
  .nisar-blog-list-meta { flex: 1 1 auto; font-size: 0.8125rem; }
  .nisar-blog-list-read { margin-left: auto; min-height: 48px; min-width: 48px; touch-action: manipulation; }
  .nisar-trust-marquee-wrap { max-width: 95vw; }
  .nisar-trust-logo-wrap { width: 110px; height: 32px; }
  .nisar-hero {
    min-height: auto;
    padding-top: max(3.5rem, env(safe-area-inset-top));
    padding-bottom: 4.5rem;
    display: flex;
    align-items: center;
  }
  .nisar-hero-content { width: 100%; max-width: 100%; }
  .nisar-hero-pill { margin-bottom: 1rem; }
  .nisar-hero-eyebrow { margin-bottom: 0.5rem; }
  .nisar-hero-tagline { margin-bottom: 0.5rem; }
  .nisar-hero-subheading {
    font-size: 1rem;
    line-height: 1.65;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    max-width: 28rem;
  }
  .nisar-hero-buttons { margin-bottom: 2.5rem; }
  .nisar-process-cta-inner { margin-top: 2.5rem; padding-top: 2.5rem; }
  .nisar-process-cta-inner .nisar-section-title { font-size: clamp(1.5rem, 5vw, 2rem); }
  .nisar-btn-primary,
  .nisar-btn-secondary { min-height: 48px; min-width: 44px; padding: 0.875rem 1.5rem; touch-action: manipulation; font-size: 1rem; }
  .nisar-cta-buttons { gap: 0.75rem; }
  .nisar-cta-buttons .nisar-btn-primary,
  .nisar-cta-buttons .nisar-btn-secondary { flex: 1 1 auto; min-width: 140px; justify-content: center; }
  .nisar-service-card { padding: 1.75rem 1.25rem; transition-duration: 0.25s; }
  .nisar-compare-col { padding: 1.75rem 1.25rem; }
  .nisar-contact-grid { grid-template-columns: 1fr; gap: 2rem; }
  .nisar-about-header { flex-direction: column; align-items: center; text-align: center; }
  .nisar-about-header-text { display: flex; flex-direction: column; align-items: center; }
  .nisar-about-social { justify-content: center; }
  .nisar-section-subtitle { margin-bottom: 1.75rem; }
  .nisar-blog-filters { gap: 0.5rem; margin-bottom: 1.5rem; }
  .nisar-blog-filters a { min-height: 44px; padding: 0.5rem 1rem; display: inline-flex; align-items: center; touch-action: manipulation; }
}
@media (max-width: 640px) {
  .nisar-hero-tagline {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
    line-height: 1.15;
  }
  .nisar-hero-tagline .nisar-hero-accent { min-height: 1.2em; }
  .nisar-hero-pill { font-size: 0.7rem; padding: 0.35rem 0.75rem; letter-spacing: 0.08em; }
  .nisar-hero-subheading { font-size: 0.9375rem; max-width: 26rem; }
  .nisar-section-title { font-size: clamp(1.35rem, 5vw, 1.75rem); }
  .nisar-section-subtitle { font-size: 1rem; line-height: 1.55; }
  .nisar-container { padding-left: max(1rem, env(safe-area-inset-left)); padding-right: max(1rem, env(safe-area-inset-right)); }
}
@media (max-width: 380px) {
  .nisar-cta-buttons { flex-direction: column; }
  .nisar-cta-buttons .nisar-btn-primary,
  .nisar-cta-buttons .nisar-btn-secondary { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .nisar-animate-reveal { transition: none; }
  .nisar-trust-marquee { animation: none; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ========== Theme transition speed ========== */
body,
body *,
body *::before,
body *::after {
  transition-property: background-color, border-color, color, fill, stroke, box-shadow;
  transition-duration: 0.15s;
  transition-timing-function: ease-out;
}

/* ========== Dark mode (body.theme-dark) ========== */
body.theme-dark {
  --color-bg-main: #181818;
  --color-bg-secondary: #1a1a1a;
  --color-bg-card: #1e1e1e;
  --color-bg-soft: #1a1a1a;
  --color-bg-white: #1e1e1e;
  --color-card-bg: #1e1e1e;
  --color-headline: #ffffff;
  --color-body: #e0e0e0;
  --color-text: #e0e0e0;
  --color-text-muted: #b5b5b5;
  --color-card-border: #2d2d2d;
  --color-section-dark: #0f0f0f;
  --color-text-on-accent: #181818;
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-card-hover: 0 4px 16px rgba(0, 0, 0, 0.4);
}
body.theme-dark .nisar-header {
  background: #181818;
  border-bottom-color: var(--color-card-border);
}
body.theme-dark .nisar-header.is-scrolled {
  background: #181818;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}
body.theme-dark .nisar-logo,
body.theme-dark .nisar-menu a { color: var(--color-body); }
body.theme-dark .nisar-menu a:hover { color: var(--color-accent); }
body.theme-dark .nisar-scroll-progress { background: rgba(255, 255, 255, 0.08); }
body.theme-dark .nisar-footer { background: var(--color-bg-main); border-top-color: var(--color-card-border); }
body.theme-dark .nisar-footer-tagline,
body.theme-dark .nisar-footer h4,
body.theme-dark .nisar-footer a,
body.theme-dark .nisar-footer-copyright,
body.theme-dark .nisar-footer-bottom-link { color: var(--color-text-muted); }
body.theme-dark .nisar-footer a:hover,
body.theme-dark .nisar-footer-bottom-link:hover { color: var(--color-accent); }
body.theme-dark .nisar-footer-logo { color: var(--color-body); }
body.theme-dark .nisar-footer-logo:hover { color: var(--color-accent); }
body.theme-dark .nisar-footer-social a {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--color-card-border);
  color: var(--color-body);
}
body.theme-dark .nisar-footer-social a:hover {
  background: var(--color-accent);
  color: var(--color-text-on-accent);
  border-color: var(--color-accent);
}
.nisar-header.is-scrolled .nisar-menu-toggle { color: #e0e0e0; }
.nisar-header.is-scrolled .nisar-menu-toggle:hover { color: var(--color-accent); }
body.theme-dark .nisar-menu-toggle { color: var(--color-body); }
body.theme-dark .nisar-menu-toggle:hover { color: var(--color-accent); }
body.theme-dark .nisar-theme-toggle-pill { background: var(--color-card-border); }
body.theme-dark .nisar-theme-icon-sun { color: var(--color-text-muted); }
body.theme-dark .nisar-theme-icon-moon { color: var(--color-headline); background: var(--color-bg-card); }
/* Trust bar logos in dark mode: WHITE logos – invert colors */
body.theme-dark .nisar-trust-logo-wrap .nisar-trust-logo {
	filter: grayscale(100%) invert(1);
	opacity: 0.9;
}
body.theme-dark .nisar-trust-logo-wrap:hover .nisar-trust-logo {
	opacity: 1;
	transform: scale(1.1);
}
/* Logos with dark bg (VAPI, ElevenLabs) in dark mode: blend dark bg away, show white text only */
body.theme-dark .nisar-trust-logo-wrap.nisar-trust-logo-invert .nisar-trust-logo {
	filter: grayscale(100%) brightness(1.2);
	mix-blend-mode: lighten;
}
body.theme-dark .nisar-hero-trust-bar { border-top-color: var(--color-card-border); }
body.theme-dark .nisar-hero-trust-bar .nisar-trust-label { color: var(--color-text-muted); }
/* Mobile nav dropdown uses semantic vars; ensure dark background in dark mode */
body.theme-dark .nisar-menu.is-open { background: var(--color-bg-card); border-top-color: var(--color-card-border); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); }
/* Mobile menu panel is always dark; overlay backdrop stays semi-transparent */

/* ========== Voice Agent (ElevenLabs style) – pill design, site logo, dark/light mode ========== */
.nisar-voice-agent {
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	z-index: 9999;
	font-family: var(--font-body);
	padding: env(safe-area-inset-bottom) env(safe-area-inset-right) 0 0;
}
.nisar-voice-agent-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 52px;
	min-width: 52px;
	padding: 0 1.25rem;
	border-radius: 9999px;
	background: var(--color-accent);
	color: var(--color-text-on-accent);
	border: none;
	cursor: pointer;
	font-family: var(--font-body);
	font-size: 0.9375rem;
	font-weight: 600;
	box-shadow: 0 2px 12px rgba(57, 255, 20, 0.35);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}
.nisar-voice-agent-btn:hover {
	transform: scale(1.03);
	box-shadow: 0 4px 20px rgba(57, 255, 20, 0.45);
}
.nisar-voice-agent-btn:active { transform: scale(0.98); }
.nisar-voice-agent-btn.nisar-voice-agent-listening {
	animation: nisar-voice-pulse 1.5s ease-in-out infinite;
}
@keyframes nisar-voice-pulse {
	0%, 100% { box-shadow: 0 2px 12px rgba(57, 255, 20, 0.35); }
	50% { box-shadow: 0 4px 24px rgba(57, 255, 20, 0.6), 0 0 0 4px rgba(57, 255, 20, 0.15); }
}
.nisar-voice-agent-btn-icon-wrap {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.15);
}
.nisar-voice-agent-btn-icon-wrap img,
.nisar-voice-agent-pill-logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.nisar-voice-agent-icon { width: 20px; height: 20px; flex-shrink: 0; color: currentColor; }
.nisar-voice-agent-btn-label { display: none; }
@media (min-width: 480px) {
	.nisar-voice-agent-btn-label { display: inline; }
}
/* Panel: ElevenLabs-style horizontal pill – shown when call is active */
.nisar-voice-agent-panel {
	display: none;
	position: absolute;
	bottom: 0;
	right: 0;
	width: auto;
	min-width: 280px;
	background: transparent;
	overflow: visible;
}
.nisar-voice-agent-panel.nisar-voice-agent-active {
	display: block;
}
/* Main pill: white (light) / dark (dark mode) with logo + END CALL */
.nisar-voice-agent-pill {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border-radius: 9999px;
	padding: 0.35rem 0.35rem 0.35rem 0.35rem;
	overflow: visible;
}
/* Light mode: engaging green-tinted pill so it matches dark mode appeal */
body:not(.theme-dark) .nisar-voice-agent-pill {
	background: linear-gradient(145deg, #f0fdf4 0%, #ffffff 40%, #ecfdf5 100%);
	border: 1px solid rgba(34, 197, 94, 0.35);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(34, 197, 94, 0.08), 0 8px 28px rgba(34, 197, 94, 0.15);
}
body.theme-dark .nisar-voice-agent-pill {
	background: #1a1a1a;
	border-color: #333;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}
/* Logo wrapper with pulse rings */
.nisar-voice-agent-pill-logo-wrap {
	position: relative;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
}
.nisar-voice-agent-pulse-ring {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 2px solid var(--color-accent);
	opacity: 0;
	transform: translate(-50%, -50%) scale(1);
	animation: nisar-pulse-ring 2s ease-out infinite;
}
/* Light mode: pulse ring in richer green so animation is visible and engaging */
body:not(.theme-dark) .nisar-voice-agent-pulse-ring {
	border-color: #16a34a;
}
.nisar-voice-agent-pulse-ring-2 {
	animation-delay: 1s;
}
@keyframes nisar-pulse-ring {
	0% { opacity: 0.6; transform: translate(-50%, -50%) scale(1); }
	100% { opacity: 0; transform: translate(-50%, -50%) scale(1.8); }
}
.nisar-voice-agent-pill-logo {
	position: relative;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(57, 255, 20, 0.25) 0%, rgba(57, 255, 20, 0.08) 100%);
	border: 2px solid var(--color-accent);
	z-index: 2;
}
/* Light mode: richer logo circle so it pops on white */
body:not(.theme-dark) .nisar-voice-agent-pill-logo {
	background: linear-gradient(145deg, rgba(34, 197, 94, 0.35) 0%, rgba(34, 197, 94, 0.12) 100%);
	border-color: #16a34a;
	box-shadow: 0 0 24px rgba(34, 197, 94, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}
body:not(.theme-dark) .nisar-voice-agent-logo-fallback {
	color: #15803d;
}
body.theme-dark .nisar-voice-agent-pill-logo {
	background: linear-gradient(135deg, rgba(57, 255, 20, 0.3) 0%, rgba(57, 255, 20, 0.1) 100%);
}
.nisar-voice-agent-logo-fallback {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-accent);
}
/* Voice wave animation bars */
.nisar-voice-agent-wave {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	height: 32px;
	padding: 0 0.25rem;
}
.nisar-voice-agent-wave-bar {
	width: 4px;
	height: 8px;
	background: var(--color-accent);
	border-radius: 2px;
	animation: nisar-wave-bar 1s ease-in-out infinite;
}
/* Light mode: wave bars in richer green for contrast and engagement on white */
body:not(.theme-dark) .nisar-voice-agent-wave-bar {
	background: #16a34a;
	box-shadow: 0 0 8px rgba(22, 163, 74, 0.4);
}
.nisar-voice-agent-wave-bar:nth-child(1) { animation-delay: 0s; }
.nisar-voice-agent-wave-bar:nth-child(2) { animation-delay: 0.15s; }
.nisar-voice-agent-wave-bar:nth-child(3) { animation-delay: 0.3s; }
.nisar-voice-agent-wave-bar:nth-child(4) { animation-delay: 0.45s; }
.nisar-voice-agent-wave-bar:nth-child(5) { animation-delay: 0.6s; }
@keyframes nisar-wave-bar {
	0%, 100% { height: 8px; opacity: 0.5; }
	50% { height: 24px; opacity: 1; }
}
.nisar-voice-agent-end-call {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 40px;
	padding: 0 1.25rem;
	background: #ef4444;
	color: #ffffff;
	border: none;
	border-radius: 9999px;
	font-family: var(--font-body);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.1s ease;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	position: relative;
	z-index: 10;
	flex-shrink: 0;
}
.nisar-voice-agent-end-call:hover {
	background: #dc2626;
}
.nisar-voice-agent-end-call:active {
	transform: scale(0.97);
}
.nisar-voice-agent-end-call svg {
	width: 12px;
	height: 12px;
}
/* Light mode: END CALL button with subtle depth so it matches the pill */
body:not(.theme-dark) .nisar-voice-agent-end-call {
	box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35);
}
body:not(.theme-dark) .nisar-voice-agent-end-call:hover {
	box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
}
body.theme-dark .nisar-voice-agent-end-call {
	background: #ef4444;
	color: #ffffff;
}
body.theme-dark .nisar-voice-agent-end-call:hover {
	background: #dc2626;
}
.nisar-voice-agent-status {
	display: block;
	margin-top: 0.5rem;
	padding: 0 0.5rem;
	font-size: 0.75rem;
	text-align: center;
}
/* Light mode: status text that feels part of the voice agent and is easy to read */
body:not(.theme-dark) .nisar-voice-agent-status {
	color: #166534;
	font-weight: 500;
	letter-spacing: 0.02em;
}
body.theme-dark .nisar-voice-agent-status {
	color: #999;
}
.nisar-voice-agent-btn-hidden {
	display: none !important;
}
/* Mobile voice agent – match reference card: dark gray background (#252525), no green tint */
@media (max-width: 480px) {
	.nisar-voice-agent { bottom: 0.75rem; right: 0.75rem; left: 0.75rem; }
	.nisar-voice-agent-btn { 
		min-height: 52px; 
		padding: 0 1rem;
		width: auto;
		margin-left: auto;
	}
	.nisar-voice-agent-panel {
		position: fixed;
		left: 0.75rem;
		right: 0.75rem;
		bottom: 0.75rem;
		width: auto;
	}
	.nisar-voice-agent-pill { 
		width: 100%; 
		padding: 0.5rem;
		gap: 0.75rem;
		background: #252525 !important;
		border-color: #2d2d2d !important;
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5) !important;
	}
	body:not(.theme-dark) .nisar-voice-agent-pill {
		background: #252525 !important;
		border: 1px solid #2d2d2d !important;
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5) !important;
	}
	body:not(.theme-dark) .nisar-voice-agent-pill-logo {
		background: linear-gradient(135deg, rgba(57, 255, 20, 0.25) 0%, rgba(57, 255, 20, 0.08) 100%) !important;
		border-color: var(--color-accent) !important;
	}
	body:not(.theme-dark) .nisar-voice-agent-wave-bar { background: var(--color-accent) !important; }
	body:not(.theme-dark) .nisar-voice-agent-status { color: #b5b5b5 !important; }
	.nisar-voice-agent-pill-logo-wrap { width: 44px; height: 44px; }
	.nisar-voice-agent-pill-logo { width: 44px; height: 44px; }
	.nisar-voice-agent-wave { flex: 1; }
	.nisar-voice-agent-end-call { 
		min-height: 44px; 
		padding: 0 1rem;
		font-size: 0.65rem;
	}
	.nisar-voice-agent-status { font-size: 0.7rem; margin-top: 0.75rem; }
}
@media (max-width: 360px) {
	.nisar-voice-agent { right: 0.5rem; bottom: 0.5rem; left: 0.5rem; }
	.nisar-voice-agent-btn-label { display: none; }
	.nisar-voice-agent-wave-bar { width: 3px; }
}
