/* ==========================================================================
   CodeCrafters Automation — Redesign stylesheet
   Product-first, hybrid (dark brand / light product). Source: docs/REDESIGN-SPEC.md
   Fonts: Bricolage Grotesque (display) · IBM Plex Sans (body) · JetBrains Mono (accent)
   ========================================================================== */

:root {
  /* ---- Brand core (exact, from logo SVG) ---- */
  --brand-navy:#041235; --brand-blue:#105ed9; --brand-teal:#0bb9bc;
  --brand-slate:#4c566f; --brand-bluegrey:#bdcedf; --brand-offwhite:#f6f8fa;

  /* ---- Blue ramp ---- */
  --blue-50:#eaf2fd; --blue-100:#cfe0fa; --blue-200:#a3c4f4; --blue-300:#6fa1ec;
  --blue-400:#3d7ee4; --blue-500:#105ed9; --blue-600:#0d4cb0; --blue-700:#0a3b88;
  --blue-800:#082c66; --blue-900:#061f49;
  /* ---- Teal ramp ---- */
  --teal-50:#e6fafa; --teal-100:#c2f1f2; --teal-200:#8ce4e6; --teal-300:#4fd2d4;
  --teal-400:#1fc3c6; --teal-500:#0bb9bc; --teal-600:#099799; --teal-700:#077476;
  --teal-800:#055557; --teal-900:#043b3c;
  /* ---- Ink / dark surfaces ---- */
  --ink-950:#02091f; --ink-900:#041235; --ink-800:#0a1d49; --ink-700:#122a63; --ink-600:#1d3a7e;
  /* ---- Neutral grey (navy-biased) ---- */
  --white:#fff; --gray-50:#f6f8fa; --gray-100:#eef1f5; --gray-200:#dde3ec;
  --gray-300:#bdcedf; --gray-400:#94a3b8; --gray-500:#6b7689; --gray-600:#4c566f;
  --gray-700:#353e54; --gray-800:#1f2740; --gray-900:#0d1530; --black:#02050f;

  /* ---- Gradients & glow ---- */
  --gradient-brand:linear-gradient(100deg,#105ed9 0%,#0bb9bc 100%);
  --gradient-brand-soft:linear-gradient(100deg,#3d7ee4 0%,#1fc3c6 100%);
  --gradient-text:linear-gradient(95deg,#3d7ee4 0%,#1fc3c6 100%);
  --glow-brand:radial-gradient(60% 60% at 50% 40%,rgba(16,94,217,.28) 0%,rgba(11,185,188,.14) 45%,rgba(4,18,53,0) 78%);

  /* ---- Semantic ---- */
  --surface-page:var(--gray-50); --surface-card:var(--white);
  --surface-dark:var(--ink-900); --surface-dark-card:var(--ink-800);
  --text-strong:var(--brand-navy); --text-body:var(--gray-700); --text-muted:var(--gray-600);
  --text-on-dark:#eaf0f8; --text-on-dark-muted:#9fb2d0;
  --border-subtle:var(--gray-200); --border-default:var(--gray-300); --border-on-dark:var(--ink-600);
  --link:var(--blue-600); --link-on-dark:var(--blue-300);

  /* ---- Status ---- */
  --status-live-fg:#06797b; --status-live-bg:rgba(11,185,188,.12); --status-live-dot:#0bb9bc;
  --status-soon-fg:#0d4cb0; --status-soon-bg:rgba(16,94,217,.10); --status-soon-dot:#105ed9;
  --status-dev-fg:#4c566f;  --status-dev-bg:rgba(76,86,111,.10);  --status-dev-dot:#94a3b8;

  /* ---- Shadows (navy-tinted) ---- */
  --shadow-xs:0 1px 2px rgba(4,18,53,.06);
  --shadow-sm:0 2px 4px rgba(4,18,53,.06),0 1px 2px rgba(4,18,53,.08);
  --shadow-md:0 6px 16px -4px rgba(4,18,53,.10),0 2px 6px -2px rgba(4,18,53,.08);
  --shadow-lg:0 16px 36px -8px rgba(4,18,53,.14),0 4px 12px -4px rgba(4,18,53,.08);
  --shadow-xl:0 28px 60px -12px rgba(4,18,53,.20),0 8px 20px -8px rgba(4,18,53,.10);
  --shadow-glow-blue:0 12px 40px -8px rgba(16,94,217,.35);
  --shadow-glow-teal:0 0 0 1px rgba(11,185,188,.4),0 8px 28px -6px rgba(11,185,188,.30);
  --shadow-on-dark:0 18px 50px -12px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);

  /* ---- Radii ---- */
  --r-sm:6px; --r-md:10px; --r-lg:14px; --r-xl:20px; --r-2xl:28px; --r-pill:999px;

  /* ---- Type ---- */
  --font-display:'Bricolage Grotesque','Trebuchet MS',system-ui,sans-serif;
  --font-sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-mono:'JetBrains Mono','Fira Code',ui-monospace,monospace;
  --fs-xs:clamp(.75rem,.72rem + .15vw,.8125rem);
  --fs-sm:clamp(.875rem,.84rem + .2vw,.9375rem);
  --fs-base:clamp(1rem,.96rem + .25vw,1.0625rem);
  --fs-lg:clamp(1.125rem,1.06rem + .4vw,1.25rem);
  --fs-xl:clamp(1.25rem,1.15rem + .6vw,1.5rem);
  --fs-2xl:clamp(1.5rem,1.32rem + 1.1vw,2rem);
  --fs-3xl:clamp(1.875rem,1.55rem + 1.9vw,2.75rem);
  --fs-4xl:clamp(2.25rem,1.8rem + 2.8vw,3.5rem);
  --fs-5xl:clamp(2.75rem,2.1rem + 4vw,4.5rem);
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;
  --lh-tight:1.08; --lh-snug:1.25; --lh-normal:1.55; --lh-relaxed:1.7;

  /* ---- Motion ---- */
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --dur-fast:140ms; --dur-base:240ms; --dur-slow:420ms; --dur-reveal:640ms;

  /* ---- Layout ---- */
  --container:1200px; --container-wide:1320px;
  --space-section:clamp(4rem,3rem + 6vw,8rem);

  /* ---- Motif ---- */
  --motif-dot:radial-gradient(circle at center,rgba(189,206,223,.5) 1px,transparent 1.4px);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{overflow-x:hidden}
body{
  font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);
  color:var(--text-body);background:var(--surface-page);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:-.02em;color:var(--text-strong);overflow-wrap:break-word}
::selection{background:rgba(16,94,217,.18)}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}
.gradient-text{background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-blue)}
.eyebrow--ondark{color:var(--teal-300)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-sm);
  padding:.8rem 1.5rem;border-radius:var(--r-md);border:1.5px solid transparent;
  transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base) var(--ease-out),background-position var(--dur-slow) var(--ease-out),background-color var(--dur-base),border-color var(--dur-base),color var(--dur-base);
  white-space:nowrap}
.btn svg{width:18px;height:18px}
.btn--primary{color:#fff;background:var(--gradient-brand);background-size:160% 100%;background-position:0 0;box-shadow:var(--shadow-glow-blue)}
.btn--primary:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 16px 44px -8px rgba(16,94,217,.45)}
.btn--secondary{color:var(--blue-600);background:var(--white);border-color:var(--border-default)}
.btn--secondary:hover{border-color:var(--brand-blue);background:var(--blue-50);transform:translateY(-2px)}
.btn--on-dark{color:var(--text-on-dark);background:rgba(255,255,255,.06);border-color:var(--border-on-dark);backdrop-filter:blur(6px)}
.btn--on-dark:hover{background:rgba(255,255,255,.12);border-color:var(--teal-400);transform:translateY(-2px)}
.btn--sm{padding:.55rem 1rem;font-size:var(--fs-xs)}
.btn--lg{padding:1rem 1.9rem;font-size:var(--fs-base)}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--brand-teal);outline-offset:3px;border-radius:var(--r-sm)}

/* ---------- Status pill ---------- */
.pill{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .7rem;border-radius:var(--r-pill);
  font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase}
.pill .dot{width:7px;height:7px;border-radius:50%;position:relative;flex:none}
.pill--live{background:var(--status-live-bg);color:var(--status-live-fg)}
.pill--live .dot{background:var(--status-live-dot)}
.pill--live .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--status-live-dot);animation:pulse-ring 2s var(--ease-in-out) infinite}
.pill--soon{background:var(--status-soon-bg);color:var(--status-soon-fg)}
.pill--soon .dot{background:var(--status-soon-dot)}
.pill--dev{background:var(--status-dev-bg);color:var(--status-dev-fg)}
.pill--dev .dot{background:var(--status-dev-dot)}
@keyframes pulse-ring{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(2.4);opacity:0}}

/* ---------- Navbar ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;transition:background var(--dur-base),box-shadow var(--dur-base),border-color var(--dur-base)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:72px;
  width:100%;max-width:var(--container-wide);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}
.nav-logo{display:flex;align-items:center}
.nav-logo img{height:34px;width:auto}
.nav-logo .logo-dark{display:block} .nav-logo .logo-light{display:none}
.nav-menu{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-menu a{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-on-dark-muted);position:relative;padding:.25rem 0;transition:color var(--dur-base)}
.nav-menu a:hover{color:var(--text-on-dark)}
.nav-menu a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-out)}
.nav-menu a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:.75rem}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:6px}
.nav-toggle span{width:24px;height:2px;background:var(--text-on-dark);border-radius:2px;transition:.3s}

/* scrolled state (solid, light) */
.nav.is-scrolled{background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}
.nav.is-scrolled .nav-logo .logo-dark{display:none} .nav.is-scrolled .nav-logo .logo-light{display:block}
.nav.is-scrolled .nav-menu a{color:var(--text-body)}
.nav.is-scrolled .nav-menu a:hover{color:var(--text-strong)}
.nav.is-scrolled .nav-toggle span{background:var(--text-strong)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--ink-900);color:var(--text-on-dark);
  padding:calc(72px + clamp(3rem,6vw,6rem)) 0 clamp(4rem,8vw,7rem)}
.hero::before{content:"";position:absolute;inset:0;background:var(--motif-dot);background-size:24px 24px;opacity:.10;pointer-events:none}
.hero::after{content:"";position:absolute;inset:-10% -10% auto auto;width:70%;height:120%;background:var(--glow-brand);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.hero-eyebrow{margin-bottom:1.25rem}
.hero h1{font-size:var(--fs-5xl);color:var(--text-on-dark);margin-bottom:1.25rem;max-width:14ch;overflow-wrap:break-word}
.hero-sub{font-size:var(--fs-lg);line-height:var(--lh-snug);color:var(--text-on-dark-muted);max-width:46ch;margin-bottom:2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem}

/* hero visual: live pipeline */
.hero-visual{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center}
.pipeline{position:relative;width:100%;max-width:440px;aspect-ratio:1/.78;
  background:linear-gradient(160deg,rgba(13,29,73,.9),rgba(4,18,53,.75));
  border:1px solid var(--border-on-dark);border-radius:var(--r-xl);
  box-shadow:var(--shadow-on-dark);backdrop-filter:blur(4px);padding:1.5rem;overflow:hidden}
.pipeline::before{content:"";position:absolute;inset:0;background:var(--motif-dot);background-size:18px 18px;opacity:.12}
.pipeline-svg{position:relative;width:100%;height:100%}
.pipeline-svg .track{stroke:rgba(189,206,223,.25);stroke-width:2;fill:none}
.pipeline-svg .flow{stroke:url(#pg);stroke-width:2.5;fill:none;stroke-linecap:round;
  stroke-dasharray:520;stroke-dashoffset:520;animation:flow-draw 1.6s var(--ease-out) .4s forwards}
.pipeline-svg .node{fill:var(--ink-800);stroke:var(--brand-blue);stroke-width:2.5}
.pipeline-svg .node.is-done{stroke:var(--brand-teal)}
.pipeline-svg .node-live{fill:var(--brand-teal)}
.pipeline-svg .node-live-ring{fill:none;stroke:var(--brand-teal);stroke-width:2;transform-origin:center;animation:node-pulse 2.2s var(--ease-in-out) infinite}
.pipeline-label{position:absolute;font-family:var(--font-mono);font-size:11px;color:var(--text-on-dark-muted)}
@keyframes flow-draw{to{stroke-dashoffset:0}}
@keyframes node-pulse{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(2.6);opacity:0}}

/* ---------- Scroll reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}
[data-reveal].in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{order:-1;min-height:240px}

  /* collapse the nav into a working toggle dropdown */
  .nav-menu,.nav-cta .btn{display:none}
  .nav-toggle{display:flex}
  .nav-cta{gap:0}

  .nav.is-open{background:var(--ink-900)}
  .nav.is-open.is-scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
  .nav.is-open .nav-menu{
    display:flex;flex-direction:column;gap:0;
    position:absolute;top:72px;left:0;right:0;
    padding:.5rem 0;background:var(--ink-900);
    border-top:1px solid var(--border-on-dark);
    box-shadow:var(--shadow-lg);
  }
  .nav.is-open.is-scrolled .nav-menu{background:var(--white);border-top-color:var(--border-subtle)}
  .nav.is-open .nav-menu li{width:100%}
  .nav.is-open .nav-menu a{display:block;width:100%;padding:.9rem clamp(1.25rem,5vw,2rem);font-size:var(--fs-base)}
  .nav.is-open .nav-menu a::after{display:none}
  .nav.is-open .nav-cta .btn{display:inline-flex;margin:.4rem clamp(1.25rem,5vw,2rem) .9rem}

  /* hamburger morphs into an X when open */
  .nav-toggle span{transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-fast)}
  .nav.is-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav.is-open .nav-toggle span:nth-child(2){opacity:0}
  .nav.is-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

@media (max-width:480px){
  .hero h1{font-size:var(--fs-4xl)}
  .hero-actions{gap:.6rem}
  .hero-actions .btn{flex:1 1 100%;justify-content:center}
  .btn--lg{padding:.85rem 1.3rem;font-size:var(--fs-sm)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  [data-reveal]{opacity:1!important;transform:none!important}
  .pipeline-svg .flow{stroke-dashoffset:0!important}
}

/* ==========================================================================
   Sections: product grid, spotlight, proof, consulting, footer
   ========================================================================== */

.section{padding:var(--space-section) 0}
.section--light{background:var(--surface-page)}
.section--dark{background:var(--ink-900);color:var(--text-on-dark);position:relative;overflow:hidden}
.section-head{max-width:60ch;margin-bottom:clamp(2rem,4vw,3.25rem)}
.section-head h2{font-size:var(--fs-3xl);margin-top:.6rem}
.section-head .lead{color:var(--text-muted);font-size:var(--fs-lg);margin-top:.75rem;line-height:var(--lh-snug)}
.section--dark .section-head .lead{color:var(--text-on-dark-muted)}

/* ---------- Product media (branded motif panel) ---------- */
.pcard-media{position:relative;border-radius:var(--r-md);overflow:hidden;
  background:linear-gradient(150deg,var(--ink-800),var(--ink-900));aspect-ratio:16/9}
.pcard-media::before{content:"";position:absolute;inset:0;background:var(--motif-dot);background-size:18px 18px;opacity:.16}
.pcard-media .glyph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-weight:600;font-size:clamp(1.4rem,4vw,2.2rem);color:rgba(234,240,248,.92);letter-spacing:.06em}
.pcard-media .glyph span{background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.pcard-media .sheen{position:absolute;inset:0;background:radial-gradient(80% 60% at 30% 0%,rgba(16,94,217,.35),transparent 70%)}

/* ---------- Product cards ---------- */
.products-flagship{margin-bottom:clamp(1.25rem,3vw,2rem)}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}

.pcard{position:relative;display:flex;flex-direction:column;gap:1rem;background:var(--surface-card);
  border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--shadow-sm);
  transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base)}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-default)}
.pcard-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.pcard-name{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-xl);color:var(--text-strong)}
.pcard-value{color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-snug);flex:1}
.pcard-tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none}
.pcard-tags li{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);background:var(--gray-100);
  border:1px solid var(--border-subtle);border-radius:var(--r-pill);padding:.18rem .55rem}
.pcard-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}

/* wide card: spans 2 of the 3 grid columns (balances the 5-card grid) */
.pcard--wide{grid-column:span 2}

/* live card: teal top edge */
.pcard--live{border-top:2px solid var(--brand-teal)}
.pcard--live .pcard-media{background:linear-gradient(150deg,#0a3b88,#041235)}
.pcard--live .pcard-media .sheen{background:radial-gradient(80% 60% at 30% 0%,rgba(11,185,188,.4),transparent 70%)}

/* in-dev card: deliberately muted, no hover lift */
.pcard--dev{opacity:.94}
.pcard--dev:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--border-default)}
.pcard--dev .pcard-media{filter:grayscale(.6) brightness(.9)}
.pcard--dev .pcard-name{color:var(--gray-700)}

/* flagship: dominant, gradient top edge, glow */
.pcard--flagship{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:center;
  padding:clamp(1.5rem,3vw,2.25rem);border:1px solid var(--blue-200);box-shadow:var(--shadow-lg)}
.pcard--flagship::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--gradient-brand)}
.pcard--flagship:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl),var(--shadow-glow-blue)}
.pcard--flagship .pcard-media{aspect-ratio:16/10}
.pcard--flagship .pcard-name{font-size:var(--fs-2xl)}
.pcard--flagship .pcard-value{font-size:var(--fs-base)}
.flagship-label{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-sans);font-weight:var(--fw-semibold);
  font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-blue);margin-bottom:.5rem}

/* ---------- Spotlight (Operations Center) ---------- */
.spotlight .container{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.section--dark::before{content:"";position:absolute;inset:0;background:var(--motif-dot);background-size:24px 24px;opacity:.08;pointer-events:none}
.spotlight::after{content:"";position:absolute;inset:auto auto -20% -10%;width:60%;height:120%;background:var(--glow-brand);pointer-events:none}
.spotlight-copy{position:relative}
.spotlight-copy h2{color:var(--text-on-dark);font-size:var(--fs-3xl);margin:.6rem 0 1rem}
.spotlight-copy .lead{color:var(--text-on-dark-muted);font-size:var(--fs-lg);line-height:var(--lh-snug);margin-bottom:1.5rem;max-width:42ch}
.stat-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.75rem}
.stat-chips .chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:var(--r-pill);
  background:rgba(255,255,255,.05);border:1px solid var(--border-on-dark);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-on-dark)}
.stat-chips .chip .dot{width:7px;height:7px;border-radius:50%;background:var(--brand-teal)}
.spotlight-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.spotlight-visual{position:relative}
.pipe7{position:relative;background:var(--surface-dark-card);border:1px solid var(--border-on-dark);border-radius:var(--r-xl);
  box-shadow:var(--shadow-on-dark);padding:1.5rem 1.25rem}
.pipe7::before{content:"";position:absolute;inset:0;background:var(--motif-dot);background-size:16px 16px;opacity:.12;border-radius:var(--r-xl)}
.pipe7 svg{position:relative;width:100%;height:auto}
.pipe7 .p-track{stroke:rgba(189,206,223,.22);stroke-width:2;fill:none}
.pipe7 .p-flow{stroke:url(#pg7);stroke-width:3;fill:none;stroke-linecap:round;stroke-dasharray:760;stroke-dashoffset:760;animation:flow-draw 1.8s var(--ease-out) .3s forwards}
.pipe7 .p-node{fill:var(--ink-700);stroke:var(--brand-blue);stroke-width:2.5}
.pipe7 .p-node.done{stroke:var(--brand-teal);fill:var(--ink-800)}
.pipe7 .p-num{fill:var(--text-on-dark-muted);font-family:var(--font-mono);font-size:11px;text-anchor:middle}
.pipe7 .p-stage{fill:var(--text-on-dark);font-family:var(--font-sans);font-size:12px;font-weight:600;text-anchor:middle}

/* ---------- Proof strip ---------- */
.proof{background:var(--surface-page)}
.proof .container{display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center}
.proof-label{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.proof-marks{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.25rem,4vw,3rem);align-items:center}
.proof-marks span{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-lg);color:var(--gray-500);opacity:.7}
.proof-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:0}
.proof-stats .stat{padding:0 clamp(1.25rem,4vw,2.5rem);text-align:center}
.proof-stats .stat + .stat{border-left:1px solid var(--border-subtle)}
.proof-stats .num{display:block;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-3xl);color:var(--text-strong);line-height:1}
.proof-stats .lbl{font-family:var(--font-sans);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:.4rem;display:block}

/* ---------- Consulting band ---------- */
.consulting{background:#eef2f7}
.consulting .container{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.consulting h2{font-size:var(--fs-2xl)}
.consulting .lead{color:var(--text-muted);font-size:var(--fs-lg);line-height:var(--lh-snug);margin:.6rem 0 1.25rem;max-width:44ch}
.chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.chip-row .chip{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border-radius:var(--r-pill);
  background:var(--white);border:1px solid var(--border-default);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-body)}
.chip-row .chip .dot{width:8px;height:8px;border-radius:50%;background:var(--brand-teal)}
.consulting-aside{display:flex;justify-content:flex-end}

/* ---------- Footer ---------- */
.footer{background:var(--ink-900);color:var(--text-on-dark-muted);position:relative;padding:clamp(3rem,6vw,4.5rem) 0 2rem}
.footer::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--gradient-brand)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:start;margin-bottom:2.5rem}
.footer-cta h2{color:var(--text-on-dark);font-size:var(--fs-2xl);margin-bottom:1rem}
.footer-logo img{height:32px;width:auto;margin-bottom:1rem}
.footer-tag{max-width:36ch;font-size:var(--fs-sm)}
.footer-links{display:flex;gap:clamp(1.5rem,4vw,3rem);flex-wrap:wrap;justify-content:flex-end}
.footer-col h4{font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-on-dark);margin-bottom:.85rem;font-weight:var(--fw-semibold)}
.footer-col a{display:block;font-size:var(--fs-sm);color:var(--text-on-dark-muted);padding:.25rem 0;transition:color var(--dur-base)}
.footer-col a:hover{color:var(--link-on-dark)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding-top:1.5rem;border-top:1px solid var(--border-on-dark);font-size:var(--fs-xs)}

@media (max-width:880px){
  .products-grid{grid-template-columns:1fr 1fr}
  .pcard--flagship{grid-template-columns:1fr}
  .spotlight .container{grid-template-columns:1fr}
  .spotlight-visual{order:-1}
  .consulting .container{grid-template-columns:1fr}
  .consulting-aside{justify-content:flex-start}
  .footer-top{grid-template-columns:1fr}
  .footer-links{justify-content:flex-start}
  .proof-stats .stat:first-child{padding-left:0}
}
@media (max-width:560px){
  .products-grid{grid-template-columns:1fr}
  .pcard--wide{grid-column:span 1}   /* prevent span 2 forcing an implicit 2nd column */
  .proof-stats{flex-direction:column;gap:1.25rem}
  .proof-stats .stat + .stat{border-left:0}
}
