/* =====================================================================
   By Line of Business, shared enhancement layer (loads with platform.css).
   Sierra/Ema/Artisan-inspired: glass 3D hero dashboard, per-section colour
   coding + backgrounds, capability gradient grid, governance audit console.
   BCS tokens only. Used by all /..-automation/ LoB pages.
   ===================================================================== */

  /* A. Hero, glassmorphic dashboard on a glow halo with mouse-driven 3D tilt */
  .pc-hero-visual { isolation: isolate; perspective: 1300px; }
  .pc-hero-visual::before {
    content: ''; position: absolute; z-index: 0; inset: -16% -10% -20% -10%;
    background: radial-gradient(58% 55% at 62% 40%, rgba(152,42,243,0.34), transparent 70%),
                radial-gradient(46% 46% at 28% 82%, rgba(250,129,62,0.16), transparent 72%);
    filter: blur(36px); pointer-events: none;
  }
  .pc-hero-visual .pc-loop-panel {
    position: relative; z-index: 1; border-radius: 18px;
    background: linear-gradient(180deg, rgba(31,21,48,0.72), rgba(18,12,28,0.78));
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 32px 84px -22px rgba(0,0,0,0.66), 0 0 0 1px rgba(212,187,255,0.10);
    transform-style: preserve-3d; transition: transform .3s var(--ease-out); will-change: transform;
  }
  .pc-hero-visual .pc-loop-panel::before {
    content: ''; position: absolute; inset: 0; border-radius: 18px; padding: 1px;
    background: linear-gradient(140deg, rgba(212,187,255,0.42), rgba(212,187,255,0) 42%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
  }
  /* elements lift toward the viewer as the panel tilts (depth parallax) */
  .pc-hero-visual .pc-loop-bar { transform: translateZ(34px); }
  .pc-hero-visual .lob-kpis { transform: translateZ(30px); }
  .pc-hero-visual .lob-feed { transform: translateZ(24px); }
  .pc-hero-visual .lob-db-foot { transform: translateZ(30px); }
  .pc-hero-visual .pc-pipe { transform: translateZ(16px); }

  /* Bolder, more minimalist hero headline (huge text) */
  .pc-hero .pc-h1 { font-size: clamp(2.9rem, 6vw, 4.5rem); line-height: 1.02; letter-spacing: -.035em; }
  .pc-hero .pc-lead { font-size: 1.16rem; }

  /* B. Premium cards, larger radius + resting depth + consistent hover lift */
  .pc-page .pc-glass { border-radius: 16px; }
  .pc-cap, .pc-guard, .pc-tri-card, .pc-gap-card, .pc-proof-card, .pc-faq-item {
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03), 0 12px 30px -22px rgba(0,0,0,0.7);
    transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s;
  }
  .pc-guard:hover, .pc-tri-card:hover, .pc-gap-card:hover, .pc-proof-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 46px -20px rgba(71,40,125,0.55);
    border-color: rgba(212,187,255,0.28);
  }

  /* C. Metric ribbon, more presence but restrained (Sierra sobriety) */
  .pc-metric { transition: background .25s; }
  .pc-metric:hover { background: rgba(212,187,255,0.03); }
  .pc-metric-val { font-size: 2.7rem; }

  /* D. CTA button, soft brand glow (Artisan) */
  .pc-btn-cta { box-shadow: 0 10px 30px -10px rgba(250,129,62,0.5); }
  .pc-btn-cta:hover { box-shadow: 0 14px 38px -10px rgba(250,129,62,0.62); transform: translateY(-2px); }

  /* E. Section eyebrow, gradient hairline accent for structure */
  .pc-head .pc-mono-label { position: relative; display: inline-block; padding-bottom: .6rem; }
  .pc-head .pc-mono-label::after {
    content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
    width: 34px; height: 2px; border-radius: 2px; background: var(--pc-grad);
  }

  /* F. The Shift, make the Symphony column read as the resolved answer */
  .pc-matrix-col.new {
    background: radial-gradient(120% 100% at 100% 0%, rgba(152,42,243,0.15), transparent 60%), var(--pc-bg-low);
  }
  .pc-matrix-col.new::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(212,187,255,0.14);
  }

  /* G. Integration chips + FAQ, subtle interactive warmth */
  .pc-chip { transition: border-color .2s, color .2s, background .2s; }
  .pc-chip:hover { border-color: rgba(212,187,255,0.35); color: var(--pc-violet); }
  .pc-faq-item[open] { border-color: rgba(212,187,255,0.28); }

  /* H. Capabilities, flat 3x3 grid with larger icon tiles + entrance/hover animation */
  .pc-caps.pc-caps--3x3 { grid-template-columns: repeat(3, 1fr); }
  .pc-sec-caps .pc-cap-tile { width: 52px; height: 52px; border-radius: 13px; transition: transform .25s var(--ease-out), box-shadow .3s; }
  .pc-sec-caps .pc-cap-tile svg { display: block; width: 26px; height: 26px; }
  .pc-sec-caps .pc-cap:hover .pc-cap-tile { transform: translateY(-2px) scale(1.08); }
  @media (max-width: 1000px) { .pc-caps.pc-caps--3x3 { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 640px)  { .pc-caps.pc-caps--3x3 { grid-template-columns: 1fr; } }
  @media (prefers-reduced-motion: no-preference) {
    /* let the cards stagger in individually rather than the whole grid at once */
    .pc-sec-caps .pc-caps.pc-reveal { opacity: 1; transform: none; }
    .pc-sec-caps .pc-cap { opacity: 0; transform: translateY(15px); transition: opacity .5s var(--ease-out), transform .5s var(--ease-out), box-shadow .25s, border-color .25s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap { opacity: 1; transform: none; }
    .pc-sec-caps .pc-cap:hover { transition-delay: 0s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap:nth-child(1) { transition-delay: .04s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap:nth-child(2) { transition-delay: .08s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap:nth-child(3) { transition-delay: .12s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap:nth-child(4) { transition-delay: .16s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap:nth-child(5) { transition-delay: .20s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap:nth-child(6) { transition-delay: .24s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap:nth-child(7) { transition-delay: .28s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap:nth-child(8) { transition-delay: .32s; }
    .pc-sec-caps .pc-caps.pc-in .pc-cap:nth-child(9) { transition-delay: .36s; }
  }

  /* I. Per-section signature colour + alternative section backgrounds (Option 3).
     --sec is an "R,G,B" triple so every accent below derives from one source. */
  .pc-sec-leaks    { --sec: 244,63,94;  background: radial-gradient(96% 72% at 50% -12%, rgba(244,63,94,0.07),  transparent 58%); }
  .pc-sec-caps     { --sec: 152,42,243; background: radial-gradient(96% 72% at 50% -12%, rgba(152,42,243,0.08), transparent 58%); }
  .pc-sec-controls { --sec: 74,222,128; background: radial-gradient(96% 72% at 50% -12%, rgba(74,222,128,0.02), transparent 55%); }

  /* eyebrow text + hairline take the section colour */
  .pc-sec-leaks .pc-head .pc-mono-label,
  .pc-sec-caps .pc-head .pc-mono-label,
  .pc-sec-controls .pc-head .pc-mono-label { color: rgb(var(--sec)); }
  .pc-sec-leaks .pc-head .pc-mono-label::after,
  .pc-sec-caps .pc-head .pc-mono-label::after,
  .pc-sec-controls .pc-head .pc-mono-label::after { background: rgb(var(--sec)); }

  /* Why spend leaks, rose: number badges, connectors, card accent + hover */
  .pc-sec-leaks .pc-gap-head .num { background: none; -webkit-text-fill-color: rgb(var(--sec)); color: rgb(var(--sec)); }
  .pc-sec-leaks .pc-gap-head .ln { background: linear-gradient(to right, rgba(var(--sec),0.55), transparent); }
  .pc-sec-leaks .pc-gap-card { border-left: 2px solid rgba(var(--sec),0.5); }
  .pc-sec-leaks .pc-gap-card:hover { border-color: rgba(var(--sec),0.45); box-shadow: 0 20px 46px -20px rgba(var(--sec),0.42); }

  /* Capabilities, per-card orange->pink->purple ramp (--cc set inline per card).
     Only the icon, its tile glow/outline, and the card outline take the colour. */
  .pc-sec-caps .pc-cap-tile {
    color: #fff; /* white icon, as the old version */
    background: linear-gradient(135deg, color-mix(in srgb, var(--cc) 22%, transparent), color-mix(in srgb, var(--cc) 40%, transparent));
    border-color: color-mix(in srgb, var(--cc) 45%, transparent);
    /* no glow, per request */
  }
  .pc-sec-caps .pc-cap {
    border-color: color-mix(in srgb, var(--cc) 26%, transparent);
    border-top: 2px solid color-mix(in srgb, var(--cc) 70%, transparent);
  }
  .pc-sec-caps .pc-cap::before {
    background: conic-gradient(from 140deg, var(--cc), color-mix(in srgb, var(--cc) 12%, transparent), var(--cc));
  }
  .pc-sec-caps .pc-cap:hover {
    border-color: color-mix(in srgb, var(--cc) 55%, transparent);
    box-shadow: 0 22px 48px -18px color-mix(in srgb, var(--cc) 55%, transparent);
  }

  /* Controls & audit, emerald: shield icons, accent bar + hover */
  .pc-sec-controls .pc-guard h3 svg { color: rgb(var(--sec)); }
  .pc-sec-controls .pc-guard { border-top: 2px solid rgba(var(--sec),0.4); }
  .pc-sec-controls .pc-guard:hover { box-shadow: 0 20px 46px -20px rgba(var(--sec),0.4); border-color: rgba(var(--sec),0.35); }

  /* J. Hero live-operations dashboard (page-local) */
  .lob-db { padding: 1.4rem 1.5rem 1.3rem; }
  .lob-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin: 1.3rem 0 .1rem; }
  .lob-kpi { background: rgba(255,255,255,0.03); border: 1px solid var(--pc-line-soft); border-radius: 12px; padding: .75rem .8rem; display: flex; flex-direction: column; gap: .5rem; }
  .lob-kpi-label { font-family: var(--pc-mono); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-outline); }
  .lob-kpi-val { font-size: 1.55rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; color: var(--pc-ink); display: flex; align-items: baseline; font-variant-numeric: tabular-nums; }
  .lob-kpi-unit { font-size: .85rem; font-weight: 700; color: var(--pc-outline); margin-left: 1px; }
  .lob-kpi-val.lob-good { color: var(--pc-green); }
  .lob-bar { height: 4px; border-radius: 3px; background: rgba(255,255,255,0.07); overflow: hidden; }
  .lob-bar i { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, #FA813E, #b45cf0); }
  .lob-bar.emerald i { background: var(--pc-green); }
  .lob-spark { display: flex; align-items: flex-end; gap: 3px; height: 20px; }
  .lob-spark i { flex: 1; background: rgba(212,187,255,0.42); border-radius: 2px 2px 0 0; }
  .lob-feed { margin-top: 1.05rem; padding-top: .95rem; border-top: 1px solid var(--pc-line); display: grid; gap: .5rem; }
  .lob-feed-row { display: flex; align-items: center; gap: .6rem; font-family: var(--pc-mono); font-size: .72rem; }
  .lob-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
  .lob-dot.ok { background: var(--pc-green); box-shadow: 0 0 8px var(--pc-green); }
  .lob-dot.v { background: var(--pc-violet); box-shadow: 0 0 8px var(--pc-violet); }
  .lob-dot.o { background: var(--pc-cta); box-shadow: 0 0 8px var(--pc-cta); }
  .lob-feed-main { flex: 1; min-width: 0; color: var(--pc-ink-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .lob-tag { font-family: var(--pc-mono); font-size: .6rem; letter-spacing: .05em; padding: .16rem .45rem; border-radius: 5px; flex-shrink: 0; }
  .lob-tag.ok { color: var(--pc-green); background: rgba(74,222,128,0.1); border: 1px solid rgba(74,222,128,0.22); }
  .lob-tag.v { color: var(--pc-violet); background: rgba(212,187,255,0.1); border: 1px solid rgba(212,187,255,0.22); }
  .lob-tag.o { color: var(--pc-cta); background: rgba(250,129,62,0.1); border: 1px solid rgba(250,129,62,0.22); }
  .lob-db-foot { display: flex; justify-content: space-between; gap: .6rem; margin-top: .95rem; }
  .lob-db-foot .pc-loop-gov, .lob-db-foot-r { font-family: var(--pc-mono); font-size: .62rem; color: var(--pc-outline); }
  @media (prefers-reduced-motion: no-preference) {
    .lob-bar i { transform-origin: left; animation: lobGrowX 1.1s var(--ease-out) both; }
    @keyframes lobGrowX { from { transform: scaleX(0); } to { transform: scaleX(1); } }
    .lob-spark i { transform-origin: bottom; animation: lobGrowY .9s var(--ease-out) both; }
    .lob-spark i:nth-child(2) { animation-delay: .05s; } .lob-spark i:nth-child(3) { animation-delay: .1s; }
    .lob-spark i:nth-child(4) { animation-delay: .15s; } .lob-spark i:nth-child(5) { animation-delay: .2s; }
    .lob-spark i:nth-child(6) { animation-delay: .25s; } .lob-spark i:nth-child(7) { animation-delay: .3s; }
    @keyframes lobGrowY { from { transform: scaleY(0); } to { transform: scaleY(1); } }
    .lob-feed-row { animation: lobFeedIn .5s var(--ease-out) both; }
    .lob-feed-row:nth-child(2) { animation-delay: .12s; } .lob-feed-row:nth-child(3) { animation-delay: .24s; }
    @keyframes lobFeedIn { from { opacity: 0; transform: translateX(-6px); } to { opacity: 1; transform: none; } }
  }
  @media (max-width: 640px) {
    .lob-kpi-val { font-size: 1.3rem; }
    .lob-feed-main { font-size: .66rem; }
  }

  /* K. Governance & audit console (Controls section, page-local) */
  .lob-audit { padding: 0; overflow: hidden; margin-bottom: 2.6rem; }
  .lob-audit-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.35rem; border-bottom: 1px solid var(--pc-line); background: rgba(255,255,255,0.02); }
  .lob-audit-brand { display: inline-flex; align-items: center; gap: .75rem; font-family: var(--pc-mono); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-ink-dim); }
  .lob-audit-logo { height: 19px; width: auto; display: block; }
  .lob-audit-status { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--pc-mono); font-size: .64rem; letter-spacing: .05em; text-transform: uppercase; color: rgb(var(--sec)); border: 1px solid color-mix(in srgb, rgb(var(--sec)) 30%, transparent); background: color-mix(in srgb, rgb(var(--sec)) 10%, transparent); border-radius: 6px; padding: .28rem .6rem; white-space: nowrap; }
  .lob-audit-status i { width: 6px; height: 6px; border-radius: 50%; background: rgb(var(--sec)); box-shadow: 0 0 8px rgb(var(--sec)); animation: pcPulse 1.8s infinite; }
  .lob-audit-body { display: grid; grid-template-columns: .82fr 1.18fr; }
  .lob-audit-controls { padding: 1.25rem 1.35rem; display: grid; gap: .7rem; align-content: start; border-right: 1px solid var(--pc-line); }
  .lob-ac { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .84rem; color: var(--pc-ink-dim); }
  .lob-ac-v { font-family: var(--pc-mono); font-size: .64rem; letter-spacing: .04em; text-transform: uppercase; display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; }
  .lob-ac-v.ok { color: rgb(var(--sec)); }
  .lob-ac-v.ok::before { content: '\2713'; font-size: .82rem; line-height: 1; }
  .lob-audit-log { padding: 1.25rem 1.35rem; display: grid; gap: .5rem; align-content: start; }
  .lob-audit-log-head { display: flex; align-items: center; justify-content: space-between; font-family: var(--pc-mono); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-outline); margin-bottom: .3rem; }
  .lob-log-row { display: grid; grid-template-columns: auto 1fr auto auto; gap: .7rem; align-items: center; font-family: var(--pc-mono); font-size: .71rem; }
  .lob-log-t { color: var(--pc-outline); }
  .lob-log-a { color: var(--pc-ink-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .lob-log-id { color: var(--pc-violet); }
  @media (prefers-reduced-motion: no-preference) {
    .lob-log-row { animation: lobFeedIn .5s var(--ease-out) both; }
    .lob-log-row:nth-child(3){animation-delay:.08s} .lob-log-row:nth-child(4){animation-delay:.16s} .lob-log-row:nth-child(5){animation-delay:.24s}
  }
  @media (max-width: 720px) {
    .lob-audit-body { grid-template-columns: 1fr; }
    .lob-audit-controls { border-right: none; border-bottom: 1px solid var(--pc-line); }
  }
  @media (max-width: 640px) { .lob-log-id { display: none; } }
