/**
 * Intelligize Digital — Tech System v3
 * Component styles: header, footer, all homepage sections.
 * Design tokens live in style.css (:root --fx-* variables)
 * @version 3.1.0
 *
 * GSAP SAFETY: All animated elements are visible by default.
 * Only when body.gsap-ready is set (after JS init) do they become
 * opacity:0 for the entrance animation. This prevents invisible
 * content when JS is slow or blocked.
 */

/* When GSAP has taken control, service cards start invisible for animation */
body.gsap-ready .id-service-card,
body.gsap-ready .id-tech-item,
body.gsap-ready .id-process-step,
body.gsap-ready .id-work-card,
body.gsap-ready .id-platform-item,
body.gsap-ready .id-testimonial-card,
body.gsap-ready .id-industry-item {
  opacity: 0;
}

*/

/* ============================================================
   CSS VARIABLE BRIDGE
   --id-* (legacy header/footer) maps to --fx-* (design system)
   ============================================================ */
:root {
  --id-accent: var(--fx-accent);
  --id-accent2: var(--fx-accent2);
  --id-black: var(--fx-black);
  --id-surface: var(--fx-surface);
  --id-surface2: var(--fx-surface2);
  --id-white: var(--fx-white);
  --id-offwhite: var(--fx-offwhite);
  --id-muted: var(--fx-muted);
  --id-border: var(--fx-border);
  --id-border2: var(--fx-border2);
  --id-font-display: var(--fx-font-display);
  --id-font-body: var(--fx-font-body);
  --id-font-mono: var(--fx-font-mono);
}

/* ============================================================
   HEADER
   ============================================================ */
.id-header-premium {
  position: sticky;
  top: 0;
  z-index: 500;
  background: rgba(3, 3, 3, 0.92);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border-bottom: 1px solid var(--fx-border);
  transition: background 0.4s ease;
}

.id-header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0.9rem 2.25rem;
  max-width: 1400px;
  margin: 0 auto;
  gap: 2rem;
}

.id-logo-tech {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  cursor: none;
}

.id-logo-mark {
  color: var(--fx-offwhite);
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.id-logo-text {
  display: flex;
  align-items: baseline;
  line-height: 1;
}

.id-word {
  font-family: var(--fx-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--fx-white);
}

.id-word-accent {
  font-family: var(--fx-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--fx-accent);
}

.id-nav-desktop {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  justify-content: center;
}

.id-nav-link,
.id-mega-trigger {
  font-family: var(--fx-font-body);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--fx-muted);
  text-decoration: none;
  padding: 0.45rem 0.85rem;
  border-radius: 4px;
  background: none;
  border: none;
  cursor: none;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  transition: color 0.2s ease, background 0.2s ease;
  letter-spacing: 0.01em;
}

.id-nav-link:hover,
.id-mega-trigger:hover,
.id-mega-trigger[aria-expanded="true"] {
  color: var(--fx-offwhite);
  background: var(--fx-glass);
}

.id-mega-trigger .chevron {
  width: 12px;
  height: 12px;
  transition: transform 0.25s ease;
}

.id-mega-trigger[aria-expanded="true"] .chevron {
  transform: rotate(180deg);
}

.id-header-actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  justify-content: flex-end;
}

.id-btn-outline {
  font-family: var(--fx-font-body);
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--fx-muted);
  background: transparent;
  border: 1px solid var(--fx-border2);
  border-radius: 4px;
  padding: 0.55rem 1.1rem;
  text-decoration: none;
  cursor: none;
  transition: border-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}

.id-btn-outline:hover {
  border-color: var(--fx-accent);
  color: var(--fx-accent);
}

.id-btn-primary {
  font-family: var(--fx-font-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fx-white) !important;
  background: var(--fx-accent);
  border: none;
  border-radius: 4px;
  padding: 0.6rem 1.25rem;
  text-decoration: none;
  cursor: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
  display: inline-block;
}

.id-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px var(--fx-accent-glow);
}

.id-btn-glow {
  box-shadow: 0 0 0 1px rgba(255, 59, 0, 0.25);
}

.id-mobile-toggle {
  display: none;
  background: none;
  border: 1px solid var(--fx-border2);
  border-radius: 4px;
  padding: 0.5rem;
  cursor: none;
  color: var(--fx-offwhite);
}

.hamburger-lines {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 18px;
}

.hamburger-lines span {
  display: block;
  height: 1.5px;
  background: currentColor;
  border-radius: 1px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

/* Mega menu */
.id-mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: rgba(10, 10, 10, 0.98);
  border-bottom: 1px solid var(--fx-border);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  transform: translateY(-8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
  z-index: 400;
}

.id-mega-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.id-mega-container {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 3rem;
  max-width: 1400px;
  margin: 0 auto;
  padding: 2.5rem 2.25rem;
}

.id-mega-label {
  font-family: var(--fx-font-mono);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fx-muted);
  margin-bottom: 1rem;
}

.id-mega-card {
  background: var(--fx-surface2);
  border: 1px solid var(--fx-border2);
  border-radius: 8px;
  padding: 1.5rem;
}

.id-mega-card-icon {
  width: 36px;
  height: 36px;
  margin-bottom: 1rem;
}

.id-mega-card-icon svg {
  width: 24px;
  height: 24px;
}

.id-mega-card h3 {
  font-family: var(--fx-font-display);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--fx-white);
  margin-bottom: 0.5rem;
}

.id-mega-card p {
  font-size: 0.82rem;
  color: var(--fx-muted);
  line-height: 1.6;
  margin-bottom: 1rem;
}

.id-mega-card-link {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--fx-accent);
  text-decoration: none;
}

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

.id-mega-col-title {
  font-family: var(--fx-font-mono);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fx-muted);
  margin-bottom: 0.85rem;
}

.id-mega-link {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--fx-border);
  text-decoration: none;
  transition: border-color 0.2s ease;
}

.id-mega-link:last-child {
  border-bottom: none;
}

.id-mega-link:hover {
  border-color: rgba(255, 59, 0, 0.2);
}

.id-mega-link .link-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--fx-offwhite);
  transition: color 0.2s ease;
}

.id-mega-link:hover .link-title {
  color: var(--fx-accent);
}

.id-mega-link .link-desc {
  font-size: 0.75rem;
  color: var(--fx-muted);
}

/* ============================================================
   FV2-FOOTER — Premium Engineering Dashboard Footer v2
   ============================================================ */

/* ── GRADIENT TOP BORDER ── */
.fv2-footer {
  position: relative;
  background: var(--fx-black);
}

.fv2-border {
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(255,59,0,0.12) 15%,
    rgba(255,59,0,0.55) 50%,
    rgba(255,59,0,0.12) 85%,
    transparent 100%
  );
}

/* ── STATUS DOT ── */
.fv2-status-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

.fv2-dot-green {
  background: #22c55e;
  animation: fv2StatusPulse 2.4s ease-in-out infinite;
}

@keyframes fv2StatusPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5); }
  50%       { box-shadow: 0 0 0 5px rgba(34, 197, 94, 0); }
}

/* ── CTA BAND ── */
.fv2-cta-band {
  background: var(--fx-surface);
  border-bottom: 1px solid var(--fx-border);
  padding: 4rem 0;
}

.fv2-cta-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2.25rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4rem;
  align-items: center;
}

.fv2-cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-family: var(--fx-font-mono);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fx-muted);
  margin-bottom: 1rem;
}

.fv2-cta-title {
  font-family: var(--fx-font-display);
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.04em;
  color: var(--fx-white);
  margin: 0;
}

.fv2-cta-accent {
  color: var(--fx-accent);
  font-style: normal;
}

.fv2-cta-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  min-width: 260px;
}

.fv2-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  width: 100%;
}

.fv2-cta-primary {
  font-family: var(--fx-font-display);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--fx-accent);
  color: var(--fx-black) !important;
  padding: 0.9rem 1.75rem;
  border-radius: 3px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
}

.fv2-cta-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 40px var(--fx-accent-glow);
}

.fv2-cta-ghost {
  font-family: var(--fx-font-body);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--fx-muted) !important;
  background: transparent;
  border: 1px solid var(--fx-border2);
  padding: 0.85rem 1.5rem;
  border-radius: 3px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.fv2-cta-ghost:hover {
  border-color: var(--fx-accent);
  color: var(--fx-accent) !important;
}

.fv2-cta-note {
  font-family: var(--fx-font-mono);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--fx-muted);
  opacity: 0.55;
  text-align: center;
}

/* ── MAIN GRID ── */
.fv2-main {
  padding: 4.5rem 0 3.5rem;
  border-bottom: 1px solid var(--fx-border);
}

.fv2-grid {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2.25rem;
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 1fr;
  gap: 4rem;
}

/* ── BRAND COLUMN ── */
.fv2-brand-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.fv2-logo-block {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  margin-bottom: 0.25rem;
}

.fv2-logo-mark { color: var(--fx-offwhite); flex-shrink: 0; }

.fv2-logo-text {
  display: flex;
  align-items: baseline;
  gap: 0;
}

.fv2-logo-wordmark {
  font-family: var(--fx-font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--fx-white);
}

.fv2-logo-dot { color: var(--fx-accent); font-family: var(--fx-font-display); font-size: 1rem; font-weight: 700; }

.fv2-logo-sub {
  font-family: var(--fx-font-display);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--fx-muted);
  margin-left: 0.2rem;
}

.fv2-tagline {
  font-size: 0.82rem;
  color: var(--fx-muted);
  line-height: 1.65;
  max-width: 280px;
}

.fv2-email {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--fx-font-display);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--fx-accent) !important;
  text-decoration: none;
  letter-spacing: -0.01em;
  transition: opacity 0.2s ease;
}

.fv2-email:hover { opacity: 0.8; }
.fv2-email svg { color: var(--fx-accent); flex-shrink: 0; }

.fv2-location-row {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fx-font-mono);
  font-size: 0.65rem;
  font-weight: 500;
  color: var(--fx-muted);
  letter-spacing: 0.06em;
  opacity: 0.7;
}

.fv2-loc-sep { opacity: 0.4; }

/* ── SOCIAL ICONS ── */
.fv2-social-row {
  display: flex;
  gap: 0.5rem;
}

.fv2-social {
  width: 34px; height: 34px;
  border: 1px solid var(--fx-border2);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fx-muted);
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.fv2-social svg { width: 13px; height: 13px; }

.fv2-social:hover {
  border-color: var(--fx-accent);
  color: var(--fx-accent);
  background: rgba(255,59,0,0.06);
  transform: translateY(-2px);
}

/* ── NEWSLETTER ── */
.fv2-newsletter {
  margin-top: 0.25rem;
}

.fv2-newsletter-label {
  font-family: var(--fx-font-mono);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fx-muted);
  margin-bottom: 0.6rem;
  opacity: 0.65;
  display: block;
}

.fv2-newsletter-form {
  display: flex;
  border: 1px solid var(--fx-border2);
  border-radius: 4px;
  overflow: hidden;
  max-width: 280px;
  transition: border-color 0.2s ease;
}

.fv2-newsletter-form:focus-within { border-color: rgba(255,59,0,0.4); }

.fv2-newsletter-input {
  flex: 1;
  background: var(--fx-surface2);
  border: none;
  padding: 0.6rem 0.8rem;
  font-family: var(--fx-font-body);
  font-size: 0.78rem;
  color: var(--fx-offwhite);
  outline: none;
  min-width: 0;
}

.fv2-newsletter-input::placeholder { color: var(--fx-muted); }

.fv2-newsletter-btn {
  background: var(--fx-accent);
  border: none;
  padding: 0.6rem 0.9rem;
  cursor: pointer;
  color: var(--fx-black);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s ease;
}

.fv2-newsletter-btn:hover { background: #ff5a1f; }

/* ── LINK COLUMNS ── */
.fv2-col {
  display: flex;
  flex-direction: column;
}

.fv2-col-header {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 1.1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--fx-border);
}

.fv2-col-header-sub {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.fv2-col-index {
  font-family: var(--fx-font-mono);
  font-size: 0.55rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  color: var(--fx-accent);
  opacity: 0.7;
  flex-shrink: 0;
}

.fv2-col-title {
  font-family: var(--fx-font-display);
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--fx-offwhite);
  letter-spacing: -0.01em;
}

/* ── LINKS ── */
.fv2-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.fv2-links li { display: flex; }

.fv2-link {
  font-family: var(--fx-font-body);
  font-size: 0.84rem;
  color: var(--fx-muted);
  text-decoration: none;
  padding: 0.48rem 0 0.48rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  transition: color 0.2s ease, padding-left 0.25s var(--fx-ease);
  position: relative;
}

.fv2-link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20%;
  bottom: 20%;
  width: 2px;
  background: var(--fx-accent);
  border-radius: 1px;
  transform: scaleY(0);
  transform-origin: center;
  transition: transform 0.22s var(--fx-ease);
}

.fv2-link:hover {
  color: var(--fx-offwhite);
  padding-left: 0.9rem;
}

.fv2-link:hover::before { transform: scaleY(1); }

.fv2-links li:last-child .fv2-link { border-bottom: none; }

/* Special link variants */
.fv2-link-all,
.fv2-link-sitemap {
  font-family: var(--fx-font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fx-accent);
  opacity: 0.75;
  margin-top: 0.25rem;
}

.fv2-link-all:hover,
.fv2-link-sitemap:hover { opacity: 1; color: var(--fx-accent); }

.fv2-link-hiring {
  justify-content: space-between;
}

.fv2-hiring-badge {
  font-family: var(--fx-font-mono);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--fx-accent);
  color: var(--fx-black);
  padding: 0.12rem 0.38rem;
  border-radius: 2px;
}

/* ── PLATFORM LINKS WITH LOGOS ── */
.fv2-platform-link {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
}

.fv2-platform-icon {
  width: 13px; height: 13px;
  object-fit: contain;
  filter: grayscale(1) brightness(1.6);
  opacity: 0.35;
  transition: filter 0.2s ease, opacity 0.2s ease;
  flex-shrink: 0;
}

.fv2-link:hover .fv2-platform-icon {
  filter: none;
  opacity: 0.8;
}

/* ── CERTIFICATIONS BAR ── */
.fv2-certs-bar {
  border-top: 1px solid var(--fx-border);
  padding: 1rem 0;
}

.fv2-certs-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2.25rem;
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}

.fv2-certs-label {
  font-family: var(--fx-font-mono);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fx-muted);
  opacity: 0.45;
  margin-right: 1.5rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.fv2-cert {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--fx-font-mono);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--fx-muted);
  text-decoration: none;
  padding: 0.35rem 0.85rem;
  border-right: 1px solid var(--fx-border);
  transition: color 0.2s ease;
  white-space: nowrap;
}

.fv2-cert:hover { color: var(--fx-accent); }

.fv2-cert img {
  filter: grayscale(1) brightness(1.8);
  opacity: 0.35;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

.fv2-cert:hover img {
  filter: none;
  opacity: 0.8;
}

.fv2-cert-iso { cursor: default; }

/* ── WORDMARK ── */
.fv2-wordmark-wrap {
  overflow: hidden;
  padding: 0;
  line-height: 1;
}

.fv2-wordmark {
  font-family: var(--fx-font-display);
  font-size: clamp(5.5rem, 11vw, 10.5rem);
  font-weight: 700;
  letter-spacing: -0.07em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,0.045);
  line-height: 0.88;
  padding: 1rem 2.25rem 0;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
  transition: letter-spacing 0.7s var(--fx-ease), -webkit-text-stroke-color 0.5s ease;
}

.fv2-wordmark-wrap:hover .fv2-wordmark {
  letter-spacing: -0.02em;
  -webkit-text-stroke-color: rgba(255,59,0,0.1);
}

/* ── BOTTOM BAR ── */
.fv2-bottom {
  border-top: 1px solid var(--fx-border);
  padding: 1.15rem 0;
}

.fv2-bottom-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.fv2-copy {
  font-family: var(--fx-font-mono);
  font-size: 0.68rem;
  color: var(--fx-muted);
  opacity: 0.45;
  letter-spacing: 0.04em;
}

.fv2-bottom-links {
  display: flex;
  gap: 1.5rem;
}

.fv2-bottom-link {
  font-family: var(--fx-font-mono);
  font-size: 0.68rem;
  color: var(--fx-muted);
  text-decoration: none;
  opacity: 0.45;
  letter-spacing: 0.06em;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.fv2-bottom-link:hover { opacity: 1; color: var(--fx-accent); }

.fv2-system-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--fx-font-mono);
  font-size: 0.65rem;
  font-weight: 500;
  color: var(--fx-muted);
  letter-spacing: 0.1em;
  opacity: 0.6;
}

/* ── RESPONSIVE ── */
@media (max-width: 1100px) {
  .fv2-cta-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .fv2-cta-right { flex-direction: row; align-items: center; flex-wrap: wrap; min-width: unset; }
  .fv2-cta-actions { flex-direction: row; }
  .fv2-cta-primary, .fv2-cta-ghost { width: auto; }
  .fv2-grid { grid-template-columns: 2fr 1fr 1fr; }
  .fv2-grid > .fv2-col:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
}

@media (max-width: 768px) {
  .fv2-cta-band { padding: 3rem 0; }
  .fv2-cta-inner { padding: 0 1.25rem; }
  .fv2-cta-actions { flex-direction: column; }
  .fv2-cta-primary, .fv2-cta-ghost { width: 100%; }
  .fv2-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; padding: 0 1.25rem; }
  .fv2-brand-col { grid-column: 1 / -1; }
  .fv2-grid > .fv2-col:last-child { grid-column: 1 / -1; grid-template-columns: repeat(2, 1fr); }
  .fv2-main { padding: 3rem 0 2.5rem; }
  .fv2-certs-inner { padding: 0 1.25rem; overflow-x: auto; flex-wrap: nowrap; }
  .fv2-bottom-inner { padding: 0 1.25rem; flex-direction: column; align-items: flex-start; }
  .fv2-wordmark { font-size: clamp(3.5rem, 12vw, 6rem); padding: 1rem 1.25rem 0; }
}

@media (max-width: 480px) {
  .fv2-grid { grid-template-columns: 1fr; }
  .fv2-grid > .fv2-col:last-child { grid-template-columns: 1fr 1fr; }
  .fv2-bottom-links { flex-wrap: wrap; gap: 1rem; }
}

/* WP block reset */
.wp-block-group.fv2-footer { margin-block-start: 0; }
.wp-site-blocks > footer { margin-block-start: 0; }


/* ============================================================
   GSAP SAFETY + EQUAL CARDS
   ============================================================ */
body.gsap-ready .id-service-card,body.gsap-ready .id-tech-item,body.gsap-ready .id-process-step,body.gsap-ready .id-work-card,body.gsap-ready .id-platform-item,body.gsap-ready .id-testimonial-card,body.gsap-ready .id-industry-item{opacity:0}
.equal-cards>.wp-block-column{display:flex;flex-direction:column;flex-grow:0}
.equal-cards>.wp-block-column>.wp-block-group{display:flex;flex-direction:column;flex-grow:1}
.equal-cards .cta-bottom{margin-top:auto;justify-content:center}

/* ============================================================
   CLIENT LOGOS STRIP
   ============================================================ */
.id-clients-strip{background:var(--fx-surface2);border-top:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border);padding:1.75rem 0}
.id-clients-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.id-clients-label{font-family:var(--fx-font-mono);font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fx-muted);text-align:center;display:block;margin-bottom:1.25rem;opacity:.6}
.id-clients-grid{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem 1.25rem}
.id-client-name{font-family:var(--fx-font-display);font-size:.95rem;font-weight:600;color:var(--fx-muted);letter-spacing:-.02em;opacity:.65;transition:opacity .2s ease}
.id-client-name:hover{opacity:1}
.id-clients-dot{color:var(--fx-muted);opacity:.25;font-size:1rem}

/* ============================================================
   SERVICES SECTION
   ============================================================ */
.id-services{background:var(--fx-black);padding:7rem 0}
.id-services-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.id-services-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:flex-end;margin-bottom:4rem}
.id-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.id-service-card{background:var(--fx-surface);padding:2.25rem;position:relative;overflow:hidden;transition:background .3s ease}
.id-service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--fx-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--fx-ease)}
.id-service-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,59,0,.04),transparent 60%);opacity:0;transition:opacity .3s ease}
.id-service-card:hover{background:var(--fx-surface2)}
.id-service-card:hover::before{transform:scaleX(1)}
.id-service-card:hover::after{opacity:1}
.id-svc-num{font-family:var(--fx-font-mono);font-size:.62rem;font-weight:500;letter-spacing:.15em;color:var(--fx-muted);margin-bottom:1.5rem;display:block}
.id-svc-icon{width:44px;height:44px;border:1px solid var(--fx-border2);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:border-color .25s ease,background .25s ease}
.id-service-card:hover .id-svc-icon{border-color:rgba(255,59,0,.4);background:rgba(255,59,0,.06)}
.id-svc-icon svg{width:20px;height:20px;color:var(--fx-muted);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:color .25s ease}
.id-service-card:hover .id-svc-icon svg{color:var(--fx-accent)}
.id-svc-name{font-family:var(--fx-font-display);font-size:1rem;font-weight:700;color:var(--fx-white);margin-bottom:.55rem;line-height:1.2;letter-spacing:-.02em}
.id-svc-desc{font-size:.85rem;color:var(--fx-muted);line-height:1.65;margin-bottom:1.25rem}
.id-svc-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.id-svc-tag{font-family:var(--fx-font-mono);font-size:.6rem;font-weight:500;letter-spacing:.08em;color:var(--fx-muted);background:var(--fx-surface3,#171717);border:1px solid var(--fx-border);border-radius:2px;padding:.18rem .45rem}

/* ============================================================
   PLATFORMS SECTION
   ============================================================ */
.id-platforms{background:var(--fx-surface);padding:5rem 0;border-top:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border)}
.id-platforms-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.id-platforms-header{margin-bottom:3rem}
.id-platform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.id-platform-item{background:var(--fx-surface);padding:1.75rem 1.5rem;display:flex;align-items:center;gap:1rem;text-decoration:none;transition:background .2s ease;position:relative}
.id-platform-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--fx-accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--fx-ease)}
.id-platform-item:hover{background:var(--fx-surface2)}
.id-platform-item:hover::after{transform:scaleX(1)}
.id-platform-logo{flex-shrink:0;width:40px;height:40px;border:1px solid var(--fx-border2);border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--fx-surface2);transition:border-color .2s ease}
.id-platform-item:hover .id-platform-logo{border-color:rgba(255,59,0,.35)}
.id-platform-logo img{width:22px;height:22px;object-fit:contain;filter:grayscale(1) brightness(1.8);opacity:.5;transition:filter .2s ease,opacity .2s ease}
.id-platform-item:hover .id-platform-logo img{filter:none;opacity:1}
.id-platform-info{display:flex;flex-direction:column;gap:.2rem}
.id-platform-name{font-family:var(--fx-font-display);font-size:.92rem;font-weight:700;color:var(--fx-offwhite);letter-spacing:-.02em;transition:color .2s ease}
.id-platform-item:hover .id-platform-name{color:var(--fx-accent)}
.id-platform-cert{font-family:var(--fx-font-mono);font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fx-muted)}

/* ============================================================
   STATS BAND
   ============================================================ */
.id-stats{background:var(--fx-black);border-top:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border)}
.id-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1400px;margin:0 auto}
.id-stat-block{padding:4.5rem 3rem;border-right:1px solid var(--fx-border);position:relative}
.id-stat-block:last-child{border-right:none}
.id-stat-block::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--fx-accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--fx-ease)}
.id-stats.is-visible .id-stat-block::before{transform:scaleX(1)}
.id-stats.is-visible .id-stat-block:nth-child(2)::before{transition-delay:.15s}
.id-stats.is-visible .id-stat-block:nth-child(3)::before{transition-delay:.3s}
.id-stats.is-visible .id-stat-block:nth-child(4)::before{transition-delay:.45s}
.id-big-num{font-family:var(--fx-font-display);font-size:clamp(2.8rem,4.5vw,4.2rem);font-weight:700;color:var(--fx-white);letter-spacing:-.05em;line-height:1;display:block;margin-bottom:.65rem}
.id-big-num .accent{color:var(--fx-accent)}
.id-stat-text{font-size:.85rem;color:var(--fx-muted);line-height:1.5;max-width:180px}

/* ============================================================
   CASE STUDIES / WORK
   ============================================================ */
.id-work{background:var(--fx-surface);padding:7rem 0}
.id-work-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.id-work-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem}
.id-work-link-all{font-family:var(--fx-font-body);font-size:.82rem;font-weight:600;color:var(--fx-muted);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:color .2s ease;white-space:nowrap}
.id-work-link-all:hover{color:var(--fx-accent)}
.id-work-link-all::after{content:'→';transition:transform .2s ease}
.id-work-link-all:hover::after{transform:translateX(4px)}
.id-work-grid{display:grid;grid-template-columns:3fr 2fr;gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.id-work-card{background:var(--fx-surface2);padding:3rem;position:relative;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;min-height:360px;overflow:hidden;transition:background .3s ease}
.id-work-card:hover{background:var(--fx-surface3,#171717)}
.id-work-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--fx-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--fx-ease)}
.id-work-card:hover::before{transform:scaleX(1)}
.id-work-tag{font-family:var(--fx-font-mono);font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--fx-accent);margin-bottom:1rem;display:block}
.id-work-title{font-family:var(--fx-font-display);font-size:clamp(1.4rem,2.5vw,2.2rem);font-weight:700;color:var(--fx-white);line-height:1.05;letter-spacing:-.03em;margin-bottom:1rem}
.id-work-result{display:flex;align-items:flex-end;gap:.75rem}
.id-work-result-num{font-family:var(--fx-font-display);font-size:2.2rem;font-weight:700;color:var(--fx-accent);letter-spacing:-.05em;line-height:1}
.id-work-result-text{font-size:.8rem;color:var(--fx-muted);line-height:1.4;max-width:120px}
.id-work-arrow{position:absolute;top:2.5rem;right:2.5rem;width:38px;height:38px;border:1px solid var(--fx-border2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--fx-muted);font-size:1rem;transition:border-color .2s ease,color .2s ease,transform .3s var(--fx-ease)}
.id-work-card:hover .id-work-arrow{border-color:var(--fx-accent);color:var(--fx-accent);transform:translate(4px,-4px)}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.id-testimonials{background:var(--fx-black);padding:7rem 0;border-top:1px solid var(--fx-border)}
.id-testimonials-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.id-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.id-testimonial-card{background:var(--fx-surface);padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem;margin:0;position:relative;transition:background .2s ease}
.id-testimonial-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--fx-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--fx-ease)}
.id-testimonial-card:hover{background:var(--fx-surface2)}
.id-testimonial-card:hover::before{transform:scaleX(1)}
.id-quote-mark{font-family:var(--fx-font-display);font-size:4rem;line-height:1;color:var(--fx-accent);opacity:.4;font-weight:700}
.id-testimonial-text{font-family:var(--fx-font-body);font-size:.95rem;line-height:1.7;color:var(--fx-offwhite);font-style:normal;flex:1}
.id-testimonial-author{display:flex;align-items:center;gap:.85rem;padding-top:1.5rem;border-top:1px solid var(--fx-border)}
.id-author-avatar{width:40px;height:40px;border-radius:50%;background:var(--fx-accent);color:var(--fx-black);font-family:var(--fx-font-display);font-size:.78rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.id-author-name{font-family:var(--fx-font-display);font-size:.88rem;font-weight:700;color:var(--fx-white);display:block;font-style:normal;letter-spacing:-.01em}
.id-author-role{font-family:var(--fx-font-mono);font-size:.65rem;color:var(--fx-muted);letter-spacing:.05em;display:block}

/* ============================================================
   INDUSTRIES
   ============================================================ */
.id-industries{background:var(--fx-surface);padding:5rem 0;border-top:1px solid var(--fx-border)}
.id-industries-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.id-industries-header{margin-bottom:3rem}
.id-industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.id-industry-item{background:var(--fx-surface);padding:2.25rem;transition:background .2s ease;position:relative}
.id-industry-item::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--fx-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--fx-ease)}
.id-industry-item:hover{background:var(--fx-surface2)}
.id-industry-item:hover::after{transform:scaleX(1)}
.id-industry-icon{width:40px;height:40px;border:1px solid var(--fx-border2);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:border-color .2s ease}
.id-industry-item:hover .id-industry-icon{border-color:rgba(255,59,0,.4)}
.id-industry-icon svg{width:18px;height:18px;color:var(--fx-muted);stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:color .2s ease}
.id-industry-item:hover .id-industry-icon svg{color:var(--fx-accent)}
.id-industry-name{font-family:var(--fx-font-display);font-size:1rem;font-weight:700;color:var(--fx-white);margin-bottom:.5rem;letter-spacing:-.02em;display:block}
.id-industry-desc{font-size:.85rem;color:var(--fx-muted);line-height:1.65}

/* ============================================================
   PROCESS
   ============================================================ */
.id-process{background:var(--fx-black);padding:7rem 0}
.id-process-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.id-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden;margin-top:3.5rem}
.id-process-step{background:var(--fx-surface);padding:2.5rem;position:relative;transition:background .3s ease}
.id-process-step:hover{background:var(--fx-surface2)}
.id-process-step::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--fx-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--fx-ease)}
.id-process-step:hover::after{transform:scaleX(1)}
.id-step-num{font-family:var(--fx-font-display);font-size:3.5rem;font-weight:700;line-height:1;color:var(--fx-white);opacity:.07;display:block;margin-bottom:1.25rem;letter-spacing:-.05em;transition:opacity .3s ease}
.id-process-step:hover .id-step-num{opacity:.15}
.id-step-title{font-family:var(--fx-font-display);font-size:1.05rem;font-weight:700;color:var(--fx-white);margin-bottom:.6rem;letter-spacing:-.02em}
.id-step-desc{font-size:.85rem;color:var(--fx-muted);line-height:1.65}

/* ============================================================
   PARTNER BADGES
   ============================================================ */
.id-partners{background:var(--fx-black);padding:4rem 0;border-top:1px solid var(--fx-border)}
.id-partners-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.id-partners-grid{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:2rem}
.id-partner-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem 1.1rem;border:1px solid var(--fx-border2);border-radius:4px;font-family:var(--fx-font-body);font-size:.78rem;font-weight:600;color:var(--fx-muted);text-decoration:none;transition:border-color .2s ease,color .2s ease}
.id-partner-badge img{width:15px;height:15px;object-fit:contain;filter:grayscale(1) brightness(2);opacity:.45}
.id-partner-badge:hover{border-color:var(--fx-accent);color:var(--fx-accent)}

/* ============================================================
   CTA SECTION
   ============================================================ */
.id-cta{background:var(--fx-surface);padding:8rem 0;position:relative;overflow:hidden;border-top:1px solid var(--fx-border)}
.id-cta::before{content:'';position:absolute;bottom:-60%;left:50%;transform:translateX(-50%);width:100vw;height:100vw;background:radial-gradient(circle,rgba(255,59,0,.055) 0%,transparent 55%);pointer-events:none}
.id-cta-inner{max-width:860px;margin:0 auto;padding:0 2.25rem;text-align:center;position:relative;z-index:1}
.id-cta-headline{font-family:var(--fx-font-display)!important;font-size:clamp(2.8rem,6vw,5.5rem)!important;font-weight:700!important;line-height:.95!important;letter-spacing:-.04em!important;color:var(--fx-white)!important;margin-bottom:1.5rem!important}
.id-cta-headline .accent-line{color:var(--fx-accent)}
.id-cta-sub{font-size:1.05rem!important;color:var(--fx-muted)!important;line-height:1.7!important;max-width:440px;margin:0 auto 2.75rem!important}
.id-cta-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}


/* ============================================================
   NX-HEADER — New premium header
   ============================================================ */
.nx-header{position:sticky;top:0;z-index:500;background:rgba(3,3,3,.88);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid var(--fx-border);transition:background .4s ease}
.nx-header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 2.25rem;height:60px;max-width:1400px;margin:0 auto;gap:2rem}
.nx-logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0}
.nx-logo-mark{color:var(--fx-offwhite);flex-shrink:0;width:22px;height:22px}
.nx-logo-text{font-family:var(--fx-font-display);font-size:1rem;font-weight:700;letter-spacing:.06em;color:var(--fx-white)}
.nx-logo-dot{color:var(--fx-accent)}
.nx-nav{display:flex;align-items:center;gap:.25rem}
.nx-nav-item{font-family:var(--fx-font-body);font-size:.82rem;font-weight:500;color:var(--fx-muted);text-decoration:none;padding:.4rem .8rem;border-radius:4px;background:none;border:none;cursor:none;display:inline-flex;align-items:center;gap:.3rem;transition:color .2s ease,background .2s ease;letter-spacing:.01em;position:relative}
.nx-nav-item::after{content:'';position:absolute;bottom:-2px;left:.8rem;right:.8rem;height:1px;background:var(--fx-accent);transform:scaleX(0);transition:transform .25s var(--fx-ease)}
.nx-nav-item:hover{color:var(--fx-offwhite)}
.nx-nav-item:hover::after{transform:scaleX(1)}
.nx-header-end{display:flex;align-items:center;gap:.85rem;flex-shrink:0}
.nx-header-cta{font-family:var(--fx-font-display);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--fx-accent);color:var(--fx-black)!important;padding:.55rem 1.1rem;border-radius:3px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}
.nx-header-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--fx-accent-glow)}
.nx-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:1px solid var(--fx-border2);border-radius:4px;padding:.5rem;cursor:pointer;width:36px;height:36px;align-items:center;justify-content:center}
.nx-ham-bar{display:block;width:16px;height:1.5px;background:var(--fx-offwhite);border-radius:1px;transition:transform .25s ease,opacity .25s ease}
.nx-hamburger.is-open .nx-ham-bar:first-child{transform:rotate(45deg) translate(3px,3px)}
.nx-hamburger.is-open .nx-ham-bar:last-child{transform:rotate(-45deg) translate(3px,-3px)}
.nx-mobile-overlay{position:fixed;inset:60px 0 0 0;background:rgba(3,3,3,.98);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;z-index:499}
.nx-mobile-overlay.is-open{opacity:1;visibility:visible}
.nx-mobile-nav{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;width:100%}
.nx-mobile-link{font-family:var(--fx-font-display);font-size:2.5rem;font-weight:700;color:var(--fx-muted);text-decoration:none;letter-spacing:-.03em;line-height:1.2;transition:color .2s ease}
.nx-mobile-link:hover{color:var(--fx-white)}
.nx-mobile-cta{font-family:var(--fx-font-display);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fx-accent)!important;text-decoration:none;margin-top:1.5rem;border:1px solid rgba(255,59,0,.35);padding:.7rem 2rem;border-radius:3px;transition:background .2s ease}
.nx-mobile-cta:hover{background:rgba(255,59,0,.08)}
.nx-tel-link{display:inline-flex;align-items:center;gap:.4rem}
.nx-mobile-section{width:100%;margin-bottom:.75rem}
.nx-mobile-section-label{font-family:var(--fx-font-mono);font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--fx-muted);opacity:.5;margin-bottom:.35rem;padding-bottom:.35rem;border-bottom:1px solid var(--fx-border);width:100%;text-align:center;display:block}
.nx-mobile-link.nx-ml-sm{font-size:1.1rem;color:var(--fx-muted)}
.nx-mobile-sep{width:100%;height:1px;background:var(--fx-border);margin:.5rem 0}
.wp-block-group.nx-header{margin-block-start:0}

/* ============================================================
   NX-HERO — Orbital animation hero
   ============================================================ */
.nx-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;background:var(--fx-black);overflow:hidden}
.nx-hero-bg{position:absolute;inset:0;pointer-events:none}
.nx-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,59,0,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,59,0,.022) 1px,transparent 1px);background-size:72px 72px}
.nx-scanline-sweep{position:absolute;inset:0;overflow:hidden}
.nx-scanline-sweep::after{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(255,59,0,.5) 20%,rgba(255,59,0,.8) 50%,rgba(255,59,0,.5) 80%,transparent 100%);animation:nxScanSweep 7s linear infinite}
@keyframes nxScanSweep{0%{top:-2px;opacity:0}3%{opacity:1}97%{opacity:1}100%{top:100%;opacity:0}}
.nx-hero-inner{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:6rem 2.25rem 4rem;width:100%;display:grid;grid-template-columns:1fr 480px;gap:5rem;align-items:center}
.nx-hero-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--fx-font-mono);font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fx-accent);margin-bottom:1.75rem}
.nx-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--fx-accent);animation:eyebrowPulse 2s ease-in-out infinite;flex-shrink:0}
@keyframes eyebrowPulse{0%,100%{opacity:1}50%{opacity:.4}}
.nx-headline-wrap{position:relative;height:22rem;margin-bottom:1.75rem}
.nx-headline-slide{position:absolute;top:0;left:0;width:100%;opacity:0;transform:translateY(24px);transition:opacity .65s var(--fx-ease),transform .65s var(--fx-ease);pointer-events:none}
.nx-headline-slide.nx-slide-active{opacity:1;transform:translateY(0);pointer-events:auto}
.nx-headline-slide.nx-slide-exit{opacity:0;transform:translateY(-24px);transition-duration:.5s}
.nx-h1{font-family:var(--fx-font-display)!important;font-size:clamp(3.2rem,6.5vw,6.8rem)!important;font-weight:700!important;line-height:.9!important;letter-spacing:-.04em!important;display:flex;flex-direction:column;gap:.05em;margin:0!important}
.nx-h1-l1,.nx-h1-l2{color:var(--fx-white);display:block}
.nx-h1-l3{color:var(--fx-accent);display:block}
.nx-hero-sub{font-family:var(--fx-font-body);font-size:1.05rem;line-height:1.7;color:var(--fx-muted);max-width:480px;margin-bottom:2rem}
.nx-hero-ctas{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-bottom:3rem}
.nx-btn-primary{font-family:var(--fx-font-display);font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;background:var(--fx-accent);color:var(--fx-black)!important;padding:.9rem 1.75rem;border-radius:3px;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}
.nx-btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 40px var(--fx-accent-glow)}
.nx-btn-ghost{font-family:var(--fx-font-body);font-size:.88rem;font-weight:500;color:var(--fx-muted)!important;background:transparent;border:1px solid var(--fx-border2);padding:.85rem 1.5rem;border-radius:3px;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:border-color .2s ease,color .2s ease;white-space:nowrap}
.nx-btn-ghost:hover{border-color:var(--fx-accent);color:var(--fx-accent)!important}
.nx-hero-stats{display:flex;align-items:center;gap:0;padding-top:2rem;border-top:1px solid var(--fx-border)}
.nx-hstat{display:flex;flex-direction:column;gap:.25rem;padding-right:2rem}
.nx-hstat-num{font-family:var(--fx-font-display);font-size:1.6rem;font-weight:700;color:var(--fx-white);letter-spacing:-.04em;line-height:1}
.nx-hstat-label{font-family:var(--fx-font-mono);font-size:.58rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-muted)}
.nx-hstat-sep{width:1px;height:36px;background:var(--fx-border2);margin-right:2rem;flex-shrink:0}

/* ── ORBITAL SYSTEM ── */
.nx-orbital-wrap{position:relative;width:480px;height:480px;flex-shrink:0}
.nx-orbit-guide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
.nx-og-1{width:200px;height:200px;border:1px dashed rgba(255,59,0,.22);animation:nxOgPulse 4s ease-in-out infinite}
.nx-og-2{width:310px;height:310px;border:1px dashed rgba(255,59,0,.14);animation:nxOgPulse 4s ease-in-out 1.3s infinite}
.nx-og-3{width:420px;height:420px;border:1px dashed rgba(255,59,0,.08);animation:nxOgPulse 4s ease-in-out 2.6s infinite}
@keyframes nxOgPulse{0%,100%{opacity:.7}50%{opacity:1}}
.nx-orbital-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;background:rgba(255,59,0,.07);border:1px solid rgba(255,59,0,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10}
.nx-orbital-core svg{color:var(--fx-offwhite)}
.nx-core-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;border:1px solid rgba(255,59,0,.5);border-radius:50%;pointer-events:none;animation:nxCorePulse 2.5s ease-out infinite}
.nx-cp-2{animation-delay:1.25s}
@keyframes nxCorePulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.7}100%{transform:translate(-50%,-50%) scale(3.2);opacity:0}}
.nx-orbit-item{position:absolute;top:50%;left:50%;width:44px;height:44px;background:var(--fx-surface2);border:1px solid var(--fx-border2);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:5;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease;cursor:default}
.nx-orbit-item:hover{border-color:var(--fx-accent);background:rgba(255,59,0,.1);box-shadow:0 0 16px rgba(255,59,0,.3),0 0 32px rgba(255,59,0,.1)}
.nx-orbit-item img{width:20px;height:20px;object-fit:contain;filter:grayscale(1) brightness(1.8);opacity:.55;pointer-events:none;transition:filter .3s ease,opacity .3s ease}
.nx-orbit-item:hover img{filter:none;opacity:1}
.nx-orbit-label{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--fx-surface3,#171717);border:1px solid var(--fx-border2);border-radius:3px;padding:.25rem .55rem;font-family:var(--fx-font-mono);font-size:.6rem;font-weight:500;letter-spacing:.08em;color:var(--fx-offwhite);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}
.nx-orbit-item:hover .nx-orbit-label{opacity:1}
@keyframes nxOrbit-270-r100{from{transform:rotate(270deg) translateY(-100px) rotate(-270deg) translate(-50%,-50%)}to{transform:rotate(630deg) translateY(-100px) rotate(-630deg) translate(-50%,-50%)}}
@keyframes nxOrbit-90-r100{from{transform:rotate(90deg) translateY(-100px) rotate(-90deg) translate(-50%,-50%)}to{transform:rotate(450deg) translateY(-100px) rotate(-450deg) translate(-50%,-50%)}}
@keyframes nxOrbit-ccw-30-r155{from{transform:rotate(30deg) translateY(-155px) rotate(-30deg) translate(-50%,-50%)}to{transform:rotate(-330deg) translateY(-155px) rotate(330deg) translate(-50%,-50%)}}
@keyframes nxOrbit-ccw-150-r155{from{transform:rotate(150deg) translateY(-155px) rotate(-150deg) translate(-50%,-50%)}to{transform:rotate(-210deg) translateY(-155px) rotate(210deg) translate(-50%,-50%)}}
@keyframes nxOrbit-ccw-270-r155{from{transform:rotate(270deg) translateY(-155px) rotate(-270deg) translate(-50%,-50%)}to{transform:rotate(-90deg) translateY(-155px) rotate(90deg) translate(-50%,-50%)}}
@keyframes nxOrbit-0-r210{from{transform:rotate(0deg) translateY(-210px) rotate(0deg) translate(-50%,-50%)}to{transform:rotate(360deg) translateY(-210px) rotate(-360deg) translate(-50%,-50%)}}
@keyframes nxOrbit-90-r210{from{transform:rotate(90deg) translateY(-210px) rotate(-90deg) translate(-50%,-50%)}to{transform:rotate(450deg) translateY(-210px) rotate(-450deg) translate(-50%,-50%)}}
@keyframes nxOrbit-180-r210{from{transform:rotate(180deg) translateY(-210px) rotate(-180deg) translate(-50%,-50%)}to{transform:rotate(540deg) translateY(-210px) rotate(-540deg) translate(-50%,-50%)}}
@keyframes nxOrbit-270-r210{from{transform:rotate(270deg) translateY(-210px) rotate(-270deg) translate(-50%,-50%)}to{transform:rotate(630deg) translateY(-210px) rotate(-630deg) translate(-50%,-50%)}}
.nx-r1-shopify{animation:nxOrbit-270-r100 12s linear infinite}
.nx-r1-woo{animation:nxOrbit-90-r100 12s linear infinite}
.nx-r2-odoo{animation:nxOrbit-ccw-30-r155 22s linear infinite}
.nx-r2-hubspot{animation:nxOrbit-ccw-150-r155 22s linear infinite}
.nx-r2-n8n{animation:nxOrbit-ccw-270-r155 22s linear infinite}
.nx-r3-react{animation:nxOrbit-0-r210 36s linear infinite}
.nx-r3-nextjs{animation:nxOrbit-90-r210 36s linear infinite}
.nx-r3-laravel{animation:nxOrbit-180-r210 36s linear infinite}
.nx-r3-aws{animation:nxOrbit-270-r210 36s linear infinite}
.nx-orbit-metric{position:absolute;background:rgba(3,3,3,.85);border:1px solid rgba(255,59,0,.3);border-radius:4px;padding:.45rem .85rem;display:flex;flex-direction:column;gap:.15rem;pointer-events:none;z-index:20}
.nx-om-val{font-family:var(--fx-font-display);font-size:1rem;font-weight:700;color:var(--fx-accent);letter-spacing:-.04em;line-height:1}
.nx-om-key{font-family:var(--fx-font-mono);font-size:.55rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-muted)}
.nx-om-1{top:12%;left:-8%;animation:nxMetricFloat 3.5s ease-in-out infinite}
.nx-om-2{bottom:18%;right:-6%;animation:nxMetricFloat 3.5s ease-in-out 1.2s infinite}
.nx-om-3{top:68%;left:-6%;animation:nxMetricFloat 3.5s ease-in-out 2.4s infinite}
@keyframes nxMetricFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.nx-scroll-hint{position:absolute;bottom:2rem;left:2.25rem;display:flex;align-items:center;gap:.75rem;pointer-events:none}
.nx-scroll-text{font-family:var(--fx-font-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fx-muted);opacity:.5;writing-mode:vertical-lr}
.nx-scroll-bar{width:1px;height:48px;background:linear-gradient(to bottom,var(--fx-accent),transparent);animation:nxScrollPulse 2s ease-in-out infinite}
@keyframes nxScrollPulse{0%,100%{transform:scaleY(1);transform-origin:top}50%{transform:scaleY(.5)}}

/* ── PARTNER STRIP (Marquee) ── */
.id-partner-strip{background:var(--fx-surface);border-top:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border);overflow:hidden}
.id-strip-label{font-family:var(--fx-font-mono);font-size:.6rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fx-muted);text-align:center;padding:1.25rem 0 0;opacity:.55;display:block}
.id-strip-track{overflow:hidden;padding:1rem 0 1.25rem}
.id-strip-inner{display:inline-flex;align-items:center;animation:tsStripScroll 40s linear infinite;will-change:transform}
.id-strip-inner:hover{animation-play-state:paused}
@keyframes tsStripScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.id-strip-item{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem 2rem;border-right:1px solid var(--fx-border);font-family:var(--fx-font-body);font-size:.82rem;font-weight:600;color:var(--fx-muted);text-decoration:none;white-space:nowrap;transition:color .2s ease}
.id-strip-item:hover{color:var(--fx-accent)}
.id-strip-item img{width:18px;height:18px;object-fit:contain;filter:grayscale(1) brightness(1.8);opacity:.4;transition:filter .2s ease,opacity .2s ease}
.id-strip-item:hover img{filter:none;opacity:.85}


/* ============================================================
   NX MEGA MENU v2
   ============================================================ */
.nx-mega-trigger{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;position:relative}
.nx-chevron{transition:transform .25s var(--fx-ease);flex-shrink:0;opacity:.6}
.nx-mega-trigger[aria-expanded="true"] .nx-chevron{transform:rotate(180deg);opacity:1}
.nx-mega-trigger[aria-expanded="true"]{color:var(--fx-offwhite)!important}
.nx-mega-menu{position:absolute;top:100%;left:0;right:0;background:rgba(5,5,5,.97);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border-bottom:1px solid var(--fx-border);box-shadow:0 0 0 1px rgba(255,255,255,.04),0 48px 120px rgba(0,0,0,.7);transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,transform .3s var(--fx-ease),visibility .3s;z-index:450;overflow:hidden}
.nx-mega-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.nx-mega-strip{background:rgba(255,59,0,.07);border-bottom:1px solid rgba(255,59,0,.12);padding:.6rem 0}
.nx-mega-strip-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem;display:flex;align-items:center;gap:.75rem}
.nx-strip-dot{width:5px;height:5px;border-radius:50%;background:var(--fx-accent);flex-shrink:0;animation:eyebrowPulse 1.8s ease-in-out infinite}
.nx-strip-text{font-family:var(--fx-font-mono);font-size:.65rem;font-weight:500;letter-spacing:.08em;color:var(--fx-muted);flex:1}
.nx-strip-cta{font-family:var(--fx-font-mono);font-size:.65rem;font-weight:700;letter-spacing:.1em;color:var(--fx-accent);text-decoration:none;white-space:nowrap;transition:opacity .2s ease}
.nx-strip-cta:hover{opacity:.7}
.nx-mega-body{display:grid;grid-template-columns:1fr 280px;max-width:1400px;margin:0 auto;padding:2rem 2.25rem;gap:0}
.nx-mega-services{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-right:1px solid var(--fx-border);padding-right:2rem}
.nx-mc{padding:0 1.25rem;display:flex;flex-direction:column;border-right:1px solid var(--fx-border)}
.nx-mc:first-child{padding-left:0}
.nx-mc:last-child{border-right:none}
.nx-mc-head{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--fx-border)}
.nx-mc-icon{width:28px;height:28px;border:1px solid var(--fx-border2);border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:border-color .2s ease,background .2s ease}
.nx-mc:hover .nx-mc-icon{border-color:rgba(255,59,0,.35);background:rgba(255,59,0,.05)}
.nx-mc-icon svg{width:13px;height:13px;color:var(--fx-muted)}
.nx-mc:hover .nx-mc-icon svg{color:var(--fx-accent)}
.nx-mc-label{display:block;font-family:var(--fx-font-mono);font-size:.58rem;font-weight:500;letter-spacing:.15em;color:var(--fx-muted);line-height:1;margin-bottom:.2rem}
.nx-mc-title{font-family:var(--fx-font-display);font-size:.82rem;font-weight:700;color:var(--fx-offwhite);letter-spacing:-.02em;line-height:1.1}
.nx-ml{display:flex;align-items:center;gap:.6rem;padding:.52rem 4px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.035);position:relative;transition:background .15s ease;border-radius:3px;margin:0 -4px}
.nx-ml:last-of-type{border-bottom:none}
.nx-ml::before{content:'';position:absolute;left:0;top:15%;bottom:15%;width:2px;background:var(--fx-accent);border-radius:1px;transform:scaleY(0);transition:transform .2s var(--fx-ease)}
.nx-ml:hover{background:rgba(255,255,255,.03)}
.nx-ml:hover::before{transform:scaleY(1)}
.nx-ml-icon{width:16px;height:16px;object-fit:contain;flex-shrink:0;filter:grayscale(1) brightness(1.8);opacity:.4;transition:filter .2s ease,opacity .2s ease;border-radius:2px}
.nx-ml:hover .nx-ml-icon{filter:none;opacity:.9}
.nx-ml-icon-text{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:rgba(255,59,0,.1);border-radius:2px;font-family:var(--fx-font-mono);font-size:.45rem;font-weight:700;letter-spacing:.05em;color:var(--fx-accent);flex-shrink:0;opacity:.7;transition:opacity .2s ease}
.nx-ml:hover .nx-ml-icon-text{opacity:1}
.nx-ml-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.nx-ml-name{font-family:var(--fx-font-body);font-size:.8rem;font-weight:600;color:var(--fx-offwhite);transition:color .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.nx-ml:hover .nx-ml-name{color:var(--fx-white)}
.nx-ml-sub{font-size:.68rem;color:var(--fx-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.nx-ml-arrow{font-size:.7rem;color:var(--fx-muted);opacity:0;transform:translate(-3px,3px);transition:opacity .2s ease,transform .2s var(--fx-ease),color .2s ease;flex-shrink:0}
.nx-ml:hover .nx-ml-arrow{opacity:1;transform:translate(0,0);color:var(--fx-accent)}
.nx-mc-footer{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;padding-top:.85rem;font-family:var(--fx-font-mono);font-size:.62rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fx-muted);text-decoration:none;transition:color .2s ease;border-top:1px solid var(--fx-border);margin-top:auto}
.nx-mc-footer:hover{color:var(--fx-accent)}
.nx-mega-panel{padding-left:2rem;display:flex;flex-direction:column;gap:1rem}
.nx-panel-case{background:var(--fx-surface2);border:1px solid var(--fx-border2);border-radius:8px;padding:1.25rem;position:relative;overflow:hidden;flex:1}
.nx-panel-case::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--fx-accent),rgba(255,59,0,.2))}
.nx-panel-tag{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fx-font-mono);font-size:.58rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-muted);margin-bottom:.75rem}
.nx-panel-tag-dot{width:4px;height:4px;border-radius:50%;background:var(--fx-accent);animation:eyebrowPulse 2s ease-in-out infinite}
.nx-panel-metric{display:flex;align-items:baseline;gap:.15rem;margin-bottom:.6rem;line-height:1}
.nx-panel-num{font-family:var(--fx-font-display);font-size:2.8rem;font-weight:700;color:var(--fx-accent);letter-spacing:-.06em;line-height:1}
.nx-panel-pct{font-size:1.6rem;color:var(--fx-accent);opacity:.8}
.nx-panel-metric-label{font-family:var(--fx-font-body);font-size:.75rem;color:var(--fx-muted);max-width:120px;line-height:1.3;display:block;margin-bottom:.7rem}
.nx-panel-desc{font-size:.77rem;color:var(--fx-muted);line-height:1.55;margin-bottom:.85rem}
.nx-panel-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:1rem}
.nx-panel-tags span{font-family:var(--fx-font-mono);font-size:.58rem;font-weight:500;letter-spacing:.08em;color:var(--fx-muted);background:var(--fx-surface3,#171717);border:1px solid var(--fx-border);border-radius:2px;padding:.15rem .45rem}
.nx-panel-cta{font-family:var(--fx-font-display);font-size:.75rem;font-weight:700;color:var(--fx-accent);text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;letter-spacing:.01em;transition:gap .2s ease}
.nx-panel-cta:hover{gap:.6rem;color:var(--fx-white)}
.nx-panel-stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--fx-surface2);border:1px solid var(--fx-border2);border-radius:6px;overflow:hidden}
.nx-panel-stat{padding:.85rem .7rem;text-align:center;border-right:1px solid var(--fx-border);display:flex;flex-direction:column;gap:.15rem}
.nx-panel-stat:last-child{border-right:none}
.nx-ps-num{font-family:var(--fx-font-display);font-size:1rem;font-weight:700;color:var(--fx-white);letter-spacing:-.04em;line-height:1}
.nx-ps-label{font-family:var(--fx-font-mono);font-size:.52rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--fx-muted)}
.nx-panel-audit{background:rgba(255,59,0,.06);border:1px solid rgba(255,59,0,.2);border-radius:6px;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nx-audit-label{font-size:.75rem;color:var(--fx-muted);font-family:var(--fx-font-body);line-height:1.3}
.nx-audit-btn{font-family:var(--fx-font-display);font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--fx-black)!important;background:var(--fx-accent);padding:.5rem .85rem;border-radius:3px;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0}
.nx-audit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px var(--fx-accent-glow)}
.nx-mega-platforms{border-top:1px solid var(--fx-border);padding:.9rem 2.25rem;display:flex;align-items:center;background:rgba(255,255,255,.015);overflow-x:auto}
.nx-mp-label{font-family:var(--fx-font-mono);font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fx-muted);opacity:.5;margin-right:1.25rem;white-space:nowrap;flex-shrink:0}
.nx-mp-item{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fx-font-mono);font-size:.65rem;font-weight:500;letter-spacing:.08em;color:var(--fx-muted);text-decoration:none;padding:.35rem .85rem;border-right:1px solid var(--fx-border);transition:color .2s ease;white-space:nowrap}
.nx-mp-item:hover{color:var(--fx-accent)}
.nx-mp-item img{filter:grayscale(1) brightness(1.8);opacity:.35;transition:filter .2s ease,opacity .2s ease}
.nx-mp-item:hover img{filter:none;opacity:.85}
.nx-mp-sep{padding:0 .75rem;color:var(--fx-border2);font-size:.8rem}
.nx-mp-all{font-family:var(--fx-font-mono);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fx-accent);text-decoration:none;padding-left:.75rem;white-space:nowrap;transition:opacity .2s ease}
.nx-mp-all:hover{opacity:.7}

/* ============================================================
   CONTACT & ABOUT PAGE CSS
   ============================================================ */
.pg-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--fx-font-mono);font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fx-accent);margin-bottom:1.5rem}
.pg-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--fx-accent);animation:eyebrowPulse 2s ease-in-out infinite;flex-shrink:0}
.pg-hero-title{font-family:var(--fx-font-display)!important;font-size:clamp(2.8rem,5.5vw,5.5rem)!important;font-weight:700!important;line-height:.95!important;letter-spacing:-.04em!important;color:var(--fx-white)!important;margin-bottom:1.5rem!important}
.pg-title-accent{color:var(--fx-accent);display:block}
.pg-hero-sub{font-size:1.05rem!important;color:var(--fx-muted)!important;line-height:1.7!important;max-width:520px;margin-bottom:2rem!important}
.pg-section-label{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--fx-font-mono);font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fx-accent);margin-bottom:.85rem}
.pg-section-label::before{content:'';display:inline-block;width:18px;height:1px;background:var(--fx-accent)}
.pg-section-title{font-family:var(--fx-font-display);font-size:clamp(1.9rem,3.5vw,3rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--fx-white);margin-bottom:1rem}
.pg-hero-bg{position:absolute;inset:0;pointer-events:none}
.pg-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,59,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,59,0,.025) 1px,transparent 1px);background-size:72px 72px}
.pg-contact-hero{position:relative;background:var(--fx-black);overflow:hidden;padding:5rem 0 4rem}
.pg-hero-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center;position:relative;z-index:1}
.pg-hero-trust{display:flex;flex-direction:column;gap:.55rem}
.pg-trust-item{display:flex;align-items:center;gap:.55rem;font-family:var(--fx-font-body);font-size:.85rem;color:var(--fx-muted)}
.pg-trust-check{color:var(--fx-accent);font-weight:700;font-size:.9rem}
.pg-hero-visual{position:relative;flex-shrink:0}
.pg-lottie-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,59,0,.06) 0%,transparent 70%);pointer-events:none}
.pg-contact-split{background:var(--fx-black);border-top:1px solid var(--fx-border)}
.pg-contact-split-inner{max-width:1400px;margin:0 auto;padding:5rem 2.25rem;display:grid;grid-template-columns:1fr 420px;gap:5rem;align-items:flex-start}
.pg-form-side{display:flex;flex-direction:column;gap:2.5rem}
.pg-form-header{display:flex;flex-direction:column}
.pg-contact-form{display:flex;flex-direction:column;gap:1.25rem}
.pg-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pg-field-full{grid-column:1/-1}
.pg-field-group{display:flex;flex-direction:column;gap:.45rem}
.pg-field-label{font-family:var(--fx-font-mono);font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-muted)}
.pg-field-label span{color:var(--fx-accent)}
.pg-field-input{background:var(--fx-surface2);border:1px solid var(--fx-border2);border-radius:4px;padding:.8rem 1rem;font-family:var(--fx-font-body);font-size:.9rem;color:var(--fx-offwhite);outline:none;transition:border-color .2s ease,box-shadow .2s ease;width:100%;-webkit-appearance:none;appearance:none}
.pg-field-input::placeholder{color:var(--fx-muted2)}
.pg-field-input:focus{border-color:var(--fx-accent);box-shadow:0 0 0 2px rgba(255,59,0,.12)}
.pg-field-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235C5C5C' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}
.pg-field-select option{background:var(--fx-surface2)}
.pg-field-textarea{resize:vertical;min-height:120px;line-height:1.65}
.pg-form-footer{display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem}
.pg-submit-btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--fx-font-display);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--fx-accent);color:var(--fx-black);border:none;padding:.9rem 2rem;border-radius:4px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}
.pg-submit-btn:hover{transform:translateY(-3px);box-shadow:0 14px 40px var(--fx-accent-glow)}
.pg-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.pg-form-disclaimer{font-size:.75rem;color:var(--fx-muted);line-height:1.5;max-width:260px}
.pg-form-success{text-align:center;padding:3rem 2rem;background:rgba(255,59,0,.05);border:1px solid rgba(255,59,0,.2);border-radius:8px}
.pg-success-icon{width:56px;height:56px;border-radius:50%;background:var(--fx-accent);color:var(--fx-black);font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
.pg-success-title{font-family:var(--fx-font-display);font-size:1.4rem;font-weight:700;color:var(--fx-white);margin-bottom:.75rem}
.pg-success-msg{font-size:.9rem;color:var(--fx-muted);line-height:1.7}
.pg-info-side{display:flex;flex-direction:column;gap:1.25rem}
.pg-info-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.pg-info-card{background:var(--fx-surface);padding:1.5rem;display:flex;align-items:flex-start;gap:.85rem;border-right:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border);transition:background .2s ease}
.pg-info-card:hover{background:var(--fx-surface2)}
.pg-info-card:nth-child(2n){border-right:none}
.pg-info-card:nth-child(3),.pg-info-card:nth-child(4){border-bottom:none}
.pg-info-icon{width:36px;height:36px;border:1px solid var(--fx-border2);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s ease}
.pg-info-card:hover .pg-info-icon{border-color:rgba(255,59,0,.35)}
.pg-info-icon svg{width:16px;height:16px;color:var(--fx-muted);transition:color .2s ease}
.pg-info-card:hover .pg-info-icon svg{color:var(--fx-accent)}
.pg-info-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.pg-info-label{font-family:var(--fx-font-mono);font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fx-muted)}
.pg-info-value{font-family:var(--fx-font-display);font-size:.88rem;font-weight:700;color:var(--fx-offwhite);text-decoration:none;letter-spacing:-.01em;word-break:break-all;transition:color .2s ease}
a.pg-info-value:hover{color:var(--fx-accent)}
.pg-info-note{font-size:.72rem;color:var(--fx-muted);opacity:.7}
.pg-social-block{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:8px;padding:1.25rem 1.5rem}
.pg-social-label{font-family:var(--fx-font-mono);font-size:.62rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--fx-muted);margin-bottom:.85rem;display:block}
.pg-social-links{display:flex;gap:.65rem;flex-wrap:wrap}
.pg-social-btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fx-font-body);font-size:.78rem;font-weight:600;color:var(--fx-muted);text-decoration:none;padding:.45rem .85rem;border:1px solid var(--fx-border2);border-radius:4px;transition:border-color .2s ease,color .2s ease}
.pg-social-btn svg{width:13px;height:13px}
.pg-social-btn:hover{border-color:var(--fx-accent);color:var(--fx-accent)}
.pg-lottie-side{display:flex;justify-content:center;padding:.5rem 0;opacity:.75}
.pg-faq{background:var(--fx-surface);border-top:1px solid var(--fx-border);padding:5rem 0}
.pg-faq-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.pg-faq-header{margin-bottom:3rem}
.pg-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.pg-faq-item{background:var(--fx-surface);padding:1.75rem;border-right:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border);transition:background .2s ease;cursor:pointer}
.pg-faq-item:hover{background:var(--fx-surface2)}
.pg-faq-item:nth-child(2n){border-right:none}
.pg-faq-item:nth-last-child(-n+2){border-bottom:none}
.pg-faq-q{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;font-family:var(--fx-font-display);font-size:.95rem;font-weight:700;color:var(--fx-offwhite);margin-bottom:.75rem;letter-spacing:-.01em;line-height:1.3}
.pg-faq-icon{width:22px;height:22px;border:1px solid var(--fx-border2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--fx-accent);flex-shrink:0;margin-top:2px;transition:transform .25s ease,background .2s ease}
.pg-faq-item.is-open .pg-faq-icon{transform:rotate(45deg);background:rgba(255,59,0,.1)}
.pg-faq-a{display:none;padding-top:.5rem}
.pg-faq-a p{font-size:.875rem;color:var(--fx-muted);line-height:1.7}
.pg-faq-item.is-open .pg-faq-a{display:block}
.pg-about-hero{position:relative;background:var(--fx-black);overflow:hidden;padding:5rem 0 4rem}
.pg-about-hero-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem;display:grid;grid-template-columns:1fr 460px;gap:4rem;align-items:center;position:relative;z-index:1}
.pg-about-stats-row{display:flex;align-items:center;gap:2.5rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--fx-border)}
.pg-astat{display:flex;flex-direction:column;gap:.2rem}
.pg-astat-num{font-family:var(--fx-font-display);font-size:2rem;font-weight:700;color:var(--fx-white);letter-spacing:-.05em;line-height:1}
.pg-astat-label{font-family:var(--fx-font-mono);font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-muted)}
.pg-mission{background:var(--fx-surface);border-top:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border);padding:5rem 0}
.pg-mission-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.pg-mission-quote{font-family:var(--fx-font-display);font-size:clamp(1.4rem,2.5vw,2.2rem);font-weight:700;line-height:1.2;letter-spacing:-.03em;color:var(--fx-white);text-align:center;max-width:900px;margin:0 auto 4rem;quotes:none;position:relative;padding:0}
.pg-mission-quote::before{content:'';display:block;width:40px;height:3px;background:var(--fx-accent);margin:0 auto 1.5rem}
.pg-mission-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.pg-pillar{background:var(--fx-surface);padding:2.25rem;position:relative;transition:background .2s ease}
.pg-pillar:hover{background:var(--fx-surface2)}
.pg-pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--fx-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--fx-ease)}
.pg-pillar:hover::before{transform:scaleX(1)}
.pg-pillar-num{font-family:var(--fx-font-display);font-size:3rem;font-weight:700;color:var(--fx-white);opacity:.06;line-height:1;margin-bottom:1rem;letter-spacing:-.05em}
.pg-pillar-title{font-family:var(--fx-font-display);font-size:1.05rem;font-weight:700;color:var(--fx-white);margin-bottom:.65rem;letter-spacing:-.02em}
.pg-pillar-desc{font-size:.875rem;color:var(--fx-muted);line-height:1.65}
.pg-timeline{background:var(--fx-black);padding:5rem 0}
.pg-timeline-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.pg-timeline-inner>.pg-section-title{margin-bottom:3.5rem}
.pg-timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.pg-tl-item{background:var(--fx-surface);padding:2rem;position:relative;transition:background .25s ease}
.pg-tl-item:hover{background:var(--fx-surface2)}
.pg-tl-current{border:1px solid rgba(255,59,0,.25)!important;background:rgba(255,59,0,.04)!important}
.pg-tl-year{font-family:var(--fx-font-display);font-size:2.8rem;font-weight:700;color:var(--fx-white);opacity:.08;letter-spacing:-.05em;line-height:1;margin-bottom:.5rem}
.pg-tl-current .pg-tl-year{opacity:.25;color:var(--fx-accent)}
.pg-tl-dot{position:absolute;top:0;left:0;right:0;height:2px;background:var(--fx-border2)}
.pg-tl-current .pg-tl-dot{background:var(--fx-accent)}
.pg-tl-title{font-family:var(--fx-font-display);font-size:1rem;font-weight:700;color:var(--fx-white);margin-bottom:.6rem;letter-spacing:-.02em}
.pg-tl-desc{font-size:.835rem;color:var(--fx-muted);line-height:1.65}
.pg-values{background:var(--fx-surface);border-top:1px solid var(--fx-border);padding:5rem 0}
.pg-values-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.pg-values-header{margin-bottom:3rem}
.pg-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.pg-value-card{background:var(--fx-surface);padding:2.25rem;display:flex;flex-direction:column;gap:.85rem;position:relative;transition:background .25s ease}
.pg-value-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--fx-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--fx-ease)}
.pg-value-card:hover{background:var(--fx-surface2)}
.pg-value-card:hover::after{transform:scaleX(1)}
.pg-value-lottie{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:rgba(255,59,0,.05);border:1px solid var(--fx-border2);border-radius:10px;overflow:hidden;margin-bottom:.25rem;transition:border-color .2s ease}
.pg-value-card:hover .pg-value-lottie{border-color:rgba(255,59,0,.3)}
.pg-value-title{font-family:var(--fx-font-display);font-size:1rem;font-weight:700;color:var(--fx-white);letter-spacing:-.02em}
.pg-value-desc{font-size:.85rem;color:var(--fx-muted);line-height:1.65}
.pg-team{background:var(--fx-black);padding:5rem 0;border-top:1px solid var(--fx-border)}
.pg-team-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.pg-team-sub{font-size:1rem;color:var(--fx-muted);line-height:1.7;max-width:500px;margin-bottom:3rem}
.pg-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden;margin-bottom:2rem}
.pg-team-card{background:var(--fx-surface);padding:2rem;display:flex;flex-direction:column;gap:.5rem;position:relative;transition:background .25s ease}
.pg-team-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--fx-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--fx-ease)}
.pg-team-card:hover{background:var(--fx-surface2)}
.pg-team-card:hover::before{transform:scaleX(1)}
.pg-team-avatar{width:52px;height:52px;border-radius:50%;background:var(--fx-accent);color:var(--fx-black);font-family:var(--fx-font-display);font-size:1rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;flex-shrink:0}
.pg-team-badge{font-family:var(--fx-font-mono);font-size:.58rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-accent);opacity:.8}
.pg-team-name{font-family:var(--fx-font-display);font-size:1.1rem;font-weight:700;color:var(--fx-white);letter-spacing:-.02em}
.pg-team-role{font-family:var(--fx-font-mono);font-size:.7rem;color:var(--fx-muted);letter-spacing:.06em}
.pg-team-bio{font-size:.8rem;color:var(--fx-muted);line-height:1.6;flex:1;margin-top:.25rem}
.pg-team-skills{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}
.pg-team-skills span{font-family:var(--fx-font-mono);font-size:.58rem;font-weight:500;letter-spacing:.08em;color:var(--fx-muted);background:var(--fx-surface3,#171717);border:1px solid var(--fx-border);border-radius:2px;padding:.15rem .45rem}
.pg-team-linkedin{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--fx-font-mono);font-size:.65rem;font-weight:500;color:var(--fx-muted);text-decoration:none;margin-top:.5rem;transition:color .2s ease}
.pg-team-linkedin svg{width:13px;height:13px}
.pg-team-linkedin:hover{color:var(--fx-accent)}
.pg-team-join{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--fx-surface);border:1px solid var(--fx-border2);border-radius:6px;flex-wrap:wrap}
.pg-join-text{font-size:.9rem;color:var(--fx-muted);flex:1}
.pg-join-btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--fx-font-display);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fx-accent);text-decoration:none;border:1px solid rgba(255,59,0,.35);padding:.6rem 1.25rem;border-radius:4px;transition:background .2s ease;white-space:nowrap}
.pg-join-btn:hover{background:rgba(255,59,0,.07)}
.pg-join-btn svg{width:13px;height:13px}
.pg-about-stats{background:var(--fx-surface);border-top:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border)}
.pg-about-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1400px;margin:0 auto}
.pg-as-block{padding:4rem 3rem;border-right:1px solid var(--fx-border);position:relative}
.pg-as-block:last-child{border-right:none}
.pg-as-block::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--fx-accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--fx-ease)}
.pg-about-stats.is-visible .pg-as-block::before{transform:scaleX(1)}
.pg-about-stats.is-visible .pg-as-block:nth-child(2)::before{transition-delay:.15s}
.pg-about-stats.is-visible .pg-as-block:nth-child(3)::before{transition-delay:.3s}
.pg-about-stats.is-visible .pg-as-block:nth-child(4)::before{transition-delay:.45s}
.pg-as-num{font-family:var(--fx-font-display);font-size:clamp(2.5rem,4vw,3.8rem);font-weight:700;color:var(--fx-white);letter-spacing:-.05em;line-height:1;display:block;margin-bottom:.65rem}
.pg-as-text{font-size:.85rem;color:var(--fx-muted);line-height:1.5;max-width:180px}
.pg-certs{background:var(--fx-black);padding:4rem 0;border-top:1px solid var(--fx-border)}
.pg-certs-inner{max-width:1400px;margin:0 auto;padding:0 2.25rem}
.pg-cert-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--fx-border);border:1px solid var(--fx-border);border-radius:8px;overflow:hidden}
.pg-cert-item{background:var(--fx-surface);padding:2rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.65rem;text-decoration:none;transition:background .2s ease;position:relative}
.pg-cert-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1.5px;background:var(--fx-accent);transform:scaleX(0);transition:transform .3s var(--fx-ease)}
.pg-cert-item:hover{background:var(--fx-surface2)}
.pg-cert-item:hover::after{transform:scaleX(1)}
.pg-cert-item img{filter:grayscale(1) brightness(1.8);opacity:.45;transition:filter .2s ease,opacity .2s ease,transform .3s var(--fx-ease)}
.pg-cert-item:hover img{filter:none;opacity:1;transform:translateY(-3px)}
.pg-cert-name{font-family:var(--fx-font-display);font-size:.82rem;font-weight:700;color:var(--fx-offwhite);text-align:center;letter-spacing:-.01em;transition:color .2s ease}
.pg-cert-item:hover .pg-cert-name{color:var(--fx-accent)}
.pg-cert-status{font-family:var(--fx-font-mono);font-size:.58rem;font-weight:500;color:var(--fx-muted);letter-spacing:.08em;text-align:center}

/* ── CSS Hero Visuals ── */
.pg-about-visual{position:relative;width:420px;height:420px;display:flex;align-items:center;justify-content:center}
.pg-av-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%}
.pg-av-r1{width:160px;height:160px;border:1px dashed rgba(255,59,0,.18);animation:pgRingPulse 3s ease-in-out infinite}
.pg-av-r2{width:270px;height:270px;border:1px dashed rgba(255,59,0,.1);animation:pgRingPulse 3s ease-in-out 1s infinite}
.pg-av-r3{width:380px;height:380px;border:1px dashed rgba(255,59,0,.05);animation:pgRingPulse 3s ease-in-out 2s infinite}
@keyframes pgRingPulse{0%,100%{opacity:.6}50%{opacity:1}}
.pg-av-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;background:rgba(255,59,0,.08);border:1px solid rgba(255,59,0,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:5;color:var(--fx-offwhite);animation:pgCorePulse 2.5s ease-out infinite}
@keyframes pgCorePulse{0%{box-shadow:0 0 0 0 rgba(255,59,0,.35)}100%{box-shadow:0 0 0 24px rgba(255,59,0,0)}}
.pg-av-stat{position:absolute;background:rgba(3,3,3,.9);border:1px solid rgba(255,59,0,.25);border-radius:6px;padding:.45rem .85rem;display:flex;flex-direction:column;gap:.1rem;z-index:10}
.pg-av-s1{top:15%;left:5%;animation:pgStatFloat 3s ease-in-out infinite}
.pg-av-s2{bottom:18%;right:3%;animation:pgStatFloat 3s ease-in-out 1.2s infinite}
.pg-av-s3{top:62%;left:2%;animation:pgStatFloat 3s ease-in-out 2.4s infinite}
@keyframes pgStatFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.pg-av-snum{font-family:var(--fx-font-display);font-size:1.1rem;font-weight:700;color:var(--fx-accent);letter-spacing:-.04em;line-height:1}
.pg-av-slabel{font-family:var(--fx-font-mono);font-size:.58rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fx-muted)}
.pg-contact-visual{position:relative;width:360px;height:320px;display:flex;align-items:center;justify-content:center}
.pg-cv-envelope{position:relative;z-index:5;animation:pgEnvFloat 3s ease-in-out infinite}
@keyframes pgEnvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.pg-cv-env-body{width:160px;height:110px;background:var(--fx-surface2);border:1px solid rgba(255,59,0,.3);border-radius:6px;position:relative;overflow:hidden}
.pg-cv-env-body::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,59,0,.05),transparent)}
.pg-cv-env-flap{position:absolute;top:0;left:0;right:0;height:55px;background:rgba(255,59,0,.08);clip-path:polygon(0 0,100% 0,50% 60%);border-bottom:1px solid rgba(255,59,0,.2)}
.pg-cv-lines{position:absolute;bottom:1.25rem;left:1.25rem;right:1.25rem;display:flex;flex-direction:column;gap:.4rem}
.pg-cv-line{height:2px;background:rgba(255,59,0,.3);border-radius:1px;animation:pgLineGrow 2s ease-in-out infinite}
.pg-cv-line-short{width:60%;animation-delay:.3s}
@keyframes pgLineGrow{0%,100%{opacity:.3}50%{opacity:.7}}
.pg-cv-dot{position:absolute;border-radius:50%;background:var(--fx-accent)}
.pg-cv-d1{width:8px;height:8px;top:20%;right:20%;animation:pgDotPulse 2s ease-in-out infinite}
.pg-cv-d2{width:5px;height:5px;bottom:25%;left:15%;animation:pgDotPulse 2s ease-in-out .7s infinite;opacity:.6}
.pg-cv-d3{width:6px;height:6px;top:60%;right:10%;animation:pgDotPulse 2s ease-in-out 1.4s infinite;opacity:.4}
@keyframes pgDotPulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.4);opacity:1}}
.pg-cv-badge{position:absolute;bottom:8%;right:5%;background:rgba(3,3,3,.92);border:1px solid rgba(255,59,0,.3);border-radius:20px;padding:.4rem .85rem;font-family:var(--fx-font-mono);font-size:.65rem;font-weight:600;color:var(--fx-accent);letter-spacing:.06em;display:flex;align-items:center;gap:.4rem;animation:pgStatFloat 3.5s ease-in-out infinite;z-index:10}
.pg-cv-badge-icon{width:16px;height:16px;border-radius:50%;background:var(--fx-accent);color:var(--fx-black);font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* ============================================================
   RESPONSIVE — ALL SECTIONS
   ============================================================ */
@media(max-width:1100px){
  .nx-hero-inner{grid-template-columns:1fr;gap:3rem;padding-top:5rem}
  .nx-orbital-wrap{width:380px;height:380px;margin:0 auto;transform:scale(.79);transform-origin:center}
  .nx-headline-wrap{height:18rem}
  .id-services-header{grid-template-columns:1fr;gap:1.5rem}
  .id-service-grid{grid-template-columns:repeat(2,1fr)}
  .id-platform-grid{grid-template-columns:repeat(2,1fr)}
  .id-stats-grid{grid-template-columns:repeat(2,1fr)}
  .id-stat-block:nth-child(2){border-right:none}
  .id-stat-block:nth-child(3),.id-stat-block:nth-child(4){border-top:1px solid var(--fx-border)}
  .id-stat-block:nth-child(4){border-right:none}
  .id-work-grid{grid-template-columns:1fr}
  .id-process-grid{grid-template-columns:repeat(2,1fr)}
  .id-industry-grid{grid-template-columns:repeat(2,1fr)}
  .id-values-grid{grid-template-columns:repeat(2,1fr)}
  .id-testimonial-grid{grid-template-columns:1fr}
  .pg-contact-split-inner{grid-template-columns:1fr}
  .pg-info-side{order:-1}
  .pg-about-hero-inner{grid-template-columns:1fr;gap:2.5rem}
  .pg-about-hero-right{display:none}
  .pg-team-grid{grid-template-columns:repeat(2,1fr)}
  .pg-values-grid{grid-template-columns:repeat(2,1fr)}
  .pg-timeline-grid{grid-template-columns:repeat(2,1fr)}
  .pg-mission-pillars{grid-template-columns:1fr}
  .pg-cert-grid{grid-template-columns:repeat(3,1fr)}
  .pg-about-stats-grid{grid-template-columns:repeat(2,1fr)}
  .pg-as-block:nth-child(2){border-right:none}
  .pg-as-block:nth-child(3),.pg-as-block:nth-child(4){border-top:1px solid var(--fx-border)}
  .pg-as-block:nth-child(4){border-right:none}
  .nx-mega-services{grid-template-columns:repeat(2,1fr)}
  .nx-mega-body{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nx-nav{display:none}
  .nx-hamburger{display:flex}
  .nx-header-inner{padding:0 1.25rem}
  .nx-hero-inner{padding:5rem 1.25rem 3rem}
  .nx-orbital-wrap{transform:scale(.65)}
  .nx-headline-wrap{height:16rem}
  .id-service-grid{grid-template-columns:1fr}
  .id-process-grid{grid-template-columns:1fr}
  .id-testimonial-grid{grid-template-columns:1fr}
  .id-industry-grid{grid-template-columns:1fr}
  .id-values-grid{grid-template-columns:1fr}
  .id-stats-grid{grid-template-columns:1fr 1fr}
  .id-work-header{flex-direction:column;align-items:flex-start}
  .id-services-inner,.id-tech-inner,.id-work-inner,.id-process-inner,.id-cta-inner,.id-partners-inner,.id-platforms-inner,.id-testimonials-inner,.id-industries-inner{padding:0 1.25rem}
  .pg-hero-inner{grid-template-columns:1fr;padding:0 1.25rem}
  .pg-hero-visual,.pg-about-visual{display:none}
  .pg-field-row{grid-template-columns:1fr}
  .pg-info-card-grid{grid-template-columns:1fr}
  .pg-info-card{border-right:none!important}
  .pg-faq-grid{grid-template-columns:1fr}
  .pg-team-grid{grid-template-columns:1fr}
  .pg-values-grid{grid-template-columns:1fr}
  .pg-timeline-grid{grid-template-columns:1fr}
  .pg-cert-grid{grid-template-columns:repeat(2,1fr)}
  .pg-about-stats-grid{grid-template-columns:1fr}
  .pg-as-block{border-right:none;border-bottom:1px solid var(--fx-border);padding:2.5rem 1.25rem}
  .pg-contact-split-inner{padding:3rem 1.25rem}
  .pg-faq-inner,.pg-timeline-inner,.pg-values-inner,.pg-team-inner,.pg-certs-inner,.pg-mission-inner{padding:0 1.25rem}
}
@media(max-width:480px){
  .nx-orbital-wrap{display:none}
  .id-stats-grid{grid-template-columns:1fr}
  .id-stat-block{border-right:none;border-top:1px solid var(--fx-border)}
  .id-stat-block:first-child{border-top:none}
  .pg-cert-grid{grid-template-columns:repeat(2,1fr)}
  .id-faq-grid{grid-template-columns:1fr}
}

/* WP block resets */
.wp-block-group.id-hero,.wp-block-group.id-services,.wp-block-group.id-tech,.wp-block-group.id-stats,.wp-block-group.id-work,.wp-block-group.id-process,.wp-block-group.id-cta,.wp-block-group.id-partners,.wp-block-group.id-partner-strip,.wp-block-group.nx-header{margin-block-start:0;margin-block-end:0}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .id-strip-inner{animation:none}
  .nx-scanline-sweep::after{animation:none}
  .fv2-footer *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}


/* ============================================================
   BLOG SECTION — Premium knowledge base layout
   Fonts: Outfit (headings) + Inter (body)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap');

.blog-section {
  background: #ffffff;
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px 80px;
  min-height: 100vh;
}

/* ── HEADER ── */
.blog-header {
  margin-bottom: 50px;
}

.blog-header-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: flex-end;
}

.blog-badge {
  display: inline-block;
  background: #f4f4f4;
  color: #555;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  padding: 5px 14px;
  border-radius: 8px;
  margin-bottom: 18px;
  letter-spacing: 0.02em;
}

.blog-heading {
  font-family: 'Outfit', 'Clash Display', sans-serif !important;
  font-size: 64px !important;
  font-weight: 500 !important;
  letter-spacing: -2.5px !important;
  line-height: 1.0 !important;
  color: #0a0a0a !important;
  margin: 0 !important;
}

.blog-header-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  padding-bottom: 8px;
}

.blog-subtitle {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #666 !important;
  opacity: 0.8;
  max-width: 480px;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.blog-view-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #0a0a0a;
  color: #ffffff !important;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 22px;
  border-radius: 40px;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.blog-view-all:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  color: #ffffff !important;
}

/* ── FEATURED POST ── */
.blog-featured-wrap {
  margin-bottom: 30px;
}

.feat-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 20px;
  border: 1px solid #f0f0f0;
  min-height: 520px;
  background: #fcfcfc;
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow 0.35s ease;
}

.feat-card:hover {
  box-shadow: 0 12px 48px rgba(0,0,0,0.1);
}

.feat-media {
  position: relative;
  overflow: hidden;
  min-height: 520px;
}

.feat-media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}

.feat-content {
  padding: 60px;
  display: flex;
  flex-direction: column;
  background: #fcfcfc;
}

.feat-top {
  margin-bottom: 20px;
}

.feat-badge {
  display: inline-block;
  background: #0a0a0a;
  color: #ffffff;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 20px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.feat-title {
  font-family: 'Outfit', 'Clash Display', sans-serif !important;
  font-size: 48px !important;
  font-weight: 500 !important;
  letter-spacing: -1.5px !important;
  line-height: 1.05 !important;
  color: #0a0a0a !important;
  margin: 0 0 20px !important;
}

.feat-desc {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 17px !important;
  color: #666 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  flex: 1;
}

.feat-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 28px;
  border-top: 1px solid #f0f0f0;
}

.feat-author {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #888;
}

/* ── BLOG GRID ── */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.grid-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-decoration: none;
  cursor: pointer;
}

.grid-media {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  aspect-ratio: 16 / 10;
  background: #111;
}

.grid-media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}

.grid-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.grid-title {
  font-family: 'Outfit', 'Clash Display', sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #0a0a0a !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  letter-spacing: -0.3px !important;
  flex: 1;
}

.grid-card:hover .grid-title {
  color: #FF3B00 !important;
}

/* ── VIDEO HOVER EFFECTS ── */
.vid-wrap {
  position: relative;
  overflow: hidden;
}

.vid-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25);
  opacity: 0;
  transition: opacity 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  border-radius: inherit;
}

.vid-plus {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  color: #ffffff;
  font-size: 32px;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(0.7);
  transition: transform 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* ── CORNER BRACKETS ── */
.bc {
  position: absolute;
  width: 12px;
  height: 12px;
  z-index: 3;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.vid-wrap:hover .bc { opacity: 1; }

.bc-tl { top: 15px; left: 15px; border-top: 1.5px solid #fff; border-left: 1.5px solid #fff; }
.bc-tr { top: 15px; right: 15px; border-top: 1.5px solid #fff; border-right: 1.5px solid #fff; }
.bc-bl { bottom: 15px; left: 15px; border-bottom: 1.5px solid #fff; border-left: 1.5px solid #fff; }
.bc-br { bottom: 15px; right: 15px; border-bottom: 1.5px solid #fff; border-right: 1.5px solid #fff; }

/* ── CATEGORY BADGES ── */
.cat-badge {
  display: inline-block;
  color: #ffffff;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
  text-transform: capitalize;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .feat-card { grid-template-columns: 1fr; }
  .feat-media { min-height: 320px; }
  .feat-content { padding: 40px; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .blog-section { padding: 40px 16px 60px; }
  .blog-heading { font-size: 48px !important; letter-spacing: -1.5px !important; }
  .blog-header-top { grid-template-columns: 1fr; gap: 24px; }
  .blog-grid { grid-template-columns: 1fr; }
  .feat-title { font-size: 32px !important; letter-spacing: -0.8px !important; }
  .feat-content { padding: 28px; }
  .feat-media { min-height: 240px; }
  .blog-subtitle { font-size: 16px !important; }
}

/* ── BLOG SINGLE POST ── */
.id-single-post {
  background: #ffffff;
  min-height: 100vh;
}

.id-post-hero {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px 40px;
}

.id-post-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13px;
  color: #888;
  margin-bottom: 32px;
}

.id-post-breadcrumb a {
  color: #888;
  text-decoration: none;
  transition: color 0.2s;
}

.id-post-breadcrumb a:hover { color: #FF3B00; }
.id-post-breadcrumb span { opacity: 0.4; }

.id-post-category {
  display: inline-block;
  color: #ffffff;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 20px;
  background: #FF3B00;
}

.id-post-title {
  font-family: 'Outfit', 'Clash Display', sans-serif !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
  font-weight: 600 !important;
  letter-spacing: -1.5px !important;
  line-height: 1.1 !important;
  color: #0a0a0a !important;
  margin: 0 0 24px !important;
  max-width: 820px;
}

.id-post-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  color: #888;
  font-weight: 500;
}

.id-post-featured-video {
  max-width: 1200px;
  margin: 0 auto 0;
  padding: 0 20px;
}

.id-post-featured-video video {
  width: 100%;
  border-radius: 16px;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}

.id-post-content {
  max-width: 760px;
  margin: 48px auto;
  padding: 0 20px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.8;
  color: #333;
}

.id-post-content h2 {
  font-family: 'Outfit', 'Clash Display', sans-serif;
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -0.5px;
  color: #0a0a0a;
  margin: 2.5rem 0 1rem;
}

.id-post-content h3 {
  font-family: 'Outfit', 'Clash Display', sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: #0a0a0a;
  margin: 2rem 0 0.75rem;
}

.id-post-content p { margin-bottom: 1.4rem; }

.id-post-content a {
  color: #FF3B00;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.id-post-content ul,
.id-post-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1.4rem;
}

.id-post-content li { margin-bottom: 0.5rem; }

.id-post-content code {
  background: #f4f4f4;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.9em;
  font-family: 'JetBrains Mono', monospace;
}

.id-post-content pre {
  background: #0a0a0a;
  color: #e8e8e8;
  padding: 1.5rem;
  border-radius: 10px;
  overflow-x: auto;
  margin-bottom: 1.4rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  line-height: 1.6;
}


/* ============================================================
   BLOG SECTION — Override dark theme with light design
   All blog-section* classes reset dark globals to white/light
   ============================================================ */

/* Force white background + dark text throughout blog */
.blog-section,
.blog-section * {
  cursor: auto !important; /* restore normal cursor inside blog */
}

.blog-section {
  background: #ffffff !important;
  padding: 60px 0 80px;
  font-family: 'Inter', system-ui, sans-serif !important;
  color: #0a0a0a !important;
}

/* Override WP/theme colors inside blog */
.blog-section .wp-block-post-title a,
.blog-section .feat-title a,
.blog-section h1, .blog-section h2,
.blog-section h3, .blog-section h4 {
  color: #0a0a0a !important;
  text-decoration: none;
}

.blog-section p { color: #444 !important; }
.blog-section a { color: inherit; text-decoration: none; }

/* ── SECTION HEADER ── */
.blog-header { padding: 0 20px 50px; }

.blog-header-top {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: flex-end;
  max-width: 1200px;
  margin: 0 auto;
}

.blog-badge {
  display: inline-block !important;
  background: #f4f4f4 !important;
  color: #555 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 5px 14px !important;
  border-radius: 8px !important;
  margin-bottom: 18px !important;
  letter-spacing: 0.02em !important;
}

.blog-heading {
  font-family: 'Outfit', 'Clash Display', sans-serif !important;
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  font-weight: 500 !important;
  letter-spacing: -2.5px !important;
  line-height: 1.0 !important;
  color: #0a0a0a !important;
  margin: 0 !important;
}

.blog-header-right {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
  padding-bottom: 6px;
}

.blog-subtitle {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: #666 !important;
  opacity: 0.85;
  max-width: 480px;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* "View all posts" pill button override */
.blog-view-all .wp-block-button__link,
.blog-view-all a {
  background: #0a0a0a !important;
  color: #ffffff !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  padding: 12px 22px !important;
  border-radius: 40px !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.blog-view-all .wp-block-button__link:hover {
  transform: scale(1.02) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18) !important;
  color: #ffffff !important;
}

/* ── FEATURED POST CARD ── */
.blog-featured-section { padding: 0 20px 30px; }

.feat-card-native {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  border-radius: 20px !important;
  border: 1px solid #f0f0f0 !important;
  min-height: 520px !important;
  background: #fcfcfc !important;
  overflow: hidden !important;
  max-width: 1200px;
  margin: 0 auto;
  transition: box-shadow 0.35s ease;
}

.feat-card-native:hover {
  box-shadow: 0 12px 48px rgba(0,0,0,0.08) !important;
}

/* Featured image: fill entire left column */
.feat-img-wrap,
.feat-card-native .wp-block-post-featured-image {
  min-height: 520px !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.feat-card-native .wp-block-post-featured-image a,
.feat-card-native .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  min-height: 520px !important;
  transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1) !important;
}

.feat-card-native:hover .wp-block-post-featured-image img {
  transform: scale(1.04) !important;
}

/* Featured content area */
.feat-content {
  padding: 52px !important;
  display: flex !important;
  flex-direction: column;
  background: #fcfcfc !important;
  gap: 0;
}

.feat-top {
  margin-bottom: 16px !important;
}

/* Category terms in featured */
.feat-cat-terms,
.feat-cat-terms a,
.feat-cat-terms .wp-block-post-terms__content {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  padding: 5px 14px !important;
  background: #FF3B00 !important;
  color: #ffffff !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.feat-title,
.feat-card-native .wp-block-post-title {
  font-family: 'Outfit', 'Clash Display', sans-serif !important;
  font-size: clamp(1.6rem, 2.8vw, 2.8rem) !important;
  font-weight: 500 !important;
  letter-spacing: -1.2px !important;
  line-height: 1.08 !important;
  color: #0a0a0a !important;
  margin: 0 0 18px !important;
  flex: 1;
}

.feat-card-native .wp-block-post-title a {
  color: #0a0a0a !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.feat-card-native .wp-block-post-title a:hover {
  color: #FF3B00 !important;
}

.feat-desc,
.feat-card-native .wp-block-post-excerpt {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 1rem !important;
  color: #666 !important;
  line-height: 1.7 !important;
  margin: 0 0 auto !important;
  flex: 1;
}

.feat-card-native .wp-block-post-excerpt p {
  color: #666 !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* Footer of featured card */
.feat-footer {
  border-top: 1px solid #f0f0f0 !important;
  padding-top: 22px !important;
  margin-top: 28px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 10px;
}

.feat-card-native .wp-block-post-author,
.feat-author {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: #888 !important;
}

.feat-card-native .wp-block-post-author__name {
  color: #888 !important;
}

.feat-date,
.feat-card-native .wp-block-post-date {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  color: #aaa !important;
}

.feat-card-native .wp-block-post-date a {
  color: #aaa !important;
  text-decoration: none !important;
}

/* ── BLOG GRID ── */
.blog-grid-section { padding: 0 20px 60px; }

/* The query block grid */
.blog-grid-section .wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 1200px;
  margin: 0 auto !important;
}

.blog-grid-section .wp-block-query {
  max-width: 1200px;
  margin: 0 auto;
}

.grid-card {
  display: flex !important;
  flex-direction: column;
  gap: 14px;
  cursor: pointer;
}

/* Grid featured image */
.grid-card .wp-block-post-featured-image {
  border-radius: 20px !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 10 !important;
  margin: 0 !important;
  background: #f0f0f0;
}

.grid-card .wp-block-post-featured-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.grid-card .wp-block-post-featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: 16/10 !important;
  display: block !important;
  transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1) !important;
}

/* Overlay effect on grid cards */
.grid-card .wp-block-post-featured-image {
  position: relative;
}

.grid-card .wp-block-post-featured-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.2);
  opacity: 0;
  transition: opacity 0.4s ease;
  border-radius: 20px;
  z-index: 1;
}

.grid-card:hover .wp-block-post-featured-image::after { opacity: 1; }
.grid-card:hover .wp-block-post-featured-image img { transform: scale(1.08) !important; }

/* Grid meta row */
.grid-meta {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.grid-title,
.grid-card .wp-block-post-title {
  font-family: 'Outfit', 'Clash Display', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #0a0a0a !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  letter-spacing: -0.3px !important;
  flex: 1;
  transition: color 0.2s ease !important;
}

.grid-card .wp-block-post-title a {
  color: #0a0a0a !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.grid-card:hover .wp-block-post-title,
.grid-card:hover .wp-block-post-title a {
  color: #FF3B00 !important;
}

/* Grid category terms */
.grid-cat-terms,
.grid-card .wp-block-post-terms {
  flex-shrink: 0 !important;
}

.grid-cat-terms a,
.grid-card .wp-block-post-terms a {
  display: inline-block !important;
  background: #0a0a0a !important;
  color: #ffffff !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  text-transform: capitalize !important;
  white-space: nowrap !important;
  letter-spacing: 0.04em !important;
  transition: background 0.2s ease !important;
}

.grid-card:hover .wp-block-post-terms a {
  background: #FF3B00 !important;
}

/* Pagination */
.blog-grid-section .wp-block-query-pagination {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 3rem !important;
  padding: 0 !important;
  list-style: none !important;
}

.blog-grid-section .wp-block-query-pagination a,
.blog-grid-section .wp-block-query-pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid #e0e0e0 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.blog-grid-section .wp-block-query-pagination a:hover,
.blog-grid-section .wp-block-query-pagination .wp-block-query-pagination-numbers .current {
  background: #0a0a0a !important;
  border-color: #0a0a0a !important;
  color: #ffffff !important;
}

/* No-results text */
.blog-section .wp-block-query-no-results p {
  color: #999 !important;
  text-align: center;
  font-family: 'Inter', system-ui, sans-serif !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .feat-card-native {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  .feat-img-wrap,
  .feat-card-native .wp-block-post-featured-image {
    min-height: 320px !important;
  }

  .feat-card-native .wp-block-post-featured-image img {
    min-height: 320px !important;
  }

  .feat-content { padding: 36px !important; }

  .blog-grid-section .wp-block-query .wp-block-post-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .blog-section { padding: 40px 0 60px; }
  .blog-heading { font-size: 2.2rem !important; letter-spacing: -1.5px !important; }
  .blog-header-top { grid-template-columns: 1fr !important; gap: 24px !important; }
  .blog-header { padding: 0 16px 36px; }
  .blog-featured-section { padding: 0 16px 24px; }
  .blog-grid-section { padding: 0 16px 48px; }
  .feat-card-native .wp-block-post-title { font-size: 1.5rem !important; }
  .feat-content { padding: 24px !important; }

  .blog-grid-section .wp-block-query .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}

