/* Reference-theme consolidation — 2026-09-07
   Visual-only pass based on the supplied PIM-TNG direction.
   Content, navigation, page structure and interactions are intentionally left unchanged.

   Design intent:
   - one navy + electric-blue brand system
   - cool white / blue-grey working surfaces
   - restrained borders and square industrial geometry
   - dark hero only where it earns it (home + Agent)
   - semantic success/warning states may keep their functional colours
*/

:root {
  --ref-navy-950: #03182c;
  --ref-navy-900: #05213a;
  --ref-navy-800: #0a3153;
  --ref-blue-700: #0878d4;
  --ref-blue-600: #0c8ff2;
  --ref-blue-500: #22a7ff;
  --ref-blue-300: #8dd2ff;
  --ref-blue-100: #e8f5ff;
  --ref-blue-050: #f3f9fe;
  --ref-ink: #0a1e35;
  --ref-copy: #4e647a;
  --ref-muted: #718398;
  --ref-line: #d7e3ee;
  --ref-line-strong: #b8d1e6;
  --ref-paper: #ffffff;
  --ref-panel: #f7fafd;
  --ref-panel-2: #eef5fb;
  --ref-shadow: 0 10px 28px rgba(5, 33, 58, .07);
  --ref-shadow-strong: 0 16px 38px rgba(5, 33, 58, .10);

  /* Collapse the old multi-pastel system into one blue family. */
  --pim-tone-lilac: var(--ref-blue-600);
  --pim-tone-plum: var(--ref-blue-600);
  --pim-tone-mint: var(--ref-blue-600);
  --pim-tone-sky: var(--ref-blue-600);
  --pim-tone-peach: var(--ref-blue-600);
  --pim-tone-gold: var(--ref-blue-600);
  --pim-tone-aqua: var(--ref-blue-600);
  --pim-tone-sage: var(--ref-blue-600);
  --pim-tone-rose: var(--ref-blue-600);
  --pim-tone: var(--ref-blue-600);

  --navy: var(--ref-navy-950);
  --navy-2: var(--ref-navy-900);
  --navy-3: var(--ref-navy-800);
  --blue: var(--ref-blue-600);
  --blue-2: var(--ref-blue-500);
  --ice: var(--ref-panel);
  --white: var(--ref-paper);
  --ink: var(--ref-ink);
  --muted: var(--ref-copy);
  --line: var(--ref-line);
  --line-dark: rgba(141, 210, 255, .25);
  --shadow: var(--ref-shadow);

  --pim-ink-1: var(--ref-navy-950);
  --pim-ink-2: var(--ref-navy-900);
  --pim-ink-3: var(--ref-navy-800);
  --pim-spark: var(--ref-blue-500);
  --pim-halo: rgba(34, 167, 255, .34);
  --pim-line: var(--ref-line);
  --pim-edge: var(--ref-line-strong);
  --pim-text: var(--ref-ink);
  --pim-text-dim: var(--ref-copy);
  --pim-text-icon: var(--ref-blue-700);
  --pim-surface: var(--ref-paper);
  --pim-surface-flat: var(--ref-panel);
  --pim-radius: 6px;

  /* Existing warm/technical tokens are redirected rather than removed. */
  --stone-bg: var(--ref-panel-2);
  --stone-surface: var(--ref-paper);
  --stone-surface-strong: #e5eef6;
  --stone-line: var(--ref-line);
  --stone-muted: var(--ref-copy);
  --workflow-ingest: var(--ref-blue-600);
  --workflow-enrich: var(--ref-blue-600);
  --workflow-publish: var(--ref-blue-600);
  --technical-blue: var(--ref-blue-600);
  --technical-blue-dark: var(--ref-blue-700);
  --technical-ink: var(--ref-ink);
  --technical-surface: var(--ref-paper);
  --technical-surface-alt: var(--ref-panel-2);
  --technical-line: var(--ref-line);

  /* Agent chrome: keep semantic green statuses, but the interface accent is blue. */
  --app-accent-2: #f3f9fe;
  --app-accent-3: #e8f5ff;
  --app-accent-6: #9ed6fb;
  --app-accent-7: #6fc1f5;
  --app-accent-9: var(--ref-blue-600);
  --app-accent-11: var(--ref-blue-700);
  --app-accent-12: #083a62;
}

/* Base */
html { background: var(--ref-paper); }
body {
  color: var(--ref-ink);
  background: var(--ref-paper);
  line-height: 1.55;
}

.shell,
.pim-shell {
  width: min(1380px, calc(100% - 44px));
}

::selection { background: #cdeaff; color: var(--ref-ink); }

/* Header — compact, dark, precise. */
.site-header,
.pim-header {
  min-height: 60px;
  border-bottom: 1px solid rgba(141, 210, 255, .18);
  background: rgba(3, 24, 44, .985);
  box-shadow: 0 5px 18px rgba(2, 18, 34, .08);
}

.nav-shell,
.pim-header-inner {
  min-height: 60px;
  height: 60px;
  gap: 26px;
}

.brand,
.pim-brand { gap: 9px; }
.pim-brand img { width: 32px; height: 32px; }
.brand-name {
  font-family: var(--pim-font-sans);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.025em;
}

.main-nav,
.pim-nav {
  gap: 23px;
  color: #c8d7e5;
  font-size: 11px;
  font-weight: 500;
}

.main-nav a,
.pim-nav a {
  padding: 20px 0 19px;
  color: #c8d7e5;
}

.main-nav a::after,
.pim-nav a::after {
  bottom: 9px;
  height: 2px;
  background: var(--ref-blue-500);
}

.button,
.pim-btn {
  min-height: 38px;
  padding-inline: 15px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: none;
}

.button-primary,
.pim-btn--primary {
  color: #fff;
  background: linear-gradient(180deg, #22a7ff 0%, #0788e8 100%);
  border-color: #0a8ce8;
  box-shadow: 0 6px 16px rgba(12, 143, 242, .20);
}
.button-primary:hover,
.pim-btn--primary:hover { box-shadow: 0 8px 20px rgba(12, 143, 242, .28); }

.button-outline,
.pim-btn--ghost {
  border-color: #b9cddd;
  border-radius: 4px;
}

/* Typography — industrial and compact, without changing copy. */
h1,
h2,
.pim-h1,
.pim-h2 {
  color: var(--ref-ink);
  font-family: var(--pim-font-display);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: .98;
  text-wrap: balance;
}

.pim-h1 { font-size: clamp(43px, 5vw, 70px); }
.pim-h2 { font-size: clamp(31px, 3.9vw, 52px); }
.pim-h3 { color: var(--ref-ink); font-weight: 750; }

.eyebrow,
.pim-eyebrow {
  margin-bottom: 10px;
  color: var(--ref-blue-600);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .035em;
}

.pim-lede,
.pim-hero-support { color: var(--ref-copy); }

/* Reference image uses dark only for the opening product story and Agent. */
.home-hero.pim-flow,
.site-page--agent .page-hero,
.site-page--agent .pim-pagehero {
  color: #fff;
  background-color: var(--ref-navy-950);
  background-image:
    linear-gradient(rgba(40, 145, 222, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(40, 145, 222, .075) 1px, transparent 1px),
    radial-gradient(circle at 78% 58%, rgba(20, 130, 225, .18), transparent 38%),
    linear-gradient(135deg, var(--ref-navy-950), var(--ref-navy-900) 67%, #07345b);
  background-size: 42px 42px, 42px 42px, auto, auto;
}

.home-hero.pim-flow {
  min-height: 560px;
  padding-top: 58px;
  padding-bottom: 50px;
}

.home-hero .pim-h1,
.site-page--agent .pim-pagehero .pim-h1,
.site-page--agent .pim-pagehero .pim-h2 { color: #fff; }
.home-hero .pim-flow-payoff .pim-lede,
.site-page--agent .pim-pagehero .pim-lede,
.site-page--agent .pim-pagehero .pim-hero-support { color: #bfd2e3; }

/* All other page heroes are light, like the supplied Features / Pricing / Case pages. */
.site-page:not(.site-page--index):not(.site-page--agent) .page-hero,
.site-page:not(.site-page--index):not(.site-page--agent) .pim-pagehero {
  color: var(--ref-ink);
  padding-top: 42px;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--ref-line);
  background-color: var(--ref-paper);
  background-image:
    linear-gradient(90deg, rgba(12, 143, 242, .03), transparent 42%),
    linear-gradient(var(--ref-line) 1px, transparent 1px);
  background-size: auto, 100% 100%;
}

.site-page:not(.site-page--index):not(.site-page--agent) .pim-pagehero .pim-h1,
.site-page:not(.site-page--index):not(.site-page--agent) .page-hero .pim-h1 { color: var(--ref-ink); }
.site-page:not(.site-page--index):not(.site-page--agent) .pim-pagehero .pim-lede,
.site-page:not(.site-page--index):not(.site-page--agent) .pim-pagehero .pim-hero-support { color: var(--ref-copy); }

/* Sections */
.workflow-section,
.feature-explorer,
.case-index-section,
.consult-services,
.security-controls,
.pricing-plans,
.agent-console-area,
.pim-section--alt {
  background: var(--ref-panel);
  border-color: var(--ref-line);
}

.product-proof.product-section,
.product-section,
.bring-file,
.pim-bring {
  color: var(--ref-ink);
  background: var(--ref-panel-2);
  background-image:
    linear-gradient(rgba(71, 139, 195, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(71, 139, 195, .045) 1px, transparent 1px);
  background-size: 44px 44px;
  border-color: var(--ref-line);
}

.product-proof .section-intro > p,
.product-section .section-intro > p,
.bring-file .pim-lede,
.pim-bring .pim-lede,
.bring-file .pim-note,
.pim-bring .pim-note,
.bring-file .pim-bring-privacy,
.pim-bring .pim-bring-privacy { color: var(--ref-copy); }

.section-intro { margin-bottom: 30px; }
.pim-section { padding-block: 64px; }

/* Cards and panels — one family, small radii, little visual noise. */
.pim-card,
.feature-panel,
.case-panel,
.security-card-grid .pim-card,
.service-grid .pim-card,
.case-grid .pim-study,
.case-grid .case-card,
.pricing-grid .pim-plan,
.pim-contact {
  border: 1px solid var(--ref-line);
  border-radius: 5px;
  background: var(--ref-paper);
  box-shadow: var(--ref-shadow);
}

.pim-card::before { background: var(--ref-blue-600); opacity: .78; }
.pim-card:hover {
  translate: 0 -1px;
  border-color: #9ec9e9;
  box-shadow: var(--ref-shadow-strong);
}

.pim-card p,
.pim-study-summary,
.pim-plan-summary,
.pim-ticks li { color: var(--ref-copy); }

.pim-card-glyph,
.product-audiences .pim-card-glyph,
.bring-file .pim-card-glyph,
.pim-bring .pim-card-glyph,
.feature-panel .pim-card-glyph,
.service-grid .pim-card-glyph,
.case-grid .pim-study .pim-card-glyph,
.case-grid .case-card .pim-card-glyph {
  width: 42px;
  height: 42px;
  color: var(--ref-blue-700);
  border: 1px solid #c5e1f5;
  border-radius: 4px;
  background: var(--ref-blue-100);
  box-shadow: none;
}

/* Home workflow: three steps, one visual language. */
.home-workflow-card,
.home-workflow-card--ingest,
.home-workflow-card--enrich,
.home-workflow-card--publish {
  --workflow-accent: var(--ref-blue-600);
  --workflow-wash: var(--ref-paper);
  min-height: 295px;
  border: 1px solid var(--ref-line);
  background: var(--ref-paper);
  background-image: none;
  box-shadow: none;
}
.home-workflow-card .home-workflow-step {
  color: var(--ref-blue-300);
  -webkit-text-stroke-color: var(--ref-blue-300);
}
.home-workflow-card .home-workflow-rule,
.home-workflow-card .home-workflow-visual,
.home-workflow-card .home-workflow-link,
.home-workflow-card .pim-h2 { color: var(--ref-blue-700); }
.home-workflow-card .home-workflow-rule { background: var(--ref-blue-600); }
.home-workflow-card .home-workflow-visual svg { stroke: var(--ref-blue-700); }
.home-workflow-card--enrich .home-workflow-visual { background-image: none; }
.home-workflow-card--publish .home-workflow-visual::before { display: none; }

/* Sticky rails and local navigation */
.feature-process-ribbon,
.case-navigation,
.pim-anchors {
  top: 60px;
  padding-block: 10px;
  border-bottom: 1px solid var(--ref-line);
  background: rgba(247, 250, 253, .965);
  box-shadow: 0 4px 12px rgba(5, 33, 58, .035);
  backdrop-filter: blur(12px);
}
.feature-process-ribbon a,
.case-navigation a,
.pim-anchors a,
.case-detail--lighting .case-navigation a {
  padding: 7px 11px;
  color: var(--ref-copy);
  border: 1px solid var(--ref-line);
  border-radius: 4px;
  background: var(--ref-paper);
}
.feature-process-ribbon a:hover,
.case-navigation a:hover,
.pim-anchors a:hover,
.case-detail--lighting .case-navigation a:hover {
  color: var(--ref-blue-700);
  border-color: #a8cfea;
  background: var(--ref-blue-050);
}

/* Feature / case technical disclosure surfaces */
.feature-panel,
.case-panel {
  border-top: 2px solid #a9cce6;
  background: var(--ref-paper);
}
.feature-panel .pim-tech,
.case-panel .pim-tech,
.security-audit .pim-tech,
.case-detail--lighting .case-panel .pim-tech {
  border: 1px solid var(--ref-line);
  border-radius: 4px;
  background: var(--ref-panel);
}
.feature-panel .pim-tech-summary,
.case-panel .pim-tech-summary,
.security-audit .pim-tech-summary,
.case-detail--lighting .case-panel .pim-tech-summary {
  color: var(--ref-blue-700);
  background: transparent;
}
.feature-panel .pim-tech-summary:hover,
.case-panel .pim-tech-summary:hover,
.security-audit .pim-tech-summary:hover,
.case-detail--lighting .case-panel .pim-tech-summary:hover {
  color: var(--ref-ink);
  background: var(--ref-blue-100);
}
.feature-panel .pim-tech-marker,
.case-panel .pim-tech-marker,
.case-detail--lighting .case-panel .pim-tech-marker {
  color: var(--ref-blue-700);
  border-color: var(--ref-line-strong);
}

/* Case index + detail: remove per-industry colour drift. */
.case-grid.pim-studies .pim-study,
.case-grid.pim-studies .case-card {
  border: 1px solid var(--ref-line);
  border-top: 2px solid #9fc7e6;
  background: var(--ref-paper);
  box-shadow: var(--ref-shadow);
}
.case-grid.pim-studies .pim-study-headline { color: var(--ref-ink); }
.case-grid.pim-studies .pim-study-summary { color: var(--ref-copy); }
.case-grid.pim-studies .pim-study-link { color: var(--ref-blue-700); }

.case-detail--lighting,
.case-detail--pneumatics,
.case-detail--welding,
.case-detail--control-systems {
  --lighting-ink: var(--ref-ink);
  --lighting-muted: var(--ref-copy);
  --lighting-page: var(--ref-panel);
  --lighting-surface: var(--ref-paper);
  --lighting-surface-alt: var(--ref-panel-2);
  --lighting-line: var(--ref-line);
  --lighting-line-strong: var(--ref-line-strong);
  --lighting-accent: var(--ref-blue-600);
  --lighting-accent-dark: var(--ref-blue-700);
  background: var(--ref-paper);
}

.case-detail--lighting .case-editorial,
.case-detail--lighting .case-explorer,
.case-detail--lighting .case-beats,
.site-page--cases .case-editorial,
.site-page--cases .case-explorer,
.site-page--cases .case-beats {
  color: var(--ref-ink);
  background: var(--ref-paper);
}

.case-detail--lighting .case-panel,
.site-page--cases .case-panel {
  --pim-tone: var(--ref-blue-600);
  color: var(--ref-ink);
  border: 1px solid var(--ref-line);
  border-top: 2px solid #9fc7e6;
  background: var(--ref-paper);
  box-shadow: var(--ref-shadow);
}

.case-detail--lighting .case-panel .pim-h2,
.case-detail--lighting .case-panel .pim-h3,
.case-detail--lighting .case-panel .pim-def dt,
.site-page--cases .case-panel .pim-h2,
.site-page--cases .case-panel .pim-h3,
.site-page--cases .case-panel .pim-def dt { color: var(--ref-ink); }

.case-detail--lighting .case-panel .pim-lede,
.case-detail--lighting .case-panel-body > p:not(.pim-lede),
.case-detail--lighting .case-panel .pim-def dd,
.site-page--cases .case-panel .pim-lede,
.site-page--cases .case-panel-body > p:not(.pim-lede),
.site-page--cases .case-panel .pim-def dd { color: var(--ref-copy); }

.case-detail--lighting .pim-tone--lilac,
.case-detail--lighting .pim-tone--plum,
.case-detail--lighting .pim-tone--mint,
.case-detail--lighting .pim-tone--sky,
.case-detail--lighting .pim-tone--peach,
.case-detail--lighting .pim-tone--gold,
.case-detail--lighting .pim-tone--aqua,
.case-detail--lighting .pim-tone--sage,
.case-detail--lighting .pim-tone--rose { --lighting-group: var(--ref-blue-700); }

/* Editorial media — clean studio-frame treatment. */
.editorial-media,
.case-detail--lighting .editorial-media {
  border: 1px solid var(--ref-line);
  border-radius: 4px;
  background: var(--ref-panel);
  padding: 8px;
}
.editorial-gallery img,
.case-detail--lighting .editorial-gallery img {
  border-color: var(--ref-line);
  background: var(--ref-paper);
}
.editorial-media figcaption,
.editorial-gallery figcaption,
.case-detail--lighting .editorial-media figcaption,
.case-detail--lighting .editorial-gallery figcaption { color: var(--ref-muted); }

/* Pricing: white table-like cards with one blue selected plan. */
.pricing-plans,
.pricing-page #engagements { background: var(--ref-paper); }
.pricing-grid .pricing-card.pim-plan {
  border: 1px solid var(--ref-line);
  border-radius: 5px;
  background: var(--ref-paper);
  box-shadow: none;
}
.pricing-grid .pricing-card.pim-plan--featured {
  border: 1px solid #7cbce9;
  border-top: 3px solid var(--ref-blue-600);
  background: #f5fbff;
  box-shadow: 0 12px 28px rgba(12, 143, 242, .10);
}
.pricing-grid .pricing-card .pim-pill {
  color: var(--ref-blue-700);
  border-color: #bedcf1;
  background: var(--ref-blue-100);
}
.pricing-card .pim-btn--ghost {
  color: var(--ref-ink);
  border-color: #b9cddd;
  background: var(--ref-paper);
}
.pricing-card .pim-btn--ghost:hover { border-color: #81bce6; background: var(--ref-blue-050); }

/* Consulting / security */
.consult-contact-layout,
.pim-contact,
.security-audit .pim-tech {
  border-color: var(--ref-line);
  background: var(--ref-panel);
  box-shadow: none;
}

/* Agent console: target screenshot is a white task list beside a dark execution panel. */
.agent-console-area { background: var(--ref-paper); }
.agent-task-rail .pim-console-tab,
.pim-console-rail .pim-console-tab {
  border: 1px solid var(--ref-line);
  border-radius: 4px;
  background: var(--ref-paper);
  box-shadow: none;
}
.agent-task-rail .pim-console-tab:hover,
.pim-console-rail .pim-console-tab:hover {
  border-color: #9fc9e8;
  background: var(--ref-blue-050);
}
.pim-console-tab:has(.pim-console-radio:checked) {
  border-color: #8bc3eb;
  background: var(--ref-blue-100);
  box-shadow: none;
}
.pim-console-tab::before { background: var(--ref-blue-600); }
.pim-console-glyph {
  color: var(--ref-blue-700);
  border-color: #c5e1f5;
  background: var(--ref-blue-100);
}

.agent-run-panels .pim-console-panel,
.pim-console-panels .pim-console-panel {
  border: 1px solid #173d60;
  border-radius: 5px;
  background: var(--ref-navy-950);
  box-shadow: 0 14px 34px rgba(3, 24, 44, .16);
}
.agent-app-shell.pim-console-app,
.pim-console-app { border-radius: 3px; }

/* CTA and footer */
.pim-cta {
  color: #fff;
  border-color: rgba(141, 210, 255, .18);
  background-color: var(--ref-navy-950);
  background-image:
    linear-gradient(rgba(40, 145, 222, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(40, 145, 222, .06) 1px, transparent 1px),
    linear-gradient(135deg, var(--ref-navy-950), #07365c);
  background-size: 42px 42px, 42px 42px, auto;
}
.pim-cta .pim-h2 { color: #fff; }
.pim-cta .pim-lede { color: #bfd2e3; }

.footer,
.pim-footer {
  color: #fff;
  border-top: 1px solid rgba(141, 210, 255, .16);
  background: #021424;
}
.pim-footer-brand p,
.pim-footer-list a,
.pim-footer-legal,
.pim-footer-legal-links a { color: #9fb5c8; }
.pim-footer-list a:hover,
.pim-footer-legal-links a:hover { color: var(--ref-blue-300); }

/* Keep semantic ribbons/statuses, but remove the old gold/pink decorative reading. */
.pim-card-ribbon,
.pim-plan-note-term {
  color: var(--ref-blue-700);
  background: var(--ref-blue-100);
}

/* Responsive */
@media (max-width: 900px) {
  .nav-shell,
  .pim-header-inner { min-height: 60px; height: auto; }
  .home-hero.pim-flow { padding-top: 48px; }
}

@media (max-width: 640px) {
  .shell,
  .pim-shell,
  .pim-header .pim-shell { width: calc(100% - 28px); }
  .pim-h1 { font-size: 40px; }
  .pim-h2 { font-size: 32px; }
  .site-page:not(.site-page--index):not(.site-page--agent) .page-hero,
  .site-page:not(.site-page--index):not(.site-page--agent) .pim-pagehero { padding: 34px 0 28px; }
  .pim-section { padding-block: 48px; }
}

/* Density / hierarchy refinements from the reference composition. */
.home-hero .pim-h1,
.page-hero .pim-h1,
.pim-pagehero .pim-h1 {
  text-transform: uppercase;
}

.pim-h1 { font-size: clamp(42px, 4.7vw, 64px); }
.pim-h2 { font-size: clamp(30px, 3.2vw, 44px); }

.feature-panel .pim-h2,
.case-panel .pim-h2 {
  font-size: clamp(24px, 2.3vw, 31px);
  letter-spacing: -.035em;
  text-transform: none;
}

.pim-card .pim-h3,
.pim-study-headline { font-size: 19px; line-height: 1.15; }

/* Functional states can remain semantic; decorative category colour cannot. */
.pim-icon--tick { color: var(--ref-blue-600); }
.pim-agentstatus--done,
.pim-agentstatus--done .pim-agentdot { color: #128547; }
