/* =========================================================================
   Novemcore Website V1 — Homepage (DE default)
   Hybrid editorial Novemcore surface + immersive dark PULSE evidence layer.
   ========================================================================= */
@import url("design-system/colors_and_type.css");

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--nc-paper); color: var(--nc-ink); font-family: var(--font-body); }
body { min-height: 100vh; overflow-x: hidden; }

button { font-family: inherit; cursor: pointer; }
a { color: inherit; }

.wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.wrap--wide { max-width: 1440px; }
.wrap--narrow { max-width: 880px; }

/* ============ Buttons ============ */
.btn {
  font: 500 14px var(--font-body);
  border-radius: 10px; padding: 12px 18px; border: 0;
  display: inline-flex; align-items: center; gap: 8px; line-height: 1;
  transition: transform 120ms var(--ease-standard), background 160ms var(--ease-standard), filter 160ms var(--ease-standard), border-color 160ms var(--ease-standard);
  white-space: nowrap; text-decoration: none;
}
.btn:active { transform: translateY(1px); }
.btn--ink { background: var(--nc-ink); color: var(--nc-paper); }
.btn--ink:hover { background: #1A1F2A; }
.btn--secondary {
  background: transparent; color: var(--nc-ink);
  border: 1px solid var(--border-strong);
  padding: 11px 17px;
}
.btn--secondary:hover { background: rgba(11,15,23,0.06); }
.btn--ghost { background: transparent; color: var(--nc-ink); padding: 12px 4px; }
.btn--ghost:hover { color: var(--pulse-copper); }
.btn--pulse {
  color: #FFFFFF;
  background: var(--pulse-cta-gradient);
  font: 600 15px var(--font-body); padding: 13px 22px;
  box-shadow:
    inset 0 1px 0 rgba(255,245,234,0.45),
    0 0 0 1px rgba(255,235,210,0.18),
    0 14px 36px -10px rgba(184,87,48,0.55);
}
.btn--pulse:hover { filter: brightness(1.05); }
.btn--pulse-lg { font-size: 17px; padding: 16px 28px; }

/* ============ CTA arrow hover — slides right, no layout shift ============ */
.btn svg,
.resCard__link svg,
.engineStage__link svg {
  transition: transform 190ms var(--ease-standard);
}
.btn:hover svg,
.resCard__link:hover svg,
.engineStage__link:hover svg {
  transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  .btn svg, .resCard__link svg, .engineStage__link svg { transition: none; }
  .btn:hover svg, .resCard__link:hover svg, .engineStage__link:hover svg { transform: none; }
}
/* ============ HERO on-load entrance ============ */
/* Left column items start invisible, stagger in after mount. */
.hero__left .eyebrow,
.hero__left .hero__h1,
.hero__left .hero__sub,
.hero__left .hero__ctas {
  opacity: 0; transform: translateY(18px);
  transition: opacity 560ms var(--ease-emphasized), transform 560ms var(--ease-emphasized);
}
.hero--loaded .hero__left .eyebrow     { opacity: 1; transform: none; transition-delay: 60ms; }
.hero--loaded .hero__left .hero__h1    { opacity: 1; transform: none; transition-delay: 180ms; }
.hero--loaded .hero__left .hero__sub   { opacity: 1; transform: none; transition-delay: 290ms; }
.hero--loaded .hero__left .hero__ctas  { opacity: 1; transform: none; transition-delay: 390ms; }

/* ============ EVIDENCE ENGINE scroll-reveal ============ */
.engine__rv {
  opacity: 0; transform: translateY(22px);
  transition: opacity 500ms var(--ease-emphasized), transform 500ms var(--ease-emphasized);
  transition-delay: var(--rv-d, 0ms);
}
.engine--on .engine__rv { opacity: 1; transform: none; }

/* ============ PROOF scroll-reveal ============ */
.proof__rv {
  opacity: 0; transform: translateY(22px);
  transition: opacity 480ms var(--ease-emphasized), transform 480ms var(--ease-emphasized);
  transition-delay: var(--rv-d, 0ms);
}
.proof--on .proof__rv { opacity: 1; transform: none; }

/* ============ FINAL CTA scroll-reveal ============ */
.finalcta__rv {
  opacity: 0; transform: translateY(24px);
  transition: opacity 520ms var(--ease-emphasized), transform 520ms var(--ease-emphasized);
  transition-delay: var(--rv-d, 0ms);
}
.finalcta--on .finalcta__rv { opacity: 1; transform: none; }

/* ============ Reduced-motion overrides for all new reveals ============ */
@media (prefers-reduced-motion: reduce) {
  .hero__left .eyebrow,
  .hero__left .hero__h1,
  .hero__left .hero__sub,
  .hero__left .hero__ctas { opacity: 1 !important; transform: none !important; transition: none !important; }
  .engine__rv, .proof__rv, .finalcta__rv { opacity: 1 !important; transform: none !important; transition: none !important; }
}

  border: 1px solid rgba(255,245,234,0.32);
  padding: 11px 17px;
}
.btn--secondary-dark:hover { background: rgba(255,245,234,0.06); }
.arrow { display: inline-block; transform: translateY(-0.5px); }

/* ============ Eyebrows / mono ============ */
.eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fg-3);
  display: inline-flex; align-items: center; gap: 10px;
}
.eyebrow::before {
  content: ""; width: 18px; height: 1px; background: currentColor; opacity: 0.5;
}
.eyebrow--pulse  { color: var(--pulse-copper); }
.eyebrow--cobalt { color: var(--nc-cobalt); }
.eyebrow--cyan   { color: var(--nc-signal-cyan); }
.eyebrow--gold   { color: var(--nc-gold); }
.eyebrow--dark   { color: rgba(247,243,234,0.55); }
.mono { font-family: var(--font-mono); }

/* ============ Header ============ */
.nc-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(250, 246, 239, 0.92);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-1);
}
.nc-header__inner {
  max-width: 1440px; margin: 0 auto; padding: 16px 32px;
  display: flex; align-items: center; gap: 40px;
}
.nc-header__brand img { height: 28px; display: block; }
.nc-header__nav { display: flex; gap: 28px; flex: 1; justify-content: center; }
.nc-header__navlink {
  font: 500 14px var(--font-body); color: var(--nc-ink);
  text-decoration: none; padding: 6px 0;
  display: inline-flex; align-items: center; gap: 5px;
  transition: color 140ms;
}
.nc-header__navlink:hover { color: var(--pulse-copper); }
.nc-header__navlink svg { opacity: 0.4; }
.nc-header__right { display: flex; align-items: center; gap: 14px; }
.nc-header__lang {
  display: inline-flex; padding: 3px; border-radius: 999px;
  background: rgba(11,15,23,0.05);
}
.nc-header__langBtn {
  border: 0; background: transparent; padding: 5px 11px;
  font: 500 11px var(--font-mono); letter-spacing: 0.08em;
  color: var(--fg-2); border-radius: 999px; cursor: pointer;
}
.nc-header__langBtn.is-on { background: #FFF; color: var(--nc-ink); box-shadow: 0 1px 0 rgba(11,15,23,0.04), 0 4px 12px -6px rgba(11,15,23,0.10); }

/* ---- Nav items + dropdown submenus ---- */
.nc-nav-item { position: relative; display: flex; align-items: center; }
.nc-nav-item .nc-header__navlink { display: inline-flex; align-items: center; gap: 5px; }
.nc-nav-caret { display: inline-flex; transition: transform 240ms var(--ease-emphasized); }
.nc-nav-caret svg { width: 13px; height: 13px; opacity: 0.45; }
.nc-nav-item.has-sub:hover .nc-nav-caret,
.nc-nav-item.has-sub:focus-within .nc-nav-caret { transform: rotate(180deg); }
.nc-nav-item.has-sub:hover .nc-nav-caret svg,
.nc-nav-item.has-sub:focus-within .nc-nav-caret svg { opacity: 0.85; }

.nc-dropdown {
  position: absolute; top: 100%; left: 50%;
  padding-top: 14px;                 /* hover bridge — no dead gap */
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateX(-50%) translateY(-8px);
  transition: opacity 200ms var(--ease-standard),
              transform 280ms var(--ease-emphasized),
              visibility 0s linear 280ms;
  z-index: 60;
}
.nc-nav-item.has-sub:hover .nc-dropdown,
.nc-nav-item.has-sub:focus-within .nc-dropdown {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
  transition: opacity 220ms var(--ease-standard),
              transform 320ms var(--ease-emphasized),
              visibility 0s linear 0s;
}
.nc-dropdown__inner {
  background: rgba(250,246,239,0.97);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  border: 1px solid var(--border-1);
  border-radius: 12px;
  box-shadow: 0 22px 54px -18px rgba(11,15,23,0.30), 0 3px 10px -5px rgba(11,15,23,0.14);
  padding: 8px; min-width: 224px;
  display: flex; flex-direction: column; gap: 1px;
}
.nc-dropdown__link {
  font: 500 14px var(--font-body); color: var(--nc-ink);
  text-decoration: none; padding: 10px 14px; border-radius: 8px;
  white-space: nowrap;
  opacity: 0; transform: translateY(-5px);
  transition: opacity 240ms var(--ease-standard),
              transform 300ms var(--ease-emphasized),
              background 130ms, color 130ms;
}
.nc-nav-item.has-sub:hover .nc-dropdown__link,
.nc-nav-item.has-sub:focus-within .nc-dropdown__link { opacity: 1; transform: none; }
.nc-nav-item.has-sub:hover .nc-dropdown__link:nth-child(1) { transition-delay: 30ms; }
.nc-nav-item.has-sub:hover .nc-dropdown__link:nth-child(2) { transition-delay: 65ms; }
.nc-nav-item.has-sub:hover .nc-dropdown__link:nth-child(3) { transition-delay: 100ms; }
.nc-nav-item.has-sub:hover .nc-dropdown__link:nth-child(4) { transition-delay: 135ms; }
.nc-nav-item.has-sub:hover .nc-dropdown__link:nth-child(5) { transition-delay: 170ms; }
.nc-nav-item.has-sub:hover .nc-dropdown__link:nth-child(6) { transition-delay: 205ms; }
.nc-dropdown__link:hover { background: rgba(11,15,23,0.05); color: var(--pulse-copper); }
@media (prefers-reduced-motion: reduce) {
  .nc-dropdown, .nc-dropdown__link { transition: opacity 120ms linear !important; transform: none !important; }
}

/* ============ HERO ============ */
.hero {
  /* Fill the viewport below the sticky navbar on desktop/tablet. */
  min-height: calc(100vh - 74px);
  min-height: calc(100svh - 74px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 44px 0;
}
.hero__inner {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: 56px; align-items: center;
}
.hero__h1 {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(48px, 4.6vw, 68px);
  line-height: 1.02;
  margin: 22px 0 0;
  color: var(--nc-ink);
  text-wrap: balance;
  letter-spacing: -0.003em;
}
.hero__h1 .accent {
  background: linear-gradient(92deg, #B85730 0%, #D97757 50%, #E89968 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero__h1 .accent--novemcore {
  background: linear-gradient(110deg, #1E3A8A 0%, #0B6E8C 48%, #0E7C7B 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero__sub {
  font-size: 18px; line-height: 1.55; color: var(--fg-2);
  max-width: 520px; margin: 26px 0 32px;
}
.hero__sub-em { font-weight: 600; }
.hero__sub-em--pulse { color: var(--pulse-copper); }
.hero__sub-em--novem { color: var(--nc-cobalt); }
.hero__ctas {
  display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch;
  margin-bottom: 0;
}
.btn--hero-cta {
  height: 52px;
  padding: 0 22px;
  font-size: 15px;
  display: inline-flex; align-items: center; justify-content: center;
}
.btn--pulse.btn--hero-cta { font-weight: 600; font-size: 16px; padding: 0 26px; }

.hero__tasks {
  list-style: none; margin: 4px 0 0; padding: 0;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 12px 28px;
  max-width: 540px;
}
.hero__task {
  display: flex; align-items: center; gap: 10px;
  font: 500 14px var(--font-body);
  color: var(--nc-ink);
  line-height: 1.35;
}
.hero__taskDot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--nc-cobalt);
  flex-shrink: 0;
  box-shadow: 0 0 0 4px rgba(30,58,138,0.10);
}
.hero__task:nth-child(1) .hero__taskDot,
.hero__task:nth-child(2) .hero__taskDot {
  background: var(--pulse-copper);
  box-shadow: 0 0 0 4px rgba(184,87,48,0.12);
}
.hero__task:nth-child(4) .hero__taskDot {
  background: var(--nc-teal);
  box-shadow: 0 0 0 4px rgba(14,124,123,0.12);
}

/* ============ HERO WORKFLOW — compact 4-step panel ============ */
/* PULSE owner (01-03): warm copper/amber on pulse-dark.
   Novemcore owner (04): cool navy/cobalt/teal on deep-navy.
   Auto-advances 5s; pauses on hover/focus/click/touch; respects reduced-motion. */
.wf {
  position: relative;
  width: 100%;
  max-width: 620px;
  min-height: 420px;
  border-radius: 20px;
  padding: 24px 26px 22px;
  display: flex; flex-direction: column;
  isolation: isolate;
  color: #F7F3EA;
  background:
    radial-gradient(60% 60% at 80% 0%, rgba(217,119,87,0.18) 0%, transparent 70%),
    linear-gradient(180deg, #2A160E 0%, #150A06 100%);
  border: 1px solid rgba(217,119,87,0.28);
  box-shadow:
    0 0 0 1px rgba(217,119,87,0.16),
    0 32px 70px -32px rgba(0,0,0,0.55);
  transition:
    background 480ms var(--ease-emphasized),
    border-color 380ms var(--ease-standard),
    box-shadow 380ms var(--ease-standard);
}
.wf.wf--novem {
  background:
    radial-gradient(60% 55% at 80% 0%, rgba(0,194,209,0.10) 0%, transparent 65%),
    radial-gradient(50% 50% at 0% 100%, rgba(30,58,138,0.30) 0%, transparent 70%),
    linear-gradient(180deg, #0B1B33 0%, #07090D 100%);
  border-color: rgba(30,58,138,0.45);
  box-shadow:
    0 0 0 1px rgba(30,58,138,0.20),
    0 32px 70px -32px rgba(0,0,0,0.65);
}

.wf__head {
  display: flex; justify-content: space-between; align-items: center;
  font: 500 10.5px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(247,243,234,0.55);
  margin-bottom: 18px;
}
.wf__headLbl { color: rgba(247,243,234,0.6); }
.wf__headMeta { display: inline-flex; align-items: center; gap: 8px; color: #F7F3EA; }
.wf__dot {
  width: 7px; height: 7px; border-radius: 50%;
  display: inline-block;
}
.wf__dot--pulse { background: var(--pulse-amber); box-shadow: 0 0 0 4px rgba(232,153,104,0.18); }
.wf__dot--novem { background: var(--nc-signal-cyan); box-shadow: 0 0 0 4px rgba(0,194,209,0.16); }

/* Rail: 4 steps as tablist */
.wf__rail {
  position: relative;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  background: rgba(11,15,23,0.42);
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 14px;
  padding: 6px;
  margin-bottom: 18px;
}
.wf__step {
  position: relative;
  background: transparent; border: 0;
  padding: 10px 8px 10px;
  display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
  border-radius: 10px;
  color: rgba(247,243,234,0.6);
  cursor: pointer;
  text-align: left;
  transition: background 200ms var(--ease-standard), color 200ms var(--ease-standard);
  z-index: 2;
}
.wf__step:hover { color: #F7F3EA; }
.wf__stepNum {
  font: 500 10px var(--font-mono); letter-spacing: 0.12em;
  color: rgba(247,243,234,0.45);
}
.wf__stepTitle {
  font: 600 13px var(--font-body); color: inherit; line-height: 1.2;
}
.wf__step.is-active { color: #FFF5EA; }
.wf__step.is-active .wf__stepNum { color: var(--pulse-amber); }
.wf__step.wf__step--novem.is-active .wf__stepNum { color: var(--nc-signal-cyan); }
.wf__step:focus-visible {
  outline: 2px solid var(--pulse-amber);
  outline-offset: 2px;
}
.wf--novem .wf__step:focus-visible { outline-color: var(--nc-signal-cyan); }

/* Animated active background */
.wf__progress {
  position: absolute;
  top: 6px; bottom: 6px;
  background: linear-gradient(135deg, rgba(217,119,87,0.28), rgba(232,153,104,0.18));
  border: 1px solid rgba(217,119,87,0.45);
  border-radius: 10px;
  transition: left 420ms var(--ease-emphasized), width 420ms var(--ease-emphasized), background 380ms var(--ease-standard), border-color 380ms var(--ease-standard);
  z-index: 1;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,235,210,0.12), 0 8px 22px -10px rgba(184,87,48,0.6);
}
.wf--novem .wf__progress {
  background: linear-gradient(135deg, rgba(30,58,138,0.42), rgba(0,194,209,0.18));
  border-color: rgba(0,194,209,0.45);
  box-shadow: inset 0 0 0 1px rgba(173,210,255,0.14), 0 8px 22px -10px rgba(30,58,138,0.6);
}
@media (prefers-reduced-motion: reduce) {
  .wf__progress { transition: none; }
  .wf, .wf__panel, .wf__step { transition: none; }
}

/* Active panel */
.wf__panel {
  flex: 1;
  background: rgba(11,15,23,0.42);
  border: 1px solid rgba(217,119,87,0.30);
  border-radius: 14px;
  padding: 20px 22px;
  display: flex; flex-direction: column; gap: 10px;
  transition: border-color 380ms var(--ease-standard), background 380ms var(--ease-standard);
  min-height: 220px;
}
.wf--novem .wf__panel {
  border-color: rgba(0,194,209,0.30);
  background: rgba(11,15,23,0.55);
}
.wf__panelHead {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 2px;
}
.wf__panelOwner {
  font: 500 10px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--pulse-amber);
}
.wf--novem .wf__panelOwner { color: var(--nc-signal-cyan); }
.wf__panelNum {
  font: 500 11px var(--font-mono); letter-spacing: 0.1em;
  color: rgba(247,243,234,0.5);
}
.wf__panelTitle {
  font: 500 26px var(--font-display);
  color: #FFF5EA;
  line-height: 1.1;
  letter-spacing: -0.002em;
}
.wf__panelDesc {
  font: 500 14px var(--font-body);
  color: rgba(247,243,234,0.78);
  line-height: 1.55;
  margin: 0;
  max-width: 480px;
}
.wf__chips {
  display: flex; flex-wrap: wrap; gap: 6px;
  margin-top: 4px;
}
.wf__chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 11px;
  border-radius: 999px;
  font: 500 12px var(--font-body);
  background: rgba(217,119,87,0.14);
  border: 1px solid rgba(217,119,87,0.36);
  color: #FFF5EA;
}
.wf__chip svg { color: var(--pulse-amber); flex-shrink: 0; }
.wf--novem .wf__chip {
  background: rgba(0,194,209,0.10);
  border-color: rgba(0,194,209,0.36);
}
.wf--novem .wf__chip svg { color: var(--nc-signal-cyan); }

.wf__footer {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 14px;
  font: 500 10px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(247,243,234,0.45);
}

/* ============ HERO INFOGRAPHIC ============ */
.infg {
  width: 100%;
  min-height: 540px;
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  padding: 20px 20px 20px;
  background:
    radial-gradient(55% 45% at 38% 0%, rgba(184,87,48,0.18) 0%, transparent 62%),
    radial-gradient(42% 50% at 85% 88%, rgba(30,58,138,0.22) 0%, transparent 65%),
    linear-gradient(170deg, #1E1009 0%, #120B07 100%);
  border: 1px solid rgba(184,87,48,0.26);
  box-shadow:
    0 0 0 1px rgba(217,119,87,0.10),
    0 32px 70px -28px rgba(0,0,0,0.58);
  color: #F7F3EA;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 500ms var(--ease-emphasized), transform 500ms var(--ease-emphasized);
}
.infg--on { opacity: 1; transform: translateY(0); }

/* Panel title */
.infg__title {
  display: flex; align-items: center; gap: 9px;
  padding: 2px 4px 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(255,245,234,0.10);
}
.infg__titleMark { width: 16px; height: 16px; object-fit: contain; opacity: 0.92; }
.infg__titleText {
  font: 500 10px var(--font-mono);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(232,153,104,0.82);
}

/* Flow region (heads + grid) — scrolls horizontally on mobile */
.infg__flow {
  flex: 1;
  display: flex; flex-direction: column; justify-content: center;
}

/* Column focus / dim during the highlight sequence + final hold */
.infg__col {
  transition: opacity 300ms var(--ease-standard);
  outline: none;
}
.infg__col.is-dim   { opacity: 0.86; }
.infg__col.is-focus { opacity: 1; }
.infg--final .infg__col { cursor: default; }
.infg__col:focus-visible {
  outline: 2px solid var(--pulse-amber);
  outline-offset: 3px;
  border-radius: 12px;
}

/* Final permanent PULSE highlight */
.infg--final .infg__col--pulse {
  border-color: rgba(217,119,87,0.78);
  background: rgba(184,87,48,0.12);
  box-shadow:
    0 0 40px -8px rgba(184,87,48,0.52),
    inset 0 0 22px -10px rgba(217,119,87,0.22),
    0 0 0 1px rgba(217,119,87,0.20);
}

/* Shared grid template for heads + body */
.infg__heads,
.infg__grid {
  display: grid;
  grid-template-columns: 1fr 20px 1.1fr 20px 0.85fr 20px 1.18fr;
  gap: 0 6px;
}

/* Headers row */
.infg__heads { margin-bottom: 10px; align-items: center; }
.infg__headCell {
  display: flex; align-items: center; gap: 6px;
  padding: 0 7px;
  min-height: 26px;
}
.infg__headCell--pulse { gap: 7px; }
.infg__arrowCell { /* spacer */ }
.infg__pulseMark { width: 17px; height: 17px; object-fit: contain; }

.infg__lbl {
  font: 500 9px var(--font-mono);
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: rgba(247,243,234,0.62);
}
.infg__lbl--pulse  { color: var(--pulse-amber); }
.infg__lbl--cobalt { color: rgba(110,170,255,0.80); }
.infg__lbl--teal   { color: var(--nc-signal-cyan); }

/* Body grid */
.infg__grid { align-items: stretch; }

/* Arrow columns */
.infg__arrowCol {
  align-self: stretch;
  display: flex; align-items: center; justify-content: center;
}

/* Data columns */
.infg__col {
  display: flex; flex-direction: column; gap: 7px;
}
.infg__col--pulse {
  border: 1px solid rgba(184,87,48,0.52);
  border-radius: 13px;
  padding: 8px 7px;
  background: rgba(184,87,48,0.07);
  gap: 5px;
  justify-content: space-between;
  box-shadow:
    0 0 28px -8px rgba(184,87,48,0.38),
    inset 0 0 18px -10px rgba(217,119,87,0.14),
    0 0 0 1px rgba(217,119,87,0.10);
}
.infg__col--consulting { gap: 7px; justify-content: space-between; }
.infg__col--outputs { gap: 0; }

/* Base card state — enter via transition once .infg--on is set */
.infg__card {
  display: flex; align-items: center; gap: 7px;
  padding: 10px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,245,234,0.24);
  background: rgba(11,15,23,0.45);
  font: 500 11.5px var(--font-body);
  color: rgba(247,243,234,0.90);
  cursor: default; line-height: 1.25;
  /* entrance */
  opacity: 0;
  transform: translateY(7px);
  transition:
    opacity 360ms var(--ease-emphasized),
    transform 360ms var(--ease-emphasized),
    border-color 280ms var(--ease-standard),
    background 280ms var(--ease-standard),
    color 280ms var(--ease-standard),
    box-shadow 280ms var(--ease-standard);
  transition-delay: calc(var(--s, 0) * 55ms + 80ms);
}
.infg--on .infg__card { opacity: 1; transform: translateY(0); }

/* INPUTS */
.infg__card--input:hover,
.infg__card--input.is-on {
  border-color: rgba(0,194,209,0.50);
  background: rgba(0,194,209,0.09);
  color: #F7F3EA;
  box-shadow: 0 0 14px -4px rgba(0,194,209,0.28);
}

/* PULSE */
.infg__card--pulse {
  justify-content: center; text-align: center;
  background: rgba(184,87,48,0.14);
  border-color: rgba(184,87,48,0.28);
  color: rgba(255,245,234,0.88);
  font-weight: 600; font-size: 12px;
  padding: 16px 9px;
  min-height: 58px;
}
.infg__card--pulse:hover,
.infg__card--pulse.is-on {
  background: rgba(217,119,87,0.24);
  border-color: rgba(217,119,87,0.70);
  color: #FFF5EA;
  box-shadow: 0 0 18px -4px rgba(184,87,48,0.55);
}

/* CONSULTING */
.infg__card--consult {
  justify-content: center; text-align: center;
  background: rgba(30,58,138,0.18);
  border-color: rgba(30,58,138,0.45);
  color: rgba(247,243,234,0.88);
  font-weight: 500;
}
.infg__card--consult:hover,
.infg__card--consult.is-on {
  background: rgba(30,58,138,0.30);
  border-color: rgba(100,160,255,0.52);
  color: #F7F3EA;
  box-shadow: 0 0 16px -4px rgba(30,58,138,0.55);
}

/* OUTPUTS */
.infg__outputGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.infg__card--output {
  padding: 9px 8px;
  border-radius: 7px;
  font-size: 10.5px;
}
.infg__card--full { grid-column: 1 / -1; }
.infg__card--output:hover,
.infg__card--output.is-on {
  border-color: rgba(14,124,123,0.48);
  background: rgba(14,124,123,0.11);
  color: #F7F3EA;
  box-shadow: 0 0 12px -4px rgba(14,124,123,0.32);
}

/* Dots */
.infg__dot {
  width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
}
.infg__dot--cyan { background: var(--nc-signal-cyan); box-shadow: 0 0 0 2.5px rgba(0,194,209,0.18); }
.infg__dot--teal { background: var(--nc-teal); box-shadow: 0 0 0 2.5px rgba(14,124,123,0.18); }

/* Caption bar — explains the active step */
.infg__caption {
  display: flex; align-items: stretch; gap: 12px;
  margin-top: 16px;
  padding: 13px 15px;
  min-height: 70px;
  border-radius: 12px;
  background: rgba(11,15,23,0.42);
  border: 1px solid rgba(255,245,234,0.10);
  transition: border-color 300ms var(--ease-standard), background 300ms var(--ease-standard);
}
.infg__capRule {
  flex-shrink: 0; width: 3px; border-radius: 3px;
  background: rgba(232,153,104,0.85);
  transition: background 300ms var(--ease-standard);
}
.infg__capBody { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.infg__capHead {
  font: 600 14px var(--font-body);
  color: #FFF5EA; line-height: 1.25;
}
.infg__capText {
  font: 500 12px var(--font-body);
  color: rgba(247,243,234,0.8); line-height: 1.45;
  text-wrap: pretty;
}
.infg__capBody { animation: infgCapIn 220ms var(--ease-standard); }
@keyframes infgCapIn {
  from { opacity: 0; transform: translateY(3px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* Per-step caption accent */
.infg__caption--inputs     .infg__capRule { background: var(--nc-signal-cyan); }
.infg__caption--pulse      .infg__capRule { background: var(--pulse-orange); }
.infg__caption--consulting .infg__capRule { background: rgba(110,170,255,0.9); }
.infg__caption--outputs    .infg__capRule { background: var(--nc-teal); }
.infg__caption--final      .infg__capRule { background: var(--pulse-orange); }
.infg__caption--final {
  border-color: rgba(217,119,87,0.34);
  background: rgba(184,87,48,0.10);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .infg, .infg__card { transition: none !important; opacity: 1 !important; transform: none !important; }
  .infg__col, .infg__caption { transition: none !important; }
  .infg__capBody { animation: none !important; }
}

/* Mobile */
.is-mobile .infg { min-height: 0; border-radius: 16px; padding: 16px 14px; }
.is-mobile .infg__flow { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.is-mobile .infg__heads,
.is-mobile .infg__grid  { min-width: 560px; }
.is-mobile .infg__caption { min-height: 0; }

/* ============ SECTION SHELL ============ */
.section { padding: 96px 0; }
.section--tight { padding: 72px 0; }
.section__head { max-width: 760px; margin-bottom: 56px; }
.section__h2 {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(36px, 3.4vw, 52px); line-height: 1.05;
  margin: 18px 0 18px; letter-spacing: -0.002em; text-wrap: balance;
}
.section__h2 .accent {
  background: linear-gradient(92deg, #B85730 0%, #D97757 60%, #E89968 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.section__h2 .accent--navy {
  background: linear-gradient(92deg, #0B1B33 0%, #1E3A8A 55%, #0E7C7B 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.section__lead {
  font-size: 19px; line-height: 1.55; color: var(--fg-2);
  max-width: 640px;
}

/* ============ PROBLEM section (legacy class kept for reference) ============ */
.problem { background: var(--nc-offwhite); }

/* ============ AUSGANGSSITUATION — Section 02 ============ */
/* Cool navy family (continues the Trust band); bottom softly blends
   into the warm PULSE world below — no hard horizontal edge. */
.ausgst {
  /* One continuous navy → pulse-dark blend across the whole section, so the
     hand-off to the PULSE (.engine) section below is seamless — no flat-hold
     kink, no perceptible horizontal line. Ends exactly on the engine's top
     colour (#1E1009). */
  background: linear-gradient(to bottom,
    var(--nc-deep-navy) 0%,
    #0c1626 32%,
    #131019 60%,
    #1a1109 82%,
    #1E1009 100%);
}
.ausgst .section__h2 { color: var(--d-fg-1); }
.ausgst .section__lead { color: rgba(188,174,161,0.85); }
.ausgst .section__h2 .accent {
  background: linear-gradient(110deg, #B85730 0%, #D97757 55%, #E89968 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ausgst__head { max-width: 700px; margin-bottom: 52px; }

.ausgst__split {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 56px;
  align-items: center;
}

/* Cards */
.ausgst__cards { display: flex; flex-direction: column; gap: 14px; }
.ausgst__card {
  display: flex; align-items: flex-start; gap: 18px;
  padding: 20px 22px 18px;
  border-radius: var(--r-lg);
  border: 1px solid rgba(255,245,234,0.09);
  background: rgba(21,27,38,0.55);
  cursor: default; position: relative; overflow: hidden;
  transition: border-color 200ms ease, background 200ms ease, box-shadow 200ms ease;
}
.ausgst__card::after {
  content: ''; position: absolute; bottom: 0; left: 20px;
  width: 28px; height: 2px;
  background: var(--pulse-copper); opacity: 0;
  transition: opacity 220ms ease, width 220ms ease;
}
.ausgst__card:hover,
.ausgst__card.is-active {
  border-color: rgba(184,87,48,0.48);
  background: rgba(184,87,48,0.08);
  box-shadow: 0 0 28px -10px rgba(184,87,48,0.30);
}
.ausgst__card:hover::after,
.ausgst__card.is-active::after { opacity: 1; width: 40px; }

.ausgst__icon {
  flex-shrink: 0; width: 50px; height: 50px; border-radius: 10px;
  border: 1px solid rgba(184,87,48,0.38); background: rgba(184,87,48,0.10);
  display: flex; align-items: center; justify-content: center;
  color: var(--pulse-orange);
  transition: border-color 200ms ease, background 200ms ease;
}
.ausgst__card:hover .ausgst__icon,
.ausgst__card.is-active .ausgst__icon {
  border-color: rgba(217,119,87,0.62);
  background: rgba(184,87,48,0.18);
}
.ausgst__icon svg { width: 22px; height: 22px; }

.ausgst__cardBody { flex: 1; }
.ausgst__cardTitle {
  font: 600 17px var(--font-display); color: var(--pulse-orange);
  margin: 0 0 7px; line-height: 1.2;
}
.ausgst__cardText {
  font: 400 14.5px var(--font-body);
  color: rgba(188,174,161,0.88); line-height: 1.58; margin: 0;
}

/* Graphic column */
.ausgst__vis { min-width: 0; }
.ausgst__svg { width: 100%; height: auto; overflow: visible; }
.ausgst__plate { outline: none; }
.ausgst__plate:focus-visible polygon {
  stroke: var(--pulse-orange);
  stroke-width: 1.6;
}

/* Entrance animations */
.ausgst__split .ausgst__card {
  opacity: 0; transform: translateX(-14px);
  transition:
    opacity 380ms var(--ease-emphasized),
    transform 380ms var(--ease-emphasized),
    border-color 200ms ease,
    background 200ms ease,
    box-shadow 200ms ease;
}
.ausgst__split.is-revealed .ausgst__card:nth-child(1) { opacity:1; transform:none; transition-delay:60ms; }
.ausgst__split.is-revealed .ausgst__card:nth-child(2) { opacity:1; transform:none; transition-delay:150ms; }
.ausgst__split.is-revealed .ausgst__card:nth-child(3) { opacity:1; transform:none; transition-delay:240ms; }
.ausgst__vis {
  opacity: 0; transform: translateX(14px);
  transition: opacity 460ms var(--ease-emphasized), transform 460ms var(--ease-emphasized);
  transition-delay: 100ms;
}
.ausgst__split.is-revealed .ausgst__vis { opacity:1; transform:none; }

/* Beam pulse */
@keyframes ausgstBeamPulse {
  0%, 100% { opacity: 0.40; }
  50%       { opacity: 0.80; }
}
.ausgst__beamGlow { animation: ausgstBeamPulse 3.5s ease-in-out infinite; }

/* Responsive */
@media (max-width: 960px) {
  .ausgst__split { grid-template-columns: 1fr; gap: 36px; }
  .ausgst__vis { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .ausgst__svg { min-width: 380px; }
}
@media (prefers-reduced-motion: reduce) {
  .ausgst__beamGlow { animation: none !important; opacity: 0.55 !important; }
  .ausgst__split .ausgst__card,
  .ausgst__vis { opacity: 1 !important; transform: none !important; }
}


.problem__grid {
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: start;
}
.problem__cards { display: grid; grid-template-columns: 1fr; gap: 16px; }
.problem__principle {
  margin-top: 28px;
  display: flex; gap: 10px; align-items: flex-start;
  font: 500 12px var(--font-mono); letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-3);
  max-width: 480px; line-height: 1.6;
}
.problem__principleMark {
  color: var(--nc-cobalt);
  font-family: var(--font-mono); font-size: 16px;
  margin-top: -2px;
  flex-shrink: 0;
}
.painCard {
  background: #FFF;
  border: 1px solid var(--border-1);
  border-radius: 14px;
  padding: 24px;
  display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start;
  box-shadow: var(--shadow-card);
}
.painCard__icon {
  width: 44px; height: 44px; border-radius: 10px;
  background: rgba(184, 87, 48, 0.08); color: var(--pulse-copper);
  display: flex; align-items: center; justify-content: center;
}
.painCard__title { font: 600 17px var(--font-body); margin-bottom: 6px; color: var(--nc-ink); }
.painCard__body { font-size: 14.5px; color: var(--fg-2); line-height: 1.55; margin: 0; }
.painCard__mono { font: 500 11px var(--font-mono); color: var(--fg-3); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 10px; }

/* ============ EVIDENCE ENGINE (signature) ============ */
/* Warm, immersive PULSE dark. Top meets the warm blend coming out of
   Ausgangssituation; bottom hands off to the light Novemcore reveal. */
.engine {
  background: linear-gradient(180deg, #1E1009 0%, #170D08 60%, #160C07 100%);
  color: #F7F3EA;
  position: relative; overflow: hidden;
}
.engine::before {
  content: ""; position: absolute; inset: 0;
  /* Ambient warmth sits inside the panel — pushed down from the top edge so
     it never forms a bright glow band at the seam coming out of the navy
     Ausgangssituation section above. */
  background:
    radial-gradient(48% 38% at 78% 16%, rgba(217,119,87,0.13) 0%, transparent 64%),
    radial-gradient(40% 32% at 8% 52%, rgba(184,87,48,0.10) 0%, transparent 62%);
  pointer-events: none;
}
.engine .eyebrow { color: var(--pulse-copper); }
.engine .section__h2 { color: #F7F3EA; }
.engine .section__lead { color: rgba(247,243,234,0.75); }

.tabs {
  display: inline-flex; gap: 4px;
  padding: 4px;
  background: rgba(255,245,234,0.05);
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 999px;
  margin-bottom: 28px;
  position: relative; z-index: 2;
}
.tab {
  display: inline-flex; align-items: center; gap: 8px;
  font: 500 13px var(--font-body); color: rgba(247,243,234,0.7);
  padding: 10px 18px; border-radius: 999px; border: 0;
  background: transparent; cursor: pointer;
  transition: all 200ms var(--ease-standard);
}
.tab__num { font: 500 10px var(--font-mono); color: rgba(247,243,234,0.4); }
.tab.is-active {
  background: linear-gradient(135deg, #2A160E 0%, #1E1009 100%);
  color: #FFF5EA;
  box-shadow: inset 0 0 0 1px rgba(217,119,87,0.42), 0 8px 24px -10px rgba(184,87,48,0.55);
}
.tab.is-active .tab__num { color: var(--pulse-amber); }
.tab:hover:not(.is-active) { color: #F7F3EA; }

.engineStage {
  display: grid; grid-template-columns: 360px 1fr; gap: 40px;
  align-items: start;
  min-height: 460px;
  position: relative; z-index: 2;
}
.engineStage__title {
  font: 500 32px var(--font-display); color: #F7F3EA; line-height: 1.1;
  margin: 0 0 16px;
}
.engineStage__lead {
  font-size: 15.5px; color: rgba(247,243,234,0.78); line-height: 1.6;
  margin: 0 0 24px;
}
.engineStage__bullets { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.engineStage__bullet {
  display: grid; grid-template-columns: 18px 1fr; gap: 10px;
  font: 500 13.5px var(--font-body); color: #E7DFD4;
  line-height: 1.5;
}
.engineStage__bullet svg { color: var(--pulse-amber); margin-top: 3px; flex-shrink: 0; }
.engineStage__link {
  font: 500 13px var(--font-body); color: var(--pulse-orange);
  text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
}
.engineStage__link:hover { color: var(--pulse-amber); }

.engineStage__visual {
  background:
    radial-gradient(60% 50% at 80% 0%, rgba(217,119,87,0.10) 0%, transparent 70%),
    #150A06;
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 18px;
  padding: 0;
  min-height: 460px;
  max-height: 480px;
  position: relative;
  overflow: hidden;
}

/* Engine state-specific visuals — Interview Intelligence */
.eng-interview {
  padding: 28px 32px 32px; display: flex; flex-direction: column; gap: 16px;
  height: 100%;
}
.eng-interview__head {
  display: flex; justify-content: space-between; align-items: center;
  padding-bottom: 14px; border-bottom: 1px solid rgba(255,245,234,0.08);
}
.eng-interview__headLbl { font: 500 10px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(247,243,234,0.5); }
.eng-interview__id { font: 500 11px var(--font-mono); color: rgba(247,243,234,0.7); }
.eng-bubble {
  max-width: 70%;
  padding: 12px 14px;
  border-radius: 14px;
  font: 500 13.5px var(--font-body); line-height: 1.45;
  color: #FFF5EA;
}
.eng-bubble--ai { background: rgba(247,243,234,0.06); border: 1px solid rgba(255,245,234,0.08); border-bottom-left-radius: 6px; align-self: flex-start; }
.eng-bubble--user { background: var(--pulse-cta-gradient); color: #FFF; border-bottom-right-radius: 6px; align-self: flex-end; box-shadow: 0 8px 24px -10px rgba(184,87,48,0.55); }
.eng-bubble__from { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; font: 500 10px var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--pulse-amber); }
.eng-bubble__from img { width: 16px; height: 16px; }
.eng-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.eng-chip {
  font: 500 10px var(--font-mono); letter-spacing: 0.08em;
  padding: 4px 9px; border-radius: 999px;
  background: rgba(217,119,87,0.12); color: var(--pulse-amber);
  border: 1px solid rgba(217,119,87,0.25);
  display: inline-flex; align-items: center; gap: 5px;
}
.eng-chip--check svg { color: var(--nc-progress-green); }
.eng-chip--check { background: rgba(112,201,119,0.12); color: var(--nc-progress-green); border-color: rgba(112,201,119,0.28); }
.eng-chip--neutral {
  background: rgba(247,243,234,0.06);
  color: var(--nc-paper);
  border-color: rgba(255,245,234,0.18);
}
.eng-followup {
  margin-top: 8px; padding: 12px 14px;
  background: rgba(11,15,23,0.5);
  border: 1px dashed rgba(217,119,87,0.42);
  border-radius: 12px;
  display: flex; gap: 12px; align-items: flex-start;
  font: 500 13px var(--font-body); color: #FFF5EA; line-height: 1.5;
}
.eng-followup__lbl { font: 500 10px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--pulse-amber); margin-bottom: 6px; }

/* Knowledge Context state visual */
.eng-knowledge { padding: 28px 32px 32px; height: 100%; display: flex; flex-direction: column; gap: 18px; }
.eng-know__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; border-bottom: 1px solid rgba(255,245,234,0.08); }
.eng-know__layers { display: flex; flex-direction: column; gap: 12px; }
.eng-layer {
  border: 1px solid rgba(255,245,234,0.10);
  background: rgba(247,243,234,0.04);
  border-radius: 12px; padding: 14px 16px;
}
.eng-layer__head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.eng-layer__icon {
  width: 28px; height: 28px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,245,234,0.06); color: var(--pulse-amber);
}
.eng-layer__title { font: 600 14px var(--font-body); color: #FFF5EA; }
.eng-layer__count { font: 500 10px var(--font-mono); letter-spacing: 0.1em; color: rgba(247,243,234,0.5); margin-left: auto; }
.eng-layer__items { display: flex; flex-wrap: wrap; gap: 6px; }
.eng-layer__item {
  font: 500 11px var(--font-body);
  padding: 4px 9px; border-radius: 6px;
  background: rgba(11,15,23,0.5); color: rgba(247,243,234,0.85);
  border: 1px solid rgba(255,245,234,0.06);
}
.eng-layer__principle {
  margin-top: 4px; padding: 12px 14px;
  background: rgba(217,119,87,0.08);
  border: 1px solid rgba(217,119,87,0.25);
  border-radius: 10px;
  font: 500 12.5px var(--font-body); color: #FFF5EA;
  display: flex; gap: 10px; align-items: center;
}
.eng-layer__principle svg { color: var(--pulse-amber); flex-shrink: 0; }

/* Analysis Engine state visual */
.eng-analysis { padding: 28px 32px 32px; height: 100%; display: flex; flex-direction: column; gap: 18px; }
.eng-an__row {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px;
}
.eng-an__card {
  background: rgba(247,243,234,0.04);
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 12px; padding: 14px;
  display: flex; flex-direction: column; gap: 8px;
  min-height: 180px;
}
.eng-an__card.is-active {
  background: rgba(217,119,87,0.10);
  border-color: rgba(217,119,87,0.42);
  box-shadow: inset 0 0 0 1px rgba(217,119,87,0.25);
}
.eng-an__icon {
  width: 32px; height: 32px; border-radius: 8px;
  background: rgba(255,245,234,0.06); color: var(--pulse-amber);
  display: flex; align-items: center; justify-content: center;
}
.eng-an__lbl { font: 500 10px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(247,243,234,0.5); }
.eng-an__title { font: 600 14.5px var(--font-body); color: #FFF5EA; line-height: 1.25; }
.eng-an__desc { font: 500 12px var(--font-body); color: rgba(247,243,234,0.7); line-height: 1.5; }
.eng-an__visual {
  flex: 1; margin-top: 4px; min-height: 60px;
  border-top: 1px dashed rgba(255,245,234,0.10);
  padding-top: 8px;
  display: flex; align-items: center; justify-content: center;
}
.eng-an__output {
  background: rgba(11,15,23,0.55);
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 12px;
  padding: 16px 18px;
  display: flex; gap: 14px; align-items: center;
}
.eng-an__output svg { color: var(--pulse-amber); flex-shrink: 0; }
.eng-an__outputBody { flex: 1; }
.eng-an__outputTitle { font: 600 14px var(--font-body); color: #FFF5EA; }
.eng-an__outputDesc { font: 500 12px var(--font-body); color: rgba(247,243,234,0.65); line-height: 1.5; margin-top: 4px; }
.eng-an__outputBadge {
  font: 500 10px var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 999px;
  background: rgba(112,201,119,0.16); color: var(--nc-progress-green);
}

/* Mini chart bars for analysis state visuals */
.miniBars { display: flex; align-items: flex-end; gap: 4px; height: 50px; width: 100%; }
.miniBars span { flex: 1; background: rgba(255,245,234,0.18); border-radius: 2px 2px 0 0; }
.miniBars span.acc { background: linear-gradient(180deg, #E89968, #B85730); }

.miniMatrix {
  width: 100%; height: 80px; position: relative;
  border-left: 1px solid rgba(255,245,234,0.18);
  border-bottom: 1px solid rgba(255,245,234,0.18);
}
.miniMatrix span {
  position: absolute; width: 8px; height: 8px; border-radius: 50%;
  background: var(--pulse-amber);
}

/* Governance strip */
.governance {
  margin-top: 56px;
  background: rgba(247,243,234,0.04);
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 14px;
  padding: 20px 28px;
  display: grid; grid-template-columns: 130px repeat(4, 1fr);
  gap: 28px; align-items: center;
  position: relative; z-index: 2;
}
.governance__lbl { font: 500 10px var(--font-mono); letter-spacing: 0.16em; text-transform: uppercase; color: rgba(247,243,234,0.5); }
.governance__item { display: flex; align-items: center; gap: 10px; font: 500 13px var(--font-body); color: #F7F3EA; }
.governance__item svg { color: var(--nc-progress-green); flex-shrink: 0; }

/* ============ ENGINE REDESIGN — V2 Panels ============ */

/* Use-case chips */
.eng-usecases { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.eng-usecase-chip {
  font: 500 11px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase;
  padding: 5px 13px; border-radius: 999px;
  background: rgba(247,243,234,0.07); color: rgba(247,243,234,0.62);
  border: 1px solid rgba(255,245,234,0.20);
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
  cursor: default;
}
.eng-usecase-chip:hover {
  background: rgba(184,87,48,0.11);
  border-color: rgba(184,87,48,0.34);
  color: rgba(247,243,234,0.82);
}
/* Shared panel wrapper */
.eng-v2 { padding: 22px 26px 24px; display: flex; flex-direction: column; gap: 13px; height: 100%; box-sizing: border-box; }
/* Header bar */
.eng-bar { display: flex; align-items: center; justify-content: space-between; padding-bottom: 11px; border-bottom: 1px solid rgba(255,245,234,0.08); flex-shrink: 0; }
.eng-bar__lbl { font: 500 10px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(247,243,234,0.42); }
/* Chat */
.eng-chat { display: flex; flex-direction: column; gap: 9px; flex-shrink: 0; }
.eng-msg { display: flex; align-items: flex-start; gap: 9px; }
.eng-msg--user { flex-direction: row-reverse; }
.eng-msg__ava { width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0; background: rgba(184,87,48,0.14); border: 1px solid rgba(184,87,48,0.30); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.eng-msg__ava img { width: 14px; height: 14px; }
.eng-msg__from { font: 600 9px var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--pulse-amber); margin-bottom: 4px; }
.eng-msg__bub { max-width: 74%; padding: 9px 12px; border-radius: 11px; font: 400 12.5px var(--font-body); line-height: 1.45; color: rgba(247,243,234,0.88); }
.eng-msg__bub--ai { background: rgba(247,243,234,0.05); border: 1px solid rgba(255,245,234,0.09); border-bottom-left-radius: 4px; }
.eng-msg__bub--usr { background: linear-gradient(135deg,rgba(184,87,48,0.40),rgba(217,119,87,0.30)); border: 1px solid rgba(217,119,87,0.36); border-bottom-right-radius: 4px; color: #FFF5EA; }
/* Follow-up */
.eng-fup { padding: 11px 13px; flex-shrink: 0; background: rgba(11,15,23,0.55); border: 1px dashed rgba(217,119,87,0.46); border-radius: 11px; }
.eng-fup__head { display: flex; align-items: center; gap: 7px; margin-bottom: 6px; font: 600 9px var(--font-mono); letter-spacing: 0.15em; text-transform: uppercase; color: var(--pulse-amber); }
.eng-fup__text { font: 500 12.5px var(--font-body); color: #FFF5EA; line-height: 1.45; }
/* Reasoning cards */
.eng-reasoning { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin-top: auto; flex-shrink: 0; }
.eng-reason { padding: 9px 7px 11px; border-radius: 10px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.eng-reason__ico { opacity: 0.88; }
.eng-reason__lbl { font: 600 10px var(--font-body); line-height: 1.3; }
.eng-reason--copper { background: rgba(184,87,48,0.13); border: 1px solid rgba(184,87,48,0.30); color: var(--pulse-orange); }
.eng-reason--cobalt { background: rgba(30,58,138,0.16); border: 1px solid rgba(30,58,138,0.28); color: rgba(100,160,255,0.88); }
.eng-reason--teal   { background: rgba(14,124,123,0.13); border: 1px solid rgba(14,124,123,0.28); color: var(--nc-signal-cyan); }
/* Flow connector */
@keyframes engDotFlow { 0% { stroke-dashoffset: 14; } 100% { stroke-dashoffset: 0; } }
.eng-flow { animation: engDotFlow 1.6s linear infinite; }
/* ── Knowledge Context ── */
.eng-kb2 { display: grid; grid-template-columns: 168px 44px 1fr; gap: 0; flex: 1; min-height: 0; align-items: center; }
.eng-kb2__srcs { display: flex; flex-direction: column; gap: 9px; }
.eng-kb2__srcsLbl { font: 500 9px var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: rgba(247,243,234,0.32); margin-bottom: 6px; }
.eng-kb2__src { padding: 9px 11px; border-radius: 10px; background: rgba(247,243,234,0.04); border: 1px solid rgba(100,160,255,0.18); display: flex; gap: 9px; align-items: center; }
.eng-kb2__srcIco { color: rgba(100,160,255,0.72); flex-shrink: 0; }
.eng-kb2__srcLbl { font: 500 11.5px var(--font-body); color: rgba(247,243,234,0.78); }
.eng-kb2__conn { display: block; width: 100%; align-self: stretch; }
.eng-kb2__panel { padding: 14px 13px; background: radial-gradient(ellipse at 50% 0%,rgba(184,87,48,0.22) 0%,rgba(184,87,48,0.04) 70%),rgba(20,8,4,0.85); border: 1px solid rgba(184,87,48,0.48); border-radius: 14px; box-shadow: 0 0 30px -10px rgba(184,87,48,0.42),inset 0 0 22px -12px rgba(184,87,48,0.14); }
.eng-kb2__pHead { display: flex; align-items: center; gap: 10px; margin-bottom: 11px; }
.eng-kb2__pMark { width: 20px; height: 20px; }
.eng-kb2__pSub { font: 500 9px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--pulse-amber); }
.eng-kb2__pTitle { font: 600 14px var(--font-display); color: #FFF5EA; }
.eng-kb2__dbIco { text-align: center; margin: 4px 0 11px; color: var(--pulse-copper); }
.eng-kb2__items { display: flex; flex-direction: column; gap: 7px; }
.eng-kb2__item { display: flex; align-items: center; gap: 9px; padding: 8px 10px; border-radius: 9px; background: rgba(11,15,23,0.55); border: 1px solid rgba(255,245,234,0.08); font: 500 12px var(--font-body); color: rgba(247,243,234,0.85); }
.eng-kb2__itemIco { color: var(--pulse-amber); flex-shrink: 0; }
.eng-kb2__foot { font: 400 10.5px var(--font-body); color: rgba(247,243,234,0.38); line-height: 1.5; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255,245,234,0.07); }
/* ── Analysis Engine ── */
.eng-an3 { display: grid; grid-template-columns: 1fr 28px 0.9fr 28px 1fr; gap: 0; flex: 1; min-height: 0; align-items: center; }
.eng-an3__col { display: flex; flex-direction: column; gap: 6px; }
.eng-an3__colLbl { font: 500 9px var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: rgba(247,243,234,0.32); margin-bottom: 4px; }
.eng-an3__card { padding: 7px 9px; border-radius: 8px; font: 500 11px var(--font-body); color: rgba(247,243,234,0.78); display: flex; align-items: center; gap: 8px; line-height: 1.3; }
.eng-an3__card--in { background: rgba(247,243,234,0.04); border: 1px solid rgba(100,160,255,0.18); }
.eng-an3__card--out { background: rgba(184,87,48,0.07); border: 1px solid rgba(184,87,48,0.22); }
.eng-an3__cIco--blue   { color: rgba(100,160,255,0.72); flex-shrink: 0; }
.eng-an3__cIco--copper { color: var(--pulse-amber); flex-shrink: 0; }
.eng-an3__conn { display: block; width: 100%; align-self: stretch; }
.eng-an3__engine { padding: 13px 11px; align-self: center; background: radial-gradient(ellipse at 50% 0%,rgba(184,87,48,0.26) 0%,rgba(184,87,48,0.05) 70%),rgba(20,8,4,0.88); border: 1px solid rgba(184,87,48,0.52); border-radius: 12px; box-shadow: 0 0 28px -8px rgba(184,87,48,0.48),inset 0 0 20px -10px rgba(184,87,48,0.14); display: flex; flex-direction: column; gap: 8px; }
.eng-an3__eHead { display: flex; align-items: center; gap: 9px; margin-bottom: 4px; }
.eng-an3__eMark { width: 17px; height: 17px; flex-shrink: 0; }
.eng-an3__eTitle { font: 600 12px var(--font-display); color: var(--pulse-orange); line-height: 1.3; }
.eng-an3__cap { display: flex; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 7px; background: rgba(11,15,23,0.55); border: 1px solid rgba(255,245,234,0.08); font: 500 11px var(--font-body); color: rgba(247,243,234,0.82); }
.eng-an3__capIco { color: var(--pulse-amber); flex-shrink: 0; }
/* Responsive */
@media (max-width: 960px) {
  .eng-reasoning { grid-template-columns: repeat(2,1fr); }
  .eng-kb2 { grid-template-columns: 1fr; }
  .eng-kb2__conn { display: none; }
  .eng-an3 { grid-template-columns: 1fr; }
  .eng-an3__conn { display: none; }
  .eng-an3__engine { align-self: auto; }
}
@media (prefers-reduced-motion: reduce) { .eng-flow { animation: none !important; } }

/* ── Panel exit / enter transitions ── */
.engineStage__visual {
  min-height: 360px; max-height: none;
  transition: opacity 360ms var(--ease-emphasized), transform 360ms var(--ease-emphasized);
}
.engineStage__visual.eng-vis-exit { opacity: 0; transform: translateY(12px); }
@keyframes engV2Enter { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:none; } }
.eng-v2 { animation: engV2Enter 380ms var(--ease-emphasized) both; }

/* ── Phase animation system ── */
.eng-phase {
  transition: opacity 380ms var(--ease-emphasized), transform 380ms var(--ease-emphasized);
}
.eng-phase:not(.is-vis) { opacity:0; transform:translateY(8px); }
.eng-phase.is-vis       { opacity:1; transform:none; }
.eng-msg--user.eng-phase:not(.is-vis) { transform:translateX(10px); }
.eng-msg--user.eng-phase.is-vis       { transform:none; }

/* ── Reasoning active states ── */
.eng-reason { transition: border-color 280ms ease, background 280ms ease, box-shadow 280ms ease, opacity 280ms ease; }
.eng-reason.is-seen   { opacity: 0.45; }
.eng-reason.is-active { opacity: 1 !important; }
.eng-reason--copper.is-active { border-color:rgba(184,87,48,0.65);  box-shadow:0 0 18px -4px rgba(184,87,48,0.42); }
.eng-reason--cobalt.is-active { border-color:rgba(100,160,255,0.60);box-shadow:0 0 18px -4px rgba(100,160,255,0.36); }
.eng-reason--teal.is-active   { border-color:rgba(14,124,123,0.60); box-shadow:0 0 18px -4px rgba(0,194,209,0.32); }
/* Final hold-state: all 4 cards settled/checked — calmer than is-active, more visible than is-seen */
.eng-reason.is-settled { opacity: 0.80; }
.eng-reason--copper.is-settled { border-color:rgba(184,87,48,0.50); box-shadow:0 0 10px -4px rgba(184,87,48,0.24); }
.eng-reason--cobalt.is-settled { border-color:rgba(100,160,255,0.44); box-shadow:0 0 10px -4px rgba(100,160,255,0.20); }
.eng-reason--teal.is-settled   { border-color:rgba(14,124,123,0.46); box-shadow:0 0 10px -4px rgba(0,194,209,0.18); }
.eng-fup.eng-phase.is-vis { border-color:rgba(217,119,87,0.60); box-shadow:0 0 22px -6px rgba(217,119,87,0.32); }

/* ── KB source active ── */
.eng-kb2__src { transition: border-color 320ms ease, background 320ms ease, box-shadow 320ms ease; }
.eng-kb2__src.is-active { border-color:rgba(100,160,255,0.44); background:rgba(100,160,255,0.09); box-shadow:0 0 12px -4px rgba(100,160,255,0.28); }
.eng-kb2__panel { transition: border-color 400ms ease, box-shadow 400ms ease; }
.eng-kb2__panel.is-active { border-color:rgba(184,87,48,0.62); box-shadow:0 0 38px -8px rgba(184,87,48,0.52),inset 0 0 24px -12px rgba(184,87,48,0.18); }
.eng-kb2__item { transition: border-color 280ms ease, background 280ms ease, color 280ms ease, box-shadow 280ms ease; }
.eng-kb2__item.is-active { border-color:rgba(217,119,87,0.35); background:rgba(184,87,48,0.14); color:rgba(247,243,234,0.96); box-shadow:0 0 10px -4px rgba(184,87,48,0.26); }
/* Wider sources column */
.eng-kb2 { grid-template-columns: 192px 48px 1fr; }

/* ── Analysis active states ── */
.eng-an3__card { transition: border-color 260ms ease, background 260ms ease, box-shadow 260ms ease; }
.eng-an3__card--in.is-active  { border-color:rgba(100,160,255,0.46); background:rgba(100,160,255,0.11); box-shadow:0 0 10px -4px rgba(100,160,255,0.28); }
.eng-an3__card--out.is-active { border-color:rgba(184,87,48,0.50); background:rgba(184,87,48,0.16); color:rgba(247,243,234,0.96); box-shadow:0 0 10px -4px rgba(184,87,48,0.30); }
.eng-an3__cap { transition: border-color 260ms ease, background 260ms ease, box-shadow 260ms ease; }
.eng-an3__cap.is-active { border-color:rgba(217,119,87,0.44); background:rgba(184,87,48,0.20); box-shadow:0 0 12px -4px rgba(184,87,48,0.34); }
.eng-an3__engine.is-glowing {
  border-color: rgba(217,119,87,0.50);
  box-shadow: 0 0 28px -8px rgba(184,87,48,0.44);
  background: radial-gradient(ellipse at 50% 0%,rgba(184,87,48,0.32) 0%,rgba(184,87,48,0.07) 70%),rgba(20,8,4,0.88);
}

@media (prefers-reduced-motion: reduce) {
  .engineStage__visual, .eng-v2, .eng-phase, .eng-reason,
  .eng-kb2__src, .eng-kb2__panel, .eng-kb2__item,
  .eng-an3__card, .eng-an3__cap { transition: none !important; animation: none !important; }
  .eng-phase { opacity: 1 !important; transform: none !important; }
}

/* ============ TRANSPARENCY → IMPLEMENTATION ============ */
.t2i { background: var(--nc-paper); }
.t2i__head { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; margin-bottom: 56px; }
.t2i__principle {
  font-family: var(--font-display); font-size: 24px; font-weight: 500;
  color: var(--fg-2);
  line-height: 1.3;
}
.t2i__principle b { color: var(--pulse-copper); font-weight: 500; }
.t2i__principleNovem { color: var(--nc-cobalt) !important; }
.t2i__visual {
  display: grid; grid-template-columns: minmax(0, 1fr) 80px minmax(0, 1fr);
  gap: 0; align-items: stretch;
  background: #FFF;
  border: 1px solid var(--border-1);
  border-radius: 18px;
  overflow: hidden;
  min-height: 360px;
}
.t2i__left {
  padding: 28px 32px;
  background: var(--pulse-dark);
  color: #F7F3EA;
  display: flex; flex-direction: column; gap: 14px;
  position: relative;
}
.t2i__left::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(60% 50% at 0% 100%, rgba(217,119,87,0.18) 0%, transparent 65%);
  pointer-events: none;
}
.t2i__sideLbl { font: 500 10px var(--font-mono); letter-spacing: 0.16em; text-transform: uppercase; color: rgba(247,243,234,0.55); position: relative; z-index: 1; }
.t2i__sideTitle { font: 500 22px var(--font-display); color: #FFF5EA; line-height: 1.15; position: relative; z-index: 1; }
.t2i__output {
  background: rgba(11,15,23,0.45);
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 10px;
  padding: 11px 13px;
  display: flex; align-items: center; gap: 10px;
  font: 500 13px var(--font-body); color: #FFF5EA;
  position: relative; z-index: 1;
}
.t2i__output svg { color: var(--pulse-amber); flex-shrink: 0; }
.t2i__bridge {
  background: #FAF6EF;
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.t2i__bridge svg { color: var(--pulse-copper); width: 36px; height: 36px; }
.t2i__bridge::before, .t2i__bridge::after {
  content: ""; position: absolute; left: 50%; width: 2px;
  background: linear-gradient(180deg, rgba(184,87,48,0.45), rgba(184,87,48,0));
  transform: translateX(-50%);
}
.t2i__bridge::before { top: 0; height: 35%; background: linear-gradient(180deg, rgba(184,87,48,0), rgba(184,87,48,0.45)); }
.t2i__bridge::after { bottom: 0; height: 35%; }
.t2i__right {
  padding: 28px 32px;
  display: flex; flex-direction: column; gap: 14px;
  background: #FFF;
}
.t2i__right .t2i__sideLbl { color: var(--fg-3); }
.t2i__right .t2i__sideTitle { color: var(--nc-ink); }
.t2i__chip {
  background: var(--nc-paper);
  border: 1px solid var(--border-1);
  border-radius: 10px;
  padding: 11px 13px;
  display: flex; align-items: center; gap: 10px;
  font: 500 13px var(--font-body); color: var(--nc-ink);
}
.t2i__chip svg { flex-shrink: 0; }
.t2i__chip--auto svg { color: var(--nc-progress-green); }
.t2i__chip--bi svg { color: var(--nc-signal-cyan); }
.t2i__chip--soft svg { color: var(--nc-gold); }
.t2i__chip--pmo svg { color: var(--nc-cobalt); }
.t2i__chip--expert svg { color: var(--nc-teal); }
.t2i__chip--cobalt svg { color: var(--nc-cobalt); }
.t2i__chip--teal svg { color: var(--nc-teal); }
.t2i__chip--navy svg { color: var(--nc-deep-navy); }
.t2i__chip--cobalt { border-color: rgba(30,58,138,0.30); }
.t2i__chip--teal { border-color: rgba(14,124,123,0.30); }
.t2i__chip--navy { border-color: rgba(11,27,51,0.28); }

/* ============ PROCESS & AUTOMATION INTELLIGENCE — Section 06 ============ */

.pai {
  background: linear-gradient(to bottom,
    var(--nc-paper) 0,
    var(--nc-offwhite) 150px,
    var(--nc-offwhite) 100%);
}

.pai__inner {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6.4fr);
  gap: 72px;
  align-items: center;
}

/* ── Left column ── */
.pai__left { display: flex; flex-direction: column; gap: 0; }
.pai__left .eyebrow { margin-bottom: 22px; }

.pai__h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(34px, 2.9vw, 46px);
  line-height: 1.10;
  color: var(--nc-ink);
  letter-spacing: -0.003em;
  text-wrap: balance;
  margin: 0 0 20px;
}
.pai__hl {
  background: linear-gradient(110deg, #1E3A8A 0%, #0B6E8C 50%, #0E7C7B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* Copper/orange highlight — matches hero .accent */
.pai__pulse-accent {
  background: linear-gradient(92deg, #B85730 0%, #D97757 50%, #E89968 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.pai__body {
  font-size: 17px;
  line-height: 1.62;
  color: var(--fg-2);
  max-width: 460px;
  margin: 0 0 11px;
  text-wrap: pretty;
}
.pai__followon {
  font-size: 15px;
  line-height: 1.58;
  color: var(--fg-3);
  max-width: 440px;
  margin: 0 0 28px;
  text-wrap: pretty;
}
.pai__pulse { color: var(--pulse-copper); font-weight: 500; }
.pai__novem { color: var(--nc-cobalt);    font-weight: 500; }

.pai__ctas { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 18px; }

/* Benefit pills */
.pai__pills { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 10px; }
.pai-pill {
  font: 500 12px var(--font-body);
  padding: 5px 12px;
  border-radius: 6px;
  background: #FFFFFF;
  border: 1px solid var(--border-1);
  color: var(--fg-2);
  box-shadow: 0 1px 2px rgba(11,15,23,0.04);
}
.pai__disclaimer {
  font: 400 12px var(--font-body);
  color: var(--fg-3);
  margin: 0;
}

/* ── Right column ── */
.pai__right { display: flex; flex-direction: column; }

/* ── PULSE dark panel ── */
.pai-panel {
  background: linear-gradient(168deg, #1E1009 0%, #120B07 100%);
  border: 1px solid rgba(184, 87, 48, 0.20);
  border-radius: 16px;
  padding: 18px 20px 20px;
  color: var(--pulse-cream);
  position: relative;
  overflow: hidden;
}
.pai-panel::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,153,104,0.28), transparent);
  pointer-events: none;
}

/* Panel header */
.pai-panel__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 245, 234, 0.07);
  margin-bottom: 12px;
  gap: 12px;
}
.pai-panel__topLeft { display: flex; align-items: center; gap: 10px; }
.pai-panel__logo { width: 22px; height: 22px; object-fit: contain; flex-shrink: 0; }
.pai-panel__product {
  font: 600 11.5px var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(232, 153, 104, 0.94);
  margin-bottom: 3px;
}
.pai-panel__sub {
  font: 500 9.5px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(247, 243, 234, 0.52);
}
.pai-panel__status {
  font: 600 9.5px var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(112, 201, 119, 0.82);
  background: rgba(112, 201, 119, 0.10);
  border: 1px solid rgba(112, 201, 119, 0.22);
  border-radius: 4px;
  padding: 3px 8px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Progress bar (4 segments) */
.pai-prog { display: flex; gap: 5px; margin-bottom: 14px; }
.pai-prog__dot {
  height: 3px;
  border-radius: 2px;
  background: rgba(255, 245, 234, 0.10);
  flex: 1;
  transition: background 320ms var(--ease-standard);
}
.pai-prog__dot.is-past { background: rgba(184, 87, 48, 0.42); }
.pai-prog__dot.is-done { background: rgba(184, 87, 48, 0.52); }
.pai-prog__dot.is-now  {
  background: var(--pulse-amber);
  box-shadow: 0 0 6px rgba(232, 153, 104, 0.45);
}
@media (prefers-reduced-motion: reduce) { .pai-prog__dot { transition: none !important; } }

/* ── Scan flow ── */
.pasf { display: flex; flex-direction: column; }

/* Shared step header */
.pasf__sh { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.pasf__num { font: 600 10px var(--font-mono); letter-spacing: 0.14em; color: var(--pulse-amber); flex-shrink: 0; }
.pasf__title { font: 600 12px var(--font-body); letter-spacing: 0.05em; text-transform: uppercase; color: rgba(255, 245, 234, 0.90); }
.pasf__sub { font: 400 10.5px var(--font-body); color: rgba(188, 174, 161, 0.50); font-style: italic; }

/* Step connectors */
.pasf-conn {
  width: 1px; height: 10px;
  background: linear-gradient(180deg, rgba(184,87,48,0.20), rgba(184,87,48,0.08));
  margin: 2px 0 2px 12px;
  transition: background 400ms ease;
}
.pasf-conn.is-on { background: linear-gradient(180deg, rgba(184,87,48,0.60), rgba(184,87,48,0.24)); }

/* Step containers: subtle inner modules — connected flow, not independent cards */
.pasf-scope, .pasf-int, .pasf-preal, .pasf-out {
  padding: 9px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255, 245, 234, 0.04);
  opacity: 0.28;
  transition: opacity 440ms var(--ease-emphasized), border-color 380ms ease;
}
.pasf-scope.is-on, .pasf-int.is-on, .pasf-preal.is-on, .pasf-out.is-on {
  opacity: 1;
  border-color: rgba(255, 245, 234, 0.08);
}
.pasf-scope.is-on  { border-color: rgba(184, 87, 48, 0.20); }
.pasf-int.is-on    { border-color: rgba(184, 87, 48, 0.22); }
.pasf-preal.is-on  { border-color: rgba(184, 87, 48, 0.18); }
@media (prefers-reduced-motion: reduce) {
  .pasf-scope, .pasf-int, .pasf-preal, .pasf-out { opacity: 1 !important; transition: none !important; }
}

/* Step 1: Scope module */
.pasf-scope__body {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 8px 11px;
  background: rgba(11, 15, 23, 0.48);
  border: 1px solid rgba(255, 245, 234, 0.08);
  border-radius: 8px;
  transition: border-color 380ms ease;
}
.pasf-scope.is-on .pasf-scope__body { border-color: rgba(184, 87, 48, 0.28); }
.pasf-scope__q { font: 400 12.5px var(--font-body); color: rgba(247, 243, 234, 0.80); line-height: 1.42; flex: 1; }
.pasf-scope__chip {
  font: 500 9.5px var(--font-mono); letter-spacing: 0.09em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 4px;
  background: rgba(184, 87, 48, 0.12); border: 1px solid rgba(184, 87, 48, 0.28);
  color: var(--pulse-amber); white-space: nowrap; flex-shrink: 0;
}

/* Step 2: PULSE Interview */
.pasf-int__mark { width: 16px; height: 16px; object-fit: contain; flex-shrink: 0; }
.pasf-int__body {
  padding: 8px 11px;
  background: rgba(11, 15, 23, 0.48);
  border: 1px solid rgba(255, 245, 234, 0.08);
  border-radius: 8px;
  display: flex; flex-direction: column; gap: 7px;
}
/* Sub-item visibility */
.pasf-int__q, .pasf-int__a, .pasf-int__chips, .pasf-int__fup {
  transition: opacity 360ms var(--ease-emphasized), transform 360ms var(--ease-emphasized);
}
.pasf-int__q:not(.is-vis), .pasf-int__a:not(.is-vis),
.pasf-int__chips:not(.is-vis), .pasf-int__fup:not(.is-vis) { opacity: 0; transform: translateY(5px); }
.pasf-int__q.is-vis, .pasf-int__a.is-vis,
.pasf-int__chips.is-vis, .pasf-int__fup.is-vis  { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .pasf-int__q, .pasf-int__a, .pasf-int__chips, .pasf-int__fup {
    transition: none !important; opacity: 1 !important; transform: none !important;
  }
}
.pasf-int__q { font: 500 12.5px var(--font-body); color: rgba(247,243,234,0.84); line-height: 1.45; }
.pasf-int__a {
  font: 400 12px var(--font-body); color: rgba(188,174,161,0.78); line-height: 1.45;
  padding-left: 10px; border-left: 2px solid rgba(188,174,161,0.16);
}
.pasf-int__chips { display: flex; gap: 6px; flex-wrap: wrap; }
.pasf-chip {
  font: 500 9.5px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 4px;
  background: rgba(247,243,234,0.06); border: 1px solid rgba(255,245,234,0.12);
  color: rgba(188,174,161,0.68);
}
.pasf-int__fup {
  padding: 8px 10px;
  background: rgba(232,153,104,0.08); border: 1px solid rgba(232,153,104,0.28); border-radius: 7px;
}
.pasf-int__fup-lbl {
  font: 600 9.5px var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--pulse-amber); display: block; margin-bottom: 4px;
}
.pasf-int__fup-q { font: 500 12.5px var(--font-body); color: rgba(247,243,234,0.88); line-height: 1.45; }

/* Step 3: Prozessrealität */
.pasf-pline {
  display: flex; align-items: center; gap: 5px; flex-wrap: nowrap;
  margin-bottom: 9px; opacity: 0.40; transition: opacity 400ms ease;
}
.pasf-preal.is-on .pasf-pline { opacity: 1; }
.pasf-pline__node {
  font: 500 10.5px var(--font-body); color: rgba(188,174,161,0.58);
  background: rgba(11,15,23,0.48); border: 1px solid rgba(255,245,234,0.07);
  border-radius: 5px; padding: 4px 8px; white-space: nowrap;
}
.pasf-pline__arr { font-size: 11px; color: rgba(188,174,161,0.25); flex-shrink: 0; font-family: var(--font-body); }

/* PULSE AI Analyse chip — prominent copper/amber badge on Step 3 */
.pasf-preal__aiChip {
  display: inline-flex; align-items: center;
  font: 600 9.5px var(--font-mono);
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 4px 11px; border-radius: 5px;
  background: rgba(184, 87, 48, 0.14);
  border: 1px solid rgba(184, 87, 48, 0.42);
  color: var(--pulse-amber);
  margin-bottom: 9px;
  opacity: 0;
  transition: opacity 380ms var(--ease-emphasized);
}
.pasf-preal__aiChip.is-on { opacity: 1; }
/* Sits to the right of the Step-3 header row */
.pasf__sh .pasf-preal__aiChip { margin-left: auto; }
@media (prefers-reduced-motion: reduce) {
  .pasf-preal__aiChip { opacity: 1 !important; transition: none !important; }
}

/* KONKRETE TRANSPARENZ → label before the three analysis fields */
.pasf-transpar {
  font: 600 9px var(--font-mono);
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(247, 243, 234, 0.50);
  margin-bottom: 6px;
  transition: opacity 380ms var(--ease-emphasized);
}
.pasf-transpar:not(.is-vis) { opacity: 0; }
.pasf-transpar.is-vis { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .pasf-transpar { opacity: 1 !important; transition: none !important; }
}
/* Three analysis field cards */
.pasf-fields { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
.pasf-field {
  font: 500 11.5px var(--font-body); text-align: center;
  padding: 8px 8px; border-radius: 7px;
  background: rgba(247,243,234,0.04); border: 1px solid rgba(255,245,234,0.09);
  color: rgba(188,174,161,0.55);
  transition: opacity 400ms var(--ease-emphasized), transform 400ms var(--ease-emphasized),
              border-color 400ms ease, background 400ms ease, color 400ms ease;
}
.pasf-field:not(.is-vis) { opacity: 0; transform: translateY(7px); }
.pasf-field.is-vis {
  opacity: 1; transform: none;
  background: rgba(247,243,234,0.07); border-color: rgba(255,245,234,0.16);
  color: rgba(247,243,234,0.82);
}
.pasf-field--accent.is-vis {
  background: rgba(232,153,104,0.10); border-color: rgba(232,153,104,0.34);
  color: rgba(247,243,234,0.94);
}
@media (prefers-reduced-motion: reduce) {
  .pasf-field { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* Step 4: Sichtbare Potenziale & Priorisierung — output chips */
.pasf-out__outputs { display: flex; flex-direction: column; gap: 5px; margin-bottom: 9px; }
.pasf-out__output {
  font: 500 12.5px var(--font-body);
  padding: 8px 12px; border-radius: 7px;
  background: rgba(247, 243, 234, 0.04);
  border: 1px solid rgba(255, 245, 234, 0.08);
  color: rgba(247, 243, 234, 0.78);
  transition: opacity 360ms var(--ease-emphasized), transform 360ms var(--ease-emphasized);
}
.pasf-out__output:not(.is-vis) { opacity: 0; transform: translateX(7px); }
.pasf-out__output.is-vis { opacity: 1; transform: none; }
.pasf-out__output--accent.is-vis {
  background: rgba(184, 87, 48, 0.10);
  border-color: rgba(184, 87, 48, 0.32);
  color: rgba(247, 243, 234, 0.96);
}
@media (prefers-reduced-motion: reduce) {
  .pasf-out__output { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* Novemcore readout footer — clear contrast, cobalt/teal accent */
.pasf-out__footer {
  font: 500 10.5px var(--font-mono);
  letter-spacing: 0.10em; text-transform: uppercase;
  color: rgba(247, 243, 234, 0.88);
  background: rgba(14, 90, 110, 0.14);
  border: 1px solid rgba(14, 124, 123, 0.30);
  border-radius: 7px; padding: 8px 12px; text-align: center;
  transition: opacity 400ms var(--ease-emphasized);
}
.pasf-out__footer-pre { color: rgba(0, 194, 209, 0.72); }
.pasf-out__footer:not(.is-vis) { opacity: 0; }
.pasf-out__footer.is-vis { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .pasf-out__footer { opacity: 1 !important; transition: none !important; }
}

/* ── Scroll-reveal entrance ── */
.pai__left, .pai__right {
  opacity: 0; transform: translateY(18px);
  transition: opacity 480ms var(--ease-emphasized), transform 480ms var(--ease-emphasized);
}
.pai--on .pai__left  { opacity: 1; transform: none; transition-delay: 60ms; }
.pai--on .pai__right { opacity: 1; transform: none; transition-delay: 180ms; }
@media (prefers-reduced-motion: reduce) {
  .pai__left, .pai__right { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .pai__inner { grid-template-columns: 1fr; gap: 36px; }
  .pai__right { max-width: 680px; }
  .pai__h2 { font-size: clamp(30px, 4.5vw, 42px); }
}
@media (max-width: 640px) {
  .pasf-fields { grid-template-columns: 1fr; }
  .pasf-pline { overflow-x: auto; padding-bottom: 4px; }
  .pasf-out__output { font-size: 12px; }
  .pasf-preal__aiChip { font-size: 9px; }
}

/* ============ PROCESS & AUTOMATION (first entry) ============ */
.pa { background: var(--nc-sand); }
.pa__inner { display: grid; grid-template-columns: 1fr 1.15fr; gap: 64px; align-items: center; }
.pa__visual {
  background:
    radial-gradient(40% 40% at 100% 0%, rgba(184,87,48,0.10) 0%, transparent 70%),
    linear-gradient(180deg, #0B1B33 0%, #07090D 100%);
  border-radius: 18px;
  padding: 28px;
  color: #F7F3EA;
  position: relative;
  overflow: hidden;
  min-height: 480px;
  border: 1px solid rgba(255,245,234,0.08);
}
.pa__visualHead { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 1px solid rgba(255,245,234,0.10); margin-bottom: 18px; }
.pa__title { font: 500 17px var(--font-display); color: #F7F3EA; }
.pa__sub { font: 500 10px var(--font-mono); color: rgba(247,243,234,0.5); letter-spacing: 0.12em; text-transform: uppercase; }

.pa__map { display: flex; gap: 8px; align-items: stretch; margin-bottom: 20px; }
.pa__step {
  flex: 1;
  background: rgba(247,243,234,0.05);
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 10px;
  padding: 10px 12px;
  font: 500 11.5px var(--font-body); color: rgba(247,243,234,0.85);
  position: relative;
  min-height: 60px;
}
.pa__stepNum { font: 500 9px var(--font-mono); color: rgba(247,243,234,0.4); letter-spacing: 0.1em; margin-bottom: 4px; display: block; }
.pa__step--friction {
  background: rgba(217,119,87,0.12); border-color: rgba(217,119,87,0.45);
  color: #FFF5EA;
  box-shadow: inset 0 0 0 1px rgba(217,119,87,0.25);
}
.pa__step--friction::after {
  content: "↯"; position: absolute; top: 6px; right: 8px;
  color: var(--pulse-amber); font-size: 14px;
}
.pa__sectionTitle { font: 500 10px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(247,243,234,0.55); margin-bottom: 10px; }
.pa__sectionTitle--m { margin-top: 20px; }

.pa__sprintGrid {
  margin-top: 24px;
  display: grid; gap: 14px;
  grid-template-columns: 1fr 1fr;
  max-width: 480px;
}
.pa__sprintRow { display: flex; gap: 10px; align-items: flex-start; }
.pa__sprintNum {
  font: 500 11px var(--font-mono); color: var(--nc-cobalt);
  letter-spacing: 0.1em; margin-top: 2px;
}
.pa__sprintTitle {
  font-size: 14px; font-weight: 600; color: var(--nc-ink);
}
.pa__ctas { margin-top: 32px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.pa__matrixHolder { position: relative; padding-right: 8px; padding-bottom: 16px; }
.pa__pathChips { display: flex; gap: 8px; flex-wrap: wrap; }

.pa__matrixWrap { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pa__matrix {
  position: relative;
  height: 140px;
  border-left: 1px solid rgba(255,245,234,0.18);
  border-bottom: 1px solid rgba(255,245,234,0.18);
}
.pa__matrix::before, .pa__matrix::after { content: ""; position: absolute; background: rgba(255,245,234,0.06); }
.pa__matrix::before { left: 50%; top: 0; bottom: 0; width: 1px; }
.pa__matrix::after { top: 50%; left: 0; right: 0; height: 1px; }
.pa__matrixAxisX { position: absolute; right: -6px; bottom: -16px; font: 500 9px var(--font-mono); color: rgba(247,243,234,0.5); letter-spacing: 0.14em; text-transform: uppercase; }
.pa__matrixAxisY { position: absolute; left: -6px; top: -14px; font: 500 9px var(--font-mono); color: rgba(247,243,234,0.5); letter-spacing: 0.14em; text-transform: uppercase; }
.pa__dot {
  position: absolute; width: 10px; height: 10px; border-radius: 50%;
  transform: translate(-50%, -50%);
}
.pa__dot--amber { background: var(--pulse-amber); box-shadow: 0 0 0 4px rgba(232,153,104,0.18); }
.pa__dot--copper { background: var(--pulse-copper); }
.pa__dot--green { background: var(--nc-progress-green); }
.pa__dot--gold { background: var(--nc-gold); }

.pa__heat {
  height: 140px; display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 3px;
}
.pa__heatCell {
  border-radius: 3px; background: rgba(255,245,234,0.06);
}
.pa__heatCell[data-h="1"] { background: rgba(232,153,104,0.18); }
.pa__heatCell[data-h="2"] { background: rgba(232,153,104,0.38); }
.pa__heatCell[data-h="3"] { background: rgba(217,119,87,0.65); }
.pa__heatCell[data-h="4"] { background: rgba(184,87,48,0.92); }

/* ============ USE-CASE LENSES ============ */
.lenses__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lens {
  background: #FFF;
  border: 1px solid var(--border-1);
  border-radius: 14px;
  padding: 28px 26px;
  display: flex; flex-direction: column; gap: 12px;
  position: relative;
  transition: transform 200ms var(--ease-standard), box-shadow 200ms;
  min-height: 280px;
}
.lens:hover { transform: translateY(-2px); box-shadow: var(--shadow-pop); border-color: var(--border-strong); }
.lens__num { font: 500 10px var(--font-mono); letter-spacing: 0.14em; color: var(--fg-3); }
.lens__icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.lens--1 .lens__icon { background: rgba(184,87,48,0.10); color: var(--pulse-copper); }
.lens--2 .lens__icon { background: rgba(30,58,138,0.10); color: var(--nc-cobalt); }
.lens--3 .lens__icon { background: rgba(14,124,123,0.10); color: var(--nc-teal); }
.lens--cobalt .lens__icon { background: rgba(30,58,138,0.10); color: var(--nc-cobalt); }
.lens--teal .lens__icon { background: rgba(14,124,123,0.10); color: var(--nc-teal); }
.lens--navy .lens__icon { background: rgba(11,27,51,0.10); color: var(--nc-deep-navy); }
.lens--cobalt .lens__num { color: var(--nc-cobalt); }
.lens--teal .lens__num { color: var(--nc-teal); }
.lens--navy .lens__num { color: var(--nc-deep-navy); }
.lens--cobalt .lens__link { color: var(--nc-cobalt); }
.lens--teal .lens__link { color: var(--nc-teal); }
.lens--navy .lens__link { color: var(--nc-deep-navy); }
.lens--cobalt .lens__link:hover,
.lens--teal .lens__link:hover,
.lens--navy .lens__link:hover { color: var(--nc-ink); }
.lens__title { font: 500 22px var(--font-display); color: var(--nc-ink); line-height: 1.15; margin: 0; }
.lens__body { font-size: 14.5px; color: var(--fg-2); line-height: 1.55; margin: 0; flex: 1; }
.lens__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lens__tag {
  font: 500 11px var(--font-mono); letter-spacing: 0.04em;
  padding: 3px 8px; border-radius: 6px;
  background: var(--nc-mist); color: var(--fg-2);
}
.lens__link { font: 500 13px var(--font-body); color: var(--pulse-copper); text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.lens__link:hover { color: var(--pulse-orange); }

/* ============ PROOF / TRUST / RESOURCES ============ */
.proof {
  background: linear-gradient(to bottom,
    var(--nc-offwhite) 0,
    var(--nc-mist) 150px,
    var(--nc-mist) 100%);
}
.proof__metrics {
  background: var(--nc-slate);
  border-radius: 18px;
  padding: 32px 36px;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 24px; color: var(--d-fg-1);
  margin-bottom: 56px;
}
.metric { border-left: 1px solid rgba(255,245,234,0.10); padding-left: 20px; }
.metric:first-child { border-left: 0; padding-left: 0; }
.metric__num { font: 500 44px var(--font-display); line-height: 1; color: #F7F3EA; }
.metric__num .unit { font-size: 28px; color: var(--pulse-amber); }
.metric__lbl { font: 500 11px var(--font-mono); color: rgba(247,243,234,0.6); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 10px; }
.metric__sub { font-size: 13px; color: rgba(247,243,234,0.7); margin-top: 4px; line-height: 1.4; }
.metric__validate {
  display: inline-block;
  font: 500 9px var(--font-mono); letter-spacing: 0.16em;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(232,153,104,0.18);
  color: var(--pulse-amber);
  margin-left: 4px;
  text-transform: uppercase;
}

.resHead { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; margin-bottom: 32px; }
.resHead h3 { font: 500 36px var(--font-display); margin: 0 0 8px; color: var(--nc-ink); line-height: 1.1; }
.resHead p { color: var(--fg-2); font-size: 16px; }
.resHead__link { font: 500 14px var(--font-body); color: var(--nc-ink); text-decoration: none; border-bottom: 1px solid var(--border-strong); padding-bottom: 2px; justify-self: end; }

.resGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.resCard {
  background: #FFF;
  border: 1px solid var(--border-1);
  border-radius: 14px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform 200ms;
}
.resCard:hover { transform: translateY(-2px); box-shadow: var(--shadow-card); }
.resCard__img {
  aspect-ratio: 16 / 10;
  background: var(--nc-deep-navy);
  position: relative;
  overflow: hidden;
}
.resCard__img--1 { background: linear-gradient(135deg, #0B1B33 0%, #151B26 100%); }
.resCard__img--2 { background: linear-gradient(135deg, #2A160E 0%, #1E1009 100%); }
.resCard__img--3 { background: linear-gradient(135deg, #0E7C7B 0%, #0B1B33 100%); }
.resCard__imgInner {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  color: rgba(255,245,234,0.85);
  font: 500 11px var(--font-mono); letter-spacing: 0.18em; text-transform: uppercase;
}
.resCard__imgInner::after {
  content: "Asset needed"; position: absolute; bottom: 12px; right: 12px;
  font: 500 9px var(--font-mono); letter-spacing: 0.16em; padding: 3px 7px;
  background: rgba(255,245,234,0.10); border-radius: 4px;
}
.resCard__body { padding: 20px 22px 22px; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.resCard__type { font: 500 10px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--pulse-copper); }
.resCard__title { font: 500 19px var(--font-display); color: var(--nc-ink); margin: 0; line-height: 1.2; }
.resCard__desc { font-size: 13.5px; color: var(--fg-2); line-height: 1.5; margin: 0; flex: 1; }
.resCard__link { font: 500 13px var(--font-body); color: var(--nc-ink); display: inline-flex; gap: 5px; align-items: center; margin-top: 4px; }
.resCard__img { position: relative; }

/* ============ TRUST BAND ============ */
.trust-band {
  background: linear-gradient(180deg, #0A1A30 0%, var(--nc-deep-navy) 80px, var(--nc-deep-navy) 100%);
  box-shadow: inset 0 14px 30px -18px rgba(0,0,0,0.55);
}
.trust-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 44px 0;
}
.trust-stat {
  padding: 0 32px;
  border-left: 1px solid rgba(255,245,234,0.09);
}
.trust-stat:first-child { border-left: none; padding-left: 0; }
.trust-stat:last-child  { padding-right: 0; }
.trust-stat__num {
  font: 500 58px var(--font-display);
  color: var(--nc-offwhite);
  line-height: 1;
  letter-spacing: -0.01em;
  margin-bottom: 10px;
}
.trust-stat__sfx { color: var(--nc-signal-cyan); font-size: 38px; }
.trust-stat__lbl {
  font: 500 10px var(--font-mono);
  color: var(--nc-signal-cyan);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.trust-stat__desc {
  font-size: 13px;
  color: rgba(247,243,234,0.48);
  line-height: 1.48;
  max-width: 220px;
}

/* ============ CASE STUDY CARDS ============ */
.csSubHead {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}
.csSubHead__link {
  font: 500 13px var(--font-body);
  color: var(--nc-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--border-strong);
  padding-bottom: 2px;
}
.csGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 52px;
}
.csCard {
  background: #fff;
  border: 1px solid var(--border-1);
  border-radius: var(--r-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 220ms var(--ease-standard), box-shadow 220ms var(--ease-standard), border-color 220ms var(--ease-standard);
}
.csCard:hover { transform: translateY(-3px); box-shadow: var(--shadow-pop); border-color: rgba(11,15,23,0.18); }
.csCard:hover .cs-arrow { transform: translateX(3px); }
.csCard__preview {
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  background: var(--nc-mist);
}
.csCard__body {
  padding: 24px 24px 26px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.csCard__type {
  font: 500 10px var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nc-cobalt);
}
.csCard__title { font: 500 22px var(--font-display); color: var(--nc-ink); margin: 0; line-height: 1.2; }
.csCard__desc  { font-size: 14px; color: var(--fg-2); line-height: 1.55; margin: 0; }
.csCard__chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.csCard__chip {
  font: 500 10px var(--font-mono);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 3px 9px;
  background: var(--bg-mist);
  border: 1px solid var(--border-1);
  border-radius: 4px;
  color: var(--fg-2);
}
.csCard__chip--pulse {
  background: rgba(184,87,48,0.08);
  border-color: rgba(184,87,48,0.18);
  color: var(--pulse-copper);
}
.csCard__cta {
  font: 500 13px var(--font-body);
  color: var(--nc-ink);
  display: inline-flex;
  gap: 6px;
  align-items: center;
  text-decoration: none;
  margin-top: 6px;
}
.cs-arrow { transition: transform 200ms var(--ease-standard); display: inline-block; }

/* ============ RESOURCES SUBSECTION ============ */
.resSubHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.resSubHead__title { font: 500 18px var(--font-display); color: var(--nc-ink); }
.resSubHead__link {
  font: 500 13px var(--font-body);
  color: var(--nc-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--border-strong);
  padding-bottom: 2px;
}
.resGrid--2 { grid-template-columns: repeat(2, 1fr); }

/* ============ TRUST BAND — mobile ============ */
.is-mobile .trust-stats { grid-template-columns: 1fr 1fr; padding: 0; }
.is-mobile .trust-stat {
  padding: 22px 18px;
  border-left: none;
  border-top: 1px solid rgba(255,245,234,0.09);
}
.is-mobile .trust-stat:first-child,
.is-mobile .trust-stat:nth-child(2) { border-top: none; }
.is-mobile .trust-stat:nth-child(even) { border-left: 1px solid rgba(255,245,234,0.09); }
.is-mobile .trust-stat__num { font-size: 40px; }
.is-mobile .trust-stat__sfx { font-size: 28px; }
.is-mobile .trust-stat__desc { max-width: none; }

/* ============ CASE STUDY CARDS — mobile ============ */
.is-mobile .csGrid  { grid-template-columns: 1fr; }
.is-mobile .resGrid--2 { grid-template-columns: 1fr; }

/* ============ FINAL CTA ============ */
/* The light Resources section above ends clean; the CTA starts directly on a
   high-quality dark navy — a clean hard edge, no fade/haze over the top.
   CTA and Footer read as ONE continuous dark area: this gradient resolves to
   the exact footer colour (--nc-void) at the bottom, so there is no seam
   between them — the footer is set apart by spacing alone. */
.finalcta {
  background: linear-gradient(to bottom,
    #0B1B33 0,
    #0B1B33 30%,
    #07090D 100%);
  color: #F7F3EA;
  position: relative;
  overflow: hidden;
}
.finalcta::before {
  content: ""; position: absolute; inset: 0;
  /* One subtle copper ambiance, centred inside the CTA body — never touching
     the top edge (would read as a glow on the boundary) or the bottom edge
     (would create a seam against the footer). */
  background:
    radial-gradient(50% 55% at 80% 40%, rgba(217,119,87,0.12) 0%, transparent 72%);
  pointer-events: none;
}
.finalcta__inner {
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px;
  align-items: center;
  position: relative; z-index: 1;
}
.finalcta h2 { font: 500 56px var(--font-display); line-height: 1.04; margin: 18px 0 22px; color: #FFF5EA; text-wrap: balance; }
.finalcta__lead { font-size: 17.5px; color: rgba(247,243,234,0.78); margin: 0 0 28px; max-width: 480px; line-height: 1.55; }
.finalcta__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.finalcta__news {
  background: rgba(247,243,234,0.04);
  border: 1px solid rgba(255,245,234,0.12);
  border-radius: 16px;
  padding: 28px;
}
.finalcta__newsLbl { font: 500 10px var(--font-mono); color: var(--pulse-amber); letter-spacing: 0.16em; text-transform: uppercase; }
.finalcta__newsTitle { font: 500 22px var(--font-display); color: #FFF5EA; margin: 12px 0 8px; line-height: 1.2; }
.finalcta__newsDesc { font-size: 14px; color: rgba(247,243,234,0.7); margin: 0 0 18px; line-height: 1.55; }
.newsletterForm { display: flex; gap: 8px; }
.newsletterForm input {
  flex: 1; background: rgba(11,15,23,0.4);
  border: 1px solid rgba(255,245,234,0.16);
  border-radius: 10px; padding: 11px 14px;
  color: #F7F3EA; font: 500 14px var(--font-body);
}
.newsletterForm input::placeholder { color: rgba(247,243,234,0.4); }
.newsletterForm input:focus { outline: none; border-color: var(--pulse-amber); }
.newsletterForm button { background: #F7F3EA; color: var(--nc-ink); border: 0; border-radius: 10px; padding: 11px 16px; font: 600 14px var(--font-body); cursor: pointer; }
.newsletterForm button:hover { background: #FFF5EA; }

/* ============ FOOTER ============ */
.ftr { background: var(--nc-void); color: var(--d-fg-1); }
.ftr__inner {
  max-width: 1440px; margin: 0 auto;
  padding: 64px 32px 36px;
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap: 40px;
}
.ftr__brand img { height: 22px; filter: brightness(0) invert(1); }
.ftr__tag { color: var(--d-fg-2); font-size: 14px; margin: 16px 0 18px; max-width: 280px; line-height: 1.5; }
.ftr__principle {
  font: 500 13px/1.7 var(--font-mono); letter-spacing: 0.04em;
  color: var(--pulse-amber);
  margin-bottom: 22px;
}
.ftr__lang { display: flex; gap: 8px; align-items: center; }
.ftr__lang button { background: transparent; border: 0; font: 500 13px var(--font-body); color: var(--d-fg-2); padding: 0; cursor: pointer; }
.ftr__lang button.is-on { color: #F7F3EA; border-bottom: 1px solid #F7F3EA; }
.ftr__lang span { color: rgba(247,243,234,0.4); }
.ftr__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ftr__col a { color: var(--d-fg-2); text-decoration: none; font-size: 14px; line-height: 1.4; }
.ftr__col a:hover { color: #F7F3EA; }
.ftr__colTitle { font: 500 10px var(--font-mono); letter-spacing: 0.16em; color: rgba(247,243,234,0.55); margin-bottom: 16px; text-transform: uppercase; }
.ftr__meta {
  max-width: 1440px; margin: 0 auto;
  padding: 18px 32px; border-top: 1px solid rgba(255,245,234,0.08);
  display: flex; justify-content: space-between; align-items: center;
  font: 500 11px var(--font-mono); color: rgba(247,243,234,0.55); letter-spacing: 0.06em;
}
.ftr__status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 999px; background: #70C977; margin: 0 6px; box-shadow: 0 0 0 3px rgba(112,201,119,0.18); }


/* =========================================================================
   ROUND-3 ADDITIONS
   Gap visual · trimmed engine visuals · 3-level bridge
   ========================================================================= */

/* --- Problem section · Gap Visual --- */
.problem__head { max-width: 760px; margin-bottom: 40px; }

.gap {
  background: #FFF;
  border: 1px solid var(--border-1);
  border-radius: 18px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 12px 36px -22px rgba(11,15,23,0.20);
  position: relative;
  isolation: isolate;
}
.gap__plane {
  padding: 26px 32px 28px;
  position: relative;
}
.gap__plane--doc {
  background:
    linear-gradient(180deg, rgba(30,58,138,0.04) 0%, rgba(30,58,138,0.0) 100%),
    #FFF;
}
.gap__plane--real {
  background:
    linear-gradient(0deg, rgba(11,27,51,0.05) 0%, rgba(11,27,51,0.0) 100%),
    var(--nc-offwhite);
}
.gap__planeHead {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 18px;
}
.gap__planeLbl {
  font: 500 11px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--nc-cobalt);
}
.gap__plane--real .gap__planeLbl { color: var(--nc-deep-navy); }
.gap__planeMeta {
  font-size: 10px; letter-spacing: 0.16em; color: var(--fg-3);
}

.gap__flow {
  display: flex; align-items: center; gap: 6px;
  flex-wrap: nowrap;
}
.gap__node {
  flex: 1;
  background: #FFF;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  padding: 12px 14px;
  font: 600 14px var(--font-body);
  color: var(--nc-ink);
  position: relative;
  display: flex; flex-direction: column; gap: 4px;
  min-height: 60px;
  box-shadow: 0 2px 0 rgba(11,15,23,0.02);
}
.gap__plane--doc .gap__node {
  border-color: rgba(30,58,138,0.30);
  box-shadow: 0 2px 0 rgba(30,58,138,0.05);
}
.gap__nodeNum {
  font-size: 10px; letter-spacing: 0.10em; color: var(--fg-3);
}
.gap__plane--doc .gap__nodeNum { color: var(--nc-cobalt); }
.gap__plane--real .gap__nodeNum { color: var(--nc-deep-navy); }
.gap__arrow {
  flex: 0 0 26px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--nc-cobalt);
}
.gap__arrow svg { width: 22px; height: 12px; }
.gap__arrow--soft { color: rgba(11,27,51,0.45); }
.gap__node--ex {
  border-color: rgba(232,153,104,0.55);
  background: linear-gradient(180deg, rgba(232,153,104,0.06), #FFF);
  box-shadow: 0 2px 0 rgba(217,119,87,0.06);
}
.gap__exTag {
  position: absolute;
  top: -10px; right: 8px;
  font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 2px 7px; border-radius: 4px;
  background: var(--pulse-amber); color: #2A160E;
  font-weight: 600;
}
.gap__loop {
  display: inline-flex; flex-direction: column; align-items: center; gap: 2px;
  flex: 0 0 56px;
  color: var(--pulse-copper);
  font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase;
}
.gap__loop svg { width: 36px; height: 24px; }

/* Gap band */
.gap__band {
  position: relative;
  padding: 14px 32px;
  background:
    linear-gradient(90deg,
      rgba(232,153,104,0.0) 0%,
      rgba(232,153,104,0.14) 12%,
      rgba(232,153,104,0.20) 50%,
      rgba(232,153,104,0.14) 88%,
      rgba(232,153,104,0.0) 100%);
  border-top: 1px dashed rgba(217,119,87,0.55);
  border-bottom: 1px dashed rgba(217,119,87,0.55);
  display: flex; align-items: center; gap: 18px;
}
.gap__bandLbl {
  flex-shrink: 0;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--pulse-copper);
  font-weight: 600;
  padding: 4px 10px;
  background: #FFF5EA;
  border: 1px solid rgba(217,119,87,0.32);
  border-radius: 999px;
}
.gap__bandLine {
  flex: 1; height: 16px;
  display: block;
}

.gap__concl {
  margin-top: 22px;
  display: inline-flex; align-items: center; gap: 12px;
  padding: 12px 18px;
  background: #FFF;
  border: 1px solid var(--border-1);
  border-radius: 999px;
  font: 500 14.5px var(--font-body);
  color: var(--nc-ink);
  box-shadow: 0 4px 14px -8px rgba(11,15,23,0.10);
}
.gap__concl b { color: var(--pulse-copper); font-weight: 600; }
.gap__conclDot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--pulse-amber);
  box-shadow: 0 0 0 4px rgba(232,153,104,0.18);
  flex-shrink: 0;
}

/* Reveal-on-scroll: smooth one-time entrance. */
.gap .gap__plane,
.gap .gap__band {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 520ms var(--ease-emphasized),
    transform 520ms var(--ease-emphasized);
}
.gap .gap__plane--doc { transition-delay: 0ms; }
.gap .gap__band { transition-delay: 180ms; transform: translateY(0) scaleY(0.6); transform-origin: center; }
.gap .gap__plane--real { transition-delay: 320ms; transform: translateY(14px); }
.gap.is-revealed .gap__plane,
.gap.is-revealed .gap__band {
  opacity: 1;
  transform: translateY(0);
}
.gap.is-revealed .gap__band { transform: translateY(0) scaleY(1); }
@media (prefers-reduced-motion: reduce) {
  .gap .gap__plane, .gap .gap__band {
    opacity: 1; transform: none; transition: none;
  }
}

/* --- Engine: trimmed visuals --- */
.section__head--engine { max-width: 760px; margin-bottom: 36px; }
.engine.section { padding: 80px 0; }
.engineHost { position: relative; z-index: 2; }
.engineStage__title {
  font: 500 26px var(--font-display) !important;
  line-height: 1.15 !important;
  margin: 0 0 18px !important;
}
.engineStage__bullets { margin-bottom: 0 !important; }

/* Knowledge state — sources + compare */
.eng-knowledge {
  padding: 24px 28px; height: 100%;
  display: flex; flex-direction: column; gap: 14px;
}
.eng-know__sources {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
.eng-source {
  background: rgba(247,243,234,0.04);
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 12px;
  padding: 12px 12px 14px;
  display: flex; flex-direction: column; gap: 6px;
}
.eng-source__icon {
  width: 28px; height: 28px; border-radius: 7px;
  background: rgba(255,245,234,0.06); color: var(--pulse-amber);
  display: flex; align-items: center; justify-content: center;
}
.eng-source__title { font: 600 13px var(--font-body); color: #FFF5EA; line-height: 1.25; }
.eng-source__sub { font-size: 9px; letter-spacing: 0.16em; color: rgba(247,243,234,0.5); }

.eng-know__feed {
  height: 20px; padding: 0 24px;
  display: block;
}
.eng-know__feed svg { width: 100%; height: 100%; display: block; }

.eng-know__compare {
  background: rgba(11,15,23,0.42);
  border: 1px solid rgba(255,245,234,0.10);
  border-radius: 12px;
  padding: 14px 16px;
  display: flex; flex-direction: column; gap: 12px;
}
.eng-cmp { display: grid; grid-template-columns: 110px 1fr; gap: 10px 14px; align-items: center; }
.eng-cmp__lbl { font-size: 9.5px; letter-spacing: 0.16em; color: rgba(247,243,234,0.55); }
.eng-cmp__bar {
  height: 8px; border-radius: 999px;
  background: rgba(255,245,234,0.08);
  position: relative; overflow: hidden;
}
.eng-cmp__bar span {
  display: block; height: 100%;
  background: linear-gradient(90deg, var(--nc-signal-cyan), var(--nc-cobalt));
  border-radius: 999px;
}
.eng-cmp__bar--ist span {
  background: linear-gradient(90deg, var(--pulse-amber), var(--pulse-copper));
}
.eng-cmp__cap {
  grid-column: 2 / 3;
  font-size: 11.5px; color: rgba(247,243,234,0.7); line-height: 1.4;
  margin-top: -2px;
}

/* Analysis state — trimmed */
.eng-analysis { padding: 24px 28px; height: 100%; display: flex; flex-direction: column; gap: 14px; }
.eng-an__row { grid-template-columns: 1fr 1fr 1fr; }
.eng-an__card { min-height: 130px !important; padding: 12px !important; }
.eng-an__card .eng-an__title { font: 600 13.5px var(--font-body) !important; }
.eng-an__visual { min-height: 44px !important; }
.eng-an__outChips {
  display: flex; flex-wrap: wrap; gap: 6px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px dashed rgba(255,245,234,0.10);
}
.eng-chip--out {
  background: rgba(0,194,209,0.10);
  color: var(--nc-signal-cyan);
  border-color: rgba(0,194,209,0.30);
  text-transform: none;
  letter-spacing: 0.04em;
  font-size: 11px;
  padding: 4px 10px;
}

/* --- Bridge — three-level layout --- */
.bridge {
  background: #FFF;
  border: 1px solid var(--border-1);
  border-radius: 18px;
  padding: 24px;
  display: flex; flex-direction: column;
  gap: 6px;
  box-shadow: 0 12px 36px -22px rgba(11,15,23,0.15);
}
.brLvl {
  position: relative;
  display: grid;
  grid-template-columns: 56px 240px 1fr;
  gap: 22px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 14px;
  border: 1px solid transparent;
}
.brLvl__stepNum {
  font-size: 28px; font-family: var(--font-display); font-weight: 500;
  color: var(--fg-3); letter-spacing: 0; line-height: 1;
}
.brLvl__head { display: flex; flex-direction: column; gap: 4px; }
.brLvl__lbl {
  font: 500 18px var(--font-display);
  color: var(--nc-ink);
  letter-spacing: -0.002em;
  line-height: 1.15;
}
.brLvl__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.brLvl__chip {
  font: 600 12.5px var(--font-body);
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  letter-spacing: 0.01em;
}

.brLvl--pulse {
  background:
    linear-gradient(135deg, rgba(232,153,104,0.10), rgba(184,87,48,0.06));
  border-color: rgba(217,119,87,0.30);
}
.brLvl--pulse .brLvl__stepNum { color: var(--pulse-copper); }
.brLvl--pulse .brLvl__chip {
  background: #FFF;
  color: var(--pulse-copper);
  border-color: rgba(217,119,87,0.36);
}

.brLvl--cobalt {
  background: linear-gradient(135deg, rgba(30,58,138,0.07), rgba(30,58,138,0.03));
  border-color: rgba(30,58,138,0.25);
}
.brLvl--cobalt .brLvl__stepNum { color: var(--nc-cobalt); }
.brLvl--cobalt .brLvl__chip {
  background: #FFF;
  color: var(--nc-cobalt);
  border-color: rgba(30,58,138,0.30);
}

.brLvl--teal {
  background: linear-gradient(135deg, rgba(14,124,123,0.07), rgba(11,27,51,0.05));
  border-color: rgba(14,124,123,0.25);
}
.brLvl--teal .brLvl__stepNum { color: var(--nc-teal); }
.brLvl--teal .brLvl__chip {
  background: #FFF;
  color: var(--nc-teal);
  border-color: rgba(14,124,123,0.30);
}

.brCon {
  display: flex; justify-content: center;
  color: var(--fg-3);
  padding: 2px 0;
}
.brCon svg { width: 22px; height: 26px; }

/* Bridge example paths */
.bridge__paths {
  margin-top: 32px;
}
.bridge__pathsHead {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 16px;
}
.bridge__pathsNote {
  font-size: 10px; letter-spacing: 0.16em; color: var(--fg-3);
}
.bridge__pathList {
  display: flex; flex-direction: column; gap: 8px;
}
.brPath {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr) 28px minmax(0, 1fr);
  align-items: center;
  gap: 0;
  background: #FFF;
  border: 1px solid var(--border-1);
  border-radius: 12px;
  padding: 14px 18px;
}
.brPath__cell {
  font: 500 14px var(--font-body);
  color: var(--nc-ink);
  display: inline-flex; align-items: center; gap: 10px;
  line-height: 1.3;
}
.brPath__cell--from { color: var(--pulse-copper); font-weight: 600; }
.brPath__cell--via  { color: var(--nc-cobalt); font-weight: 600; }
.brPath__cell--to   { color: var(--nc-teal); font-weight: 600; }
.brPath__arrow {
  color: var(--fg-3);
  display: inline-flex; align-items: center; justify-content: center;
}
.brPath__arrow svg { width: 22px; height: 12px; }
.brPath__status {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 6px;
  font: 500 10px var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--nc-progress-green);
  background: rgba(112,201,119,0.10);
  border: 1px solid rgba(112,201,119,0.28);
  padding: 4px 9px; border-radius: 999px;
}
.brPath__statusDot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--nc-progress-green);
}

/* =========================================================================
   MOBILE OVERRIDES
   Loaded only on mobile page via class on body.is-mobile
   ========================================================================= */
.is-mobile { font-size: 15px; }
.is-mobile .wrap { padding: 0 20px; }
.is-mobile .nc-header__inner { padding: 13px 20px; gap: 0; justify-content: space-between; }
.is-mobile .nc-header__nav { display: none; }
.is-mobile .nc-header__right { gap: 10px; }
.is-mobile .nc-header__lang { display: none; }
.is-mobile .nc-header__brand img { height: 19px; }
.is-mobile .nc-header__menu {
  width: 38px; height: 38px; border-radius: 8px;
  border: 1px solid var(--border-strong); background: transparent;
  display: flex; align-items: center; justify-content: center; color: var(--nc-ink);
}
.is-mobile .btn { padding: 10px 14px; font-size: 13px; }
.is-mobile .btn--pulse { font-size: 13px; padding: 11px 16px; }
.is-mobile .btn--pulse-lg { font-size: 15px; padding: 14px 22px; }

.is-mobile .hero { padding: 36px 0 56px; min-height: 0; display: block; }
.is-mobile .hero__inner { grid-template-columns: 1fr; gap: 36px; }
.is-mobile .hero__h1 { font-size: 38px; }
.is-mobile .hero__sub { font-size: 16px; }
.is-mobile .hero__tasks { grid-template-columns: 1fr; max-width: 100%; gap: 10px; }
.is-mobile .btn--hero-cta { height: 48px; font-size: 14px; padding: 0 18px; }
.is-mobile .btn--pulse.btn--hero-cta { font-size: 14px; padding: 0 20px; }

.is-mobile .wf { min-height: 0; padding: 18px 18px 16px; border-radius: 16px; }
.is-mobile .wf__head { font-size: 9px; margin-bottom: 14px; }
.is-mobile .wf__rail { gap: 2px; padding: 4px; margin-bottom: 14px; border-radius: 12px; }
.is-mobile .wf__step { padding: 8px 6px; gap: 2px; }
.is-mobile .wf__stepNum { font-size: 9px; }
.is-mobile .wf__stepTitle { font-size: 11.5px; }
.is-mobile .wf__progress { top: 4px; bottom: 4px; }
.is-mobile .wf__panel { padding: 16px; min-height: 200px; }
.is-mobile .wf__panelTitle { font-size: 22px; }
.is-mobile .wf__panelDesc { font-size: 13.5px; }
.is-mobile .wf__chip { font-size: 11.5px; padding: 5px 10px; }

.is-mobile .section { padding: 56px 0; }
.is-mobile .section__head { margin-bottom: 32px; }

/* ============ Section background blends — mobile (compact) ============ */
.is-mobile .ausgst {
  background: linear-gradient(to bottom,
    var(--nc-deep-navy) 0,
    var(--nc-deep-navy) calc(100% - 110px),
    #1E1009 100%);
}
.is-mobile .svc {
  background: var(--nc-paper);
}
.is-mobile .pai {
  background: linear-gradient(to bottom,
    var(--nc-paper) 0,
    var(--nc-offwhite) 90px,
    var(--nc-offwhite) 100%);
}
.is-mobile .proof {
  background: linear-gradient(to bottom,
    var(--nc-offwhite) 0,
    var(--nc-mist) 90px,
    var(--nc-mist) 100%);
}
.is-mobile .finalcta {
  background: linear-gradient(to bottom,
    #0B1B33 0,
    #0B1B33 30%,
    #07090D 100%);
}
.is-mobile .section__h2 { font-size: 30px; }
.is-mobile .section__lead { font-size: 16px; }
.is-mobile .problem__head { margin-bottom: 28px; }

/* Gap visual stacks vertically on mobile */
.is-mobile .gap__plane { padding: 18px 18px 20px; }
.is-mobile .gap__planeHead { margin-bottom: 12px; flex-wrap: wrap; gap: 4px; }
.is-mobile .gap__flow { flex-direction: column; align-items: stretch; gap: 4px; }
.is-mobile .gap__node { width: 100%; padding: 10px 12px; font-size: 13px; min-height: 0; }
.is-mobile .gap__arrow {
  flex: 0 0 22px; width: 100%;
  transform: rotate(90deg);
}
.is-mobile .gap__loop { width: 100%; flex-direction: row; gap: 8px; }
.is-mobile .gap__loop svg { width: 30px; height: 18px; transform: rotate(0deg); }
.is-mobile .gap__band { padding: 12px 18px; flex-direction: column; gap: 10px; align-items: flex-start; }
.is-mobile .gap__bandLine { width: 100%; }
.is-mobile .gap__concl { font-size: 13px; padding: 10px 14px; }

/* Bridge stacks gracefully */
.is-mobile .bridge { padding: 16px; }
.is-mobile .brLvl { grid-template-columns: 1fr; gap: 10px; padding: 14px; }
.is-mobile .brLvl__stepNum { font-size: 22px; }
.is-mobile .brLvl__lbl { font-size: 16px; }
.is-mobile .brLvl__chip { font-size: 11.5px; padding: 6px 11px; }
.is-mobile .brCon { padding: 0; }
.is-mobile .brCon svg { width: 18px; height: 22px; }
.is-mobile .bridge__pathsHead { flex-direction: column; gap: 6px; align-items: flex-start; }
.is-mobile .brPath {
  grid-template-columns: 1fr;
  gap: 6px;
  padding: 14px 16px;
}
.is-mobile .brPath__cell { font-size: 13px; }
.is-mobile .brPath__arrow { width: 100%; transform: rotate(90deg); justify-content: flex-start; }
.is-mobile .brPath__status { margin-left: 0; }

.is-mobile .tabs { display: none; }
.is-mobile .engineStage { display: block; min-height: 0; }
.is-mobile .accordion { display: flex; flex-direction: column; gap: 10px; }
.is-mobile .engineStage__visual {
  min-height: 300px !important;
  max-height: 340px !important;
  margin-top: 14px;
}
.is-mobile .eng-interview, .is-mobile .eng-knowledge, .is-mobile .eng-analysis {
  padding: 16px;
}
.is-mobile .eng-an__row { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.is-mobile .eng-an__card { min-height: 100px !important; padding: 10px !important; }
.is-mobile .eng-an__visual { min-height: 32px !important; }
.is-mobile .eng-an__outChips { padding-top: 8px; }
.is-mobile .eng-know__sources { grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
.is-mobile .eng-source { padding: 10px; }
.is-mobile .eng-source__title { font-size: 11.5px; }
.is-mobile .eng-cmp { grid-template-columns: 80px 1fr; }
.is-mobile .accItem {
  background: rgba(247,243,234,0.04);
  border: 1px solid rgba(255,245,234,0.12);
  border-radius: 14px; overflow: hidden;
}
.is-mobile .accItem.is-open { border-color: rgba(217,119,87,0.42); box-shadow: inset 0 0 0 1px rgba(217,119,87,0.20); }
.is-mobile .accHead {
  width: 100%; background: transparent; border: 0;
  padding: 16px 18px; display: flex; align-items: center; gap: 12px;
  color: #F7F3EA; text-align: left; cursor: pointer;
}
.is-mobile .accHead__num { font: 500 10px var(--font-mono); color: var(--pulse-amber); letter-spacing: 0.1em; width: 28px; }
.is-mobile .accHead__title { font: 500 16px var(--font-body); flex: 1; }
.is-mobile .accHead__icon { color: rgba(247,243,234,0.5); transition: transform 200ms; }
.is-mobile .accItem.is-open .accHead__icon { transform: rotate(180deg); color: var(--pulse-amber); }
.is-mobile .accBody { padding: 0 18px 18px; display: none; }
.is-mobile .accItem.is-open .accBody { display: block; }
.is-mobile .engineStage__title { font-size: 22px; margin: 8px 0 10px; }
.is-mobile .engineStage__bullet { font-size: 13px; }
.is-mobile .eng-bubble { max-width: 85%; font-size: 13px; }

.is-mobile .t2i__head { grid-template-columns: 1fr; gap: 20px; }
.is-mobile .t2i__visual { grid-template-columns: 1fr; }
.is-mobile .t2i__bridge { min-height: 56px; }
.is-mobile .t2i__bridge svg { transform: rotate(90deg); }

.is-mobile .pa__inner { grid-template-columns: 1fr; gap: 32px; }
.is-mobile .pa__visual { padding: 20px; min-height: 0; }
.is-mobile .pa__map { flex-direction: column; gap: 6px; }
.is-mobile .pa__matrixWrap { grid-template-columns: 1fr; gap: 24px; }

.is-mobile .lenses__grid { grid-template-columns: 1fr; gap: 14px; }
.is-mobile .lens { padding: 22px 20px; min-height: 0; }
.is-mobile .lens__title { font-size: 19px; }

.is-mobile .proof__metrics { grid-template-columns: 1fr 1fr; padding: 22px 22px; gap: 18px; }
.is-mobile .proof__metrics .metric { padding-left: 14px; }
.is-mobile .proof__metrics .metric:nth-child(odd) { border-left: 0; padding-left: 0; }
.is-mobile .proof__metrics .metric:nth-child(2) { border-left: 1px solid rgba(255,245,234,0.10); }

/* ======================================================
   NOVEMCORE CORE SERVICES — Section 05
   Light editorial 2×2 service card grid.
   ====================================================== */

/* Scroll-reveal base */
.svc__rv {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 440ms cubic-bezier(0.2,0.6,0.2,1),
              transform 440ms cubic-bezier(0.2,0.6,0.2,1);
  transition-delay: var(--rv-d, 0ms);
}
.svc.is-revealed .svc__rv { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .svc__rv { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* Section surface — clean, precise edge out of the dark PULSE section into
   beige. PULSE ends dark, Novemcore begins light: a single direct colour
   change with no fade band, no brown haze, no shadow bleeding into the
   light section. */
.svc {
  background: var(--nc-paper);
}

/* Intro: 2-col headline left / lead right */
.svc__intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 80px;
  align-items: start;
  margin-bottom: 52px;
}
.svc__introLeft { display: flex; flex-direction: column; gap: 0; }
.svc__h2 { margin-top: 12px; }

/* Cobalt → Teal gradient accent */
.accent--cobalt-teal {
  background: linear-gradient(120deg, #1E3A8A 20%, #0E7C7B 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Inline copy highlights */
.svc__copper { color: #B85730; font-weight: 500; }
.svc__cobalt  { color: #1E3A8A; font-weight: 500; }

/* 2×2 card grid */
.svc__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 36px;
}

/* Card base */
.svc-card {
  background: #ffffff;
  border: 1px solid rgba(11,15,23,0.10);
  border-radius: 14px;
  padding: 26px 26px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color 200ms cubic-bezier(0.2,0.6,0.2,1), background 200ms cubic-bezier(0.2,0.6,0.2,1);
}
.svc-card:hover,
.svc-card:focus-within {
  border-color: rgba(30,58,138,0.46);
  background: rgba(30,58,138,0.045);
}

/* Card top row: meta label + illustration */
.svc-card__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.svc-card__meta {
  font: 500 10px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg-3);
  padding-top: 3px;
}
.svc-card__illus {
  flex-shrink: 0;
  opacity: 0.80;
  transition: opacity 220ms ease;
}
.svc-card:hover .svc-card__illus,
.svc-card:focus-within .svc-card__illus { opacity: 1; filter: contrast(1.08) saturate(1.1); }

/* Card title */
.svc-card__title {
  font: 500 19px var(--font-display);
  color: var(--fg-1);
  line-height: 1.18;
  margin: 0;
}

/* Card description */
.svc-card__desc {
  font: 400 13.5px var(--font-body);
  color: var(--fg-2);
  line-height: 1.58;
  margin: 0;
  flex-grow: 1;
}

/* Pills */
.svc-card__pills { display: flex; flex-wrap: wrap; gap: 6px; }
.svc-pill {
  font: 500 10px var(--font-mono);
  letter-spacing: 0.07em;
  transition: border-color 200ms cubic-bezier(0.2,0.6,0.2,1), color 200ms cubic-bezier(0.2,0.6,0.2,1);
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
  background: rgba(11,15,23,0.04);
  border: 1px solid rgba(11,15,23,0.09);
  color: var(--fg-2);
}
.svc-card:hover .svc-pill,
.svc-card:focus-within .svc-pill {
  border-color: rgba(30,58,138,0.26);
  color: rgba(11,15,23,0.72);
}

/* PULSE micro-badge on card 1 */
.svc-pulse-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 500 10px var(--font-mono);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(184,87,48,0.66);
}
.svc-pulse-badge__dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #B85730;
  opacity: 0.68;
  flex-shrink: 0;
}

/* Card CTA text link */
.svc-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font: 500 12.5px var(--font-body);
  color: #1E3A8A;
  text-decoration: none;
  transition: color 200ms ease;
  margin-top: 2px;
}
.svc-card:hover .svc-card__cta,
.svc-card:focus-within .svc-card__cta { color: #0B1B33; font-weight: 500; }
.svc-arrow { display: inline-block; transition: transform 220ms ease; }
.svc-card:hover .svc-arrow,
.svc-card:focus-within .svc-arrow,
.svc__footerCta:hover .svc-arrow { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) {
  .svc-card:hover .svc-arrow,
  .svc-card:focus-within .svc-arrow,
  .svc__footerCta:hover .svc-arrow { transform: none; }
}

/* Bottom footer CTA */
.svc__footer { text-align: center; padding-top: 8px; }
.svc__footerCta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font: 500 13px var(--font-body);
  color: #0B1B33;
  text-decoration: none;
  padding: 9px 20px;
  border: 1px solid rgba(11,27,51,0.18);
  border-radius: 10px;
  transition: border-color 200ms ease, background 200ms ease;
}
.svc__footerCta:hover {
  border-color: rgba(30,58,138,0.34);
  background: rgba(30,58,138,0.04);
}

/* Micro-illustration wave reveals */
.svc-illus__w { opacity: 0; transition: opacity 300ms ease; }
.svc-illus.is-drawn .svc-illus__w--1 { opacity: 1; transition-delay: 0ms; }
.svc-illus.is-drawn .svc-illus__w--2 { opacity: 1; transition-delay: 130ms; }
.svc-illus.is-drawn .svc-illus__w--3 { opacity: 1; transition-delay: 260ms; }
.svc-illus.is-drawn .svc-illus__w--4 { opacity: 1; transition-delay: 390ms; }
@media (prefers-reduced-motion: reduce) {
  .svc-illus__w { transition: none !important; opacity: 1 !important; }
}

/* Responsive */
@media (max-width: 1024px) {
  .svc__intro { gap: 28px 48px; }
  .svc__grid { gap: 16px; }
  .svc-card { padding: 22px 20px 18px; }
}
@media (max-width: 768px) {
  .svc__intro { grid-template-columns: 1fr; gap: 20px; margin-bottom: 36px; }
  .svc__grid { grid-template-columns: 1fr; gap: 14px; }
  .svc-card__title { font-size: 18px; }
}
.is-mobile .metric__num { font-size: 34px; }
.is-mobile .resHead { grid-template-columns: 1fr; gap: 14px; }
.is-mobile .resHead__link { justify-self: start; }
.is-mobile .resGrid { grid-template-columns: 1fr; gap: 14px; }

.is-mobile .finalcta__inner { grid-template-columns: 1fr; gap: 36px; }
.is-mobile .finalcta h2 { font-size: 36px; }
.is-mobile .finalcta__lead { font-size: 15px; }
.is-mobile .finalcta__news { padding: 22px; }
.is-mobile .newsletterForm { flex-direction: column; }

.is-mobile .ftr__inner { grid-template-columns: 1fr 1fr; gap: 28px 24px; padding: 40px 20px 24px; }
.is-mobile .ftr__brand { grid-column: 1 / -1; }
.is-mobile .ftr__meta { padding: 14px 20px; flex-direction: column; gap: 8px; font-size: 10px; }

/* =============================================================
   MEDIA-QUERY RESPONSIVE OVERRIDES
   Mirror key .is-mobile rules without requiring a body class,
   so homepage-desktop.html works at any viewport width.
   ============================================================= */

/* ── Shared: section shell ───────────────────────────────────── */
@media (max-width: 1024px) {
  .section { padding: 72px 0; }
  .section__head { margin-bottom: 40px; }
  .wrap { padding: 0 28px; }
}
@media (max-width: 768px) {
  .section { padding: 56px 0; }
  .section__head { margin-bottom: 32px; }
  .section__h2 { font-size: clamp(26px, 6.5vw, 34px) !important; }
  .section__lead { font-size: 16px; }
  .wrap { padding: 0 20px; }
}

/* ── Header ──────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .nc-header__inner { gap: 0; justify-content: space-between; }
  .nc-header__nav { display: none !important; }
  .nc-header__lang { display: none !important; }
}
@media (max-width: 768px) {
  .nc-header__inner { padding: 13px 20px; }
  .nc-header__brand img { height: 22px; }
  .nc-header__right { gap: 10px; }
  .nc-header__right .btn--pulse { font-size: 13px; padding: 10px 14px; }
}

/* ── Mobile menu drawer ──────────────────────────────────────── */
.nc-mob-menu__backdrop {
  position: fixed; inset: 0; background: rgba(11,15,23,0.48);
  z-index: 90; opacity: 0; pointer-events: none;
  transition: opacity 320ms var(--ease-standard);
}
.nc-mob-menu.is-open .nc-mob-menu__backdrop { opacity: 1; pointer-events: auto; }

.nc-mob-menu__panel {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(340px, 88vw);
  background: var(--nc-paper);
  border-left: 1px solid var(--border-1);
  z-index: 91;
  transform: translateX(100%);
  transition: transform 380ms var(--ease-emphasized);
  overflow-y: auto;
  display: flex; flex-direction: column; gap: 0;
  padding: 0 0 24px;
}
.nc-mob-menu.is-open .nc-mob-menu__panel { transform: none; }

.nc-mob-menu__head {
  position: sticky; top: 0;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 22px;
  background: rgba(250,246,239,0.97);
  border-bottom: 1px solid var(--border-1);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.nc-mob-menu__logo { height: 22px; display: block; }
.nc-mob-menu__close {
  width: 36px; height: 36px; border-radius: 8px;
  border: 1px solid var(--border-strong); background: transparent;
  display: flex; align-items: center; justify-content: center;
  color: var(--nc-ink); cursor: pointer;
}
.nc-mob-menu__close:hover { background: rgba(11,15,23,0.05); }

.nc-mob-menu__links {
  flex: 1; display: flex; flex-direction: column;
  padding: 12px 12px 0;
  gap: 2px;
}
.nc-mob-item__link {
  display: block; font: 600 17px var(--font-body);
  color: var(--nc-ink); text-decoration: none;
  padding: 13px 14px 4px; border-radius: 8px;
  transition: color 140ms;
}
.nc-mob-item__link:hover { color: var(--pulse-copper); }
.nc-mob-item__sub {
  display: flex; flex-direction: column; gap: 1px;
  padding: 2px 8px 10px 22px;
}
.nc-mob-item__sublink {
  font: 400 15px var(--font-body); color: var(--fg-2);
  text-decoration: none; padding: 8px 12px; border-radius: 6px;
  transition: color 140ms, background 140ms;
}
.nc-mob-item__sublink:hover { background: rgba(11,15,23,0.04); color: var(--nc-ink); }

.nc-mob-menu__cta {
  padding: 16px 20px 8px;
  border-top: 1px solid var(--border-1);
  margin-top: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .nc-mob-menu__panel { transition: none !important; }
  .nc-mob-menu__backdrop { transition: none !important; }
}

/* ── Hero ────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .hero { min-height: 0; padding: 48px 0 64px; }
  .hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .hero__h1 { font-size: clamp(38px, 5.5vw, 58px); }
  .hero__right { max-width: 680px; }
}
@media (max-width: 768px) {
  .hero { padding: 36px 0 52px; display: block; }
  .hero__h1 { font-size: clamp(30px, 9vw, 44px); }
  .hero__sub { font-size: 16px; }
  .btn--hero-cta { height: 48px; font-size: 14px; padding: 0 18px; }
  .btn--pulse.btn--hero-cta { font-size: 14px; padding: 0 20px; }
  /* Infographic: horizontal scroll */
  .infg { padding: 16px 14px; border-radius: 16px; min-height: 0; }
  .infg__flow { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .infg__heads, .infg__grid { min-width: 560px; }
  .infg__caption { min-height: 0; }
}

/* ── Trust band ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  .trust-stats { grid-template-columns: 1fr 1fr; padding: 0; }
  .trust-stat { padding: 22px 18px; }
  .trust-stat__num { font-size: 38px; }
}

/* ── Evidence engine ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* Tabs hidden, accordion visible — matches mobile JSX branch */
  .tabs { display: none !important; }
  .engineStage { display: block; min-height: 0; }
  .accordion { display: flex; flex-direction: column; gap: 10px; }
  .accItem {
    background: rgba(247,243,234,0.04);
    border: 1px solid rgba(255,245,234,0.12);
    border-radius: 14px; overflow: hidden;
  }
  .accItem.is-open { border-color: rgba(217,119,87,0.42); box-shadow: inset 0 0 0 1px rgba(217,119,87,0.20); }
  .accHead {
    width: 100%; background: transparent; border: 0;
    padding: 16px 18px; display: flex; align-items: center; gap: 12px;
    color: #F7F3EA; text-align: left; cursor: pointer;
  }
  .accHead__num { font: 500 10px var(--font-mono); color: var(--pulse-amber); letter-spacing: 0.1em; width: 28px; }
  .accHead__title { font: 500 16px var(--font-body); flex: 1; }
  .accHead__icon { color: rgba(247,243,234,0.5); transition: transform 200ms; }
  .accItem.is-open .accHead__icon { transform: rotate(180deg); color: var(--pulse-amber); }
  .accBody { padding: 0 18px 18px; display: none; }
  .accItem.is-open .accBody { display: block; }
  .engineStage__visual { min-height: 300px !important; max-height: 360px !important; margin-top: 14px; }
  .engineStage__title { font-size: 22px; margin: 8px 0 10px; }
  .engineStage__bullet { font-size: 13px; }
  .engine.section { padding: 64px 0; }
}

/* ── PAI section ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .pai__h2 { font-size: clamp(26px, 7.5vw, 38px) !important; }
  .pai-panel { border-radius: 14px; }
  .pasf__sh { flex-wrap: wrap; gap: 6px; }
  .pasf__sh .pasf-preal__aiChip { margin-left: 0; }
}

/* ── Case studies & resources ───────────────────────────────── */
@media (max-width: 1024px) {
  .csGrid { grid-template-columns: 1fr; gap: 20px; }
  .resGrid--2 { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 768px) {
  .csCard__preview { height: 200px; }
}

/* ── Final CTA ───────────────────────────────────────────────── */
@media (max-width: 768px) {
  .finalcta__inner { grid-template-columns: 1fr !important; gap: 36px; }
  .finalcta h2 { font-size: clamp(26px, 7vw, 40px) !important; }
  .finalcta__lead { font-size: 15px; }
  .finalcta__news { padding: 22px; }
  .newsletterForm { flex-direction: column; }
}

/* ── Footer ──────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .ftr__inner { grid-template-columns: 1fr 1fr 1fr; gap: 28px 32px; padding: 48px 28px 28px; }
  .ftr__brand { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .ftr__inner { grid-template-columns: 1fr 1fr; gap: 28px 24px; padding: 36px 20px 24px; }
  .ftr__brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .ftr__inner { grid-template-columns: 1fr; gap: 24px; padding: 32px 20px 24px; }
}

/* ── Ausgangssituation gradient on small screens ─────────────── */
@media (max-width: 768px) {
  .ausgst {
    background: linear-gradient(to bottom,
      var(--nc-deep-navy) 0%,
      #0d1726 30%,
      #161219 58%,
      #1b1209 82%,
      #1E1009 100%);
  }
}

/* ── Scroll-reveal: honour screen size ───────────────────────── */
@media (max-width: 1024px) {
  .hero__left .eyebrow,
  .hero__left .hero__h1,
  .hero__left .hero__sub,
  .hero__left .hero__ctas { transition-duration: 480ms; }
}
