/* ============================================================
   SOLUTIONS PAGES — Shared Component CSS (Plan A — reference drop-in)
   Scoping strategy:
     • :root, @keyframes, .reveal, .gradient-text  → GLOBAL (safe utilities)
     • body / h1-h6 / p / section                  → scoped under body.sol-page
     • .nav*, .mobile-menu*, .site-footer, footer*  → OMITTED (Astra handles nav/footer)
     • Component CSS (.ind-page-*, .use-cases-*, …) → unscoped (file only loads on sol pages)
   WP extras added at bottom: admin-bar offset, Astra padding reset,
   .visible utility, div-font overrides for .uc-title / .wf-step-title.
   ============================================================ */

/* ════════════════════════════════════════════════════════
   DESIGN TOKENS
════════════════════════════════════════════════════════ */
:root {
  --bg-base:        #F8FAFD;
  --bg-surface:     #FFFFFF;
  --bg-raised:      #F0F5FF;
  --bg-overlay:     #E8F0FE;
  --border:         rgba(15,30,80,0.07);
  --border-strong:  rgba(15,30,80,0.13);
  --blue:           #0284C7;
  --blue-rich:      #0369A1;
  --blue-dim:       rgba(2,132,199,0.08);
  --blue-glow:      rgba(2,132,199,0.22);
  --indigo:         #4F46E5;
  --indigo-rich:    #4338CA;
  --indigo-dim:     rgba(79,70,229,0.08);
  --indigo-glow:    rgba(79,70,229,0.18);
  --green:          #059669;
  --green-dim:      rgba(5,150,105,0.08);
  --amber:          #D97706;
  --red:            #DC2626;
  --text-primary:   #0F1E3C;
  --text-secondary: #445068;
  --text-muted:     #8A97B0;
  --gradient-brand: linear-gradient(135deg, #0284C7 0%, #4F46E5 100%);
  --gradient-brand-rev: linear-gradient(135deg, #4F46E5 0%, #0284C7 100%);

  --font-display: 'Sora', sans-serif;
  --font-body:    'DM Sans', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  --radius-sm:  6px;
  --radius-md:  10px;
  --radius-lg:  16px;
  --radius-xl:  24px;

  --section-pad: 100px;
  --page-gutter: 5%;

  --shadow-sm:   0 1px 3px rgba(15,30,80,0.06), 0 1px 2px rgba(15,30,80,0.04);
  --shadow-md:   0 4px 16px rgba(15,30,80,0.08), 0 1px 4px rgba(15,30,80,0.05);
  --shadow-lg:   0 12px 40px rgba(15,30,80,0.10), 0 2px 8px rgba(15,30,80,0.06);
  --shadow-card: 0 2px 8px rgba(15,30,80,0.06), 0 0 0 1px rgba(15,30,80,0.05);

  --btn-font-size:   18px;
  --btn-font-weight: 600;
  --btn-padding:     11px 22px;
  --btn-radius:      var(--radius-sm);

  /* Industry accent fallback — overridden per-page via inline style */
  --ind-color:       #0284C7;
  --ind-color-rich:  #0369A1;
  --ind-r: 2; --ind-g: 132; --ind-b: 199;
}

/* ════════════════════════════════════════════════════════
   ANIMATIONS  (global — safe, no layout impact)
════════════════════════════════════════════════════════ */
@keyframes float      { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes float-slow { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes pulse-dot  { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.55;transform:scale(.75)} }
@keyframes dash-flow  { to { stroke-dashoffset: -32; } }
@keyframes gradient-x {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes orbit-rotate { to { transform: rotate(360deg); } }
@keyframes slide-up { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes count-up { from { opacity:0; } to { opacity:1; } }
@keyframes shimmer { 0%{opacity:.4} 50%{opacity:1} 100%{opacity:.4} }
@keyframes ping { 75%,100%{transform:scale(1.8);opacity:0} }
@keyframes flow-right {
  0%   { stroke-dashoffset: 60; opacity: 0.2; }
  50%  { opacity: 1; }
  100% { stroke-dashoffset: -60; opacity: 0.2; }
}
@keyframes bar-grow { from{width:0} to{width:var(--bar-w)} }
@keyframes fade-in-up { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }

/* ════════════════════════════════════════════════════════
   GLOBAL UTILITIES (safe — additive, no element overrides)
════════════════════════════════════════════════════════ */
html { scroll-behavior: smooth; }

/* Reveal animation */
.reveal {
  opacity: 0; transform: translateY(22px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-d1 { transition-delay: 0.12s; }
.reveal-d2 { transition-delay: 0.24s; }
.reveal-d3 { transition-delay: 0.36s; }
.reveal-d4 { transition-delay: 0.48s; }

/* WP visibility helper used by intersection observer */
.visible { visibility: visible !important; }

.gradient-text {
  background: var(--gradient-brand);
  background-size: 200% 200%;
  animation: gradient-x 4s ease infinite;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.orbit-pulse { animation: shimmer 2.5s ease infinite; }

/* ════════════════════════════════════════════════════════
   BASE — scoped under body.sol-page to protect Astra nav/footer
════════════════════════════════════════════════════════ */
body.sol-page {
  font-family: var(--font-body);
  background: var(--bg-base);
  color: var(--text-primary);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

body.sol-page h1 { font-family: var(--font-display); font-size: 66px; font-weight: 800; line-height: 1.08; letter-spacing: -0.04em; }
body.sol-page h2 { font-family: var(--font-display); font-size: 44px; font-weight: 700; line-height: 1.15; letter-spacing: -0.03em; }
body.sol-page h3 { font-family: var(--font-display); font-size: 34px; font-weight: 600; line-height: 1.2;  letter-spacing: -0.02em; }
body.sol-page h4 { font-family: var(--font-display); font-size: 28px; font-weight: 600; line-height: 1.25; letter-spacing: -0.02em; }
body.sol-page h5 { font-family: var(--font-display); font-size: 24px; font-weight: 600; line-height: 1.3;  letter-spacing: -0.015em; }
body.sol-page h6 { font-family: var(--font-display); font-size: 18px; font-weight: 600; line-height: 1.4;  letter-spacing: -0.01em; }
body.sol-page p  { font-size: 18px; font-weight: 400; line-height: 1.7; color: var(--text-secondary); }
body.sol-page p.small { font-size: 16px; }
body.sol-page img { max-width: 100%; height: auto; display: block; }

/* Layout */
body.sol-page .container { width: 100%; margin: 0 auto; padding: 0 var(--page-gutter); }
body.sol-page section     { padding: var(--section-pad) 0; }

/* ════════════════════════════════════════════════════════
   BUTTONS
════════════════════════════════════════════════════════ */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: var(--btn-padding);
  font-family: var(--font-body); font-size: var(--btn-font-size); font-weight: var(--btn-font-weight);
  border-radius: var(--btn-radius); border: 1px solid transparent;
  cursor: pointer; text-decoration: none; white-space: nowrap;
  transition: all 0.2s ease; line-height: 1;
}
.btn-primary {
  background: var(--gradient-brand); color: #fff; border-color: transparent;
  box-shadow: 0 2px 12px var(--blue-glow);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 6px 24px var(--blue-glow); color: #fff; }
.btn-secondary {
  background: var(--bg-surface); color: var(--text-primary);
  border-color: var(--border-strong); box-shadow: var(--shadow-sm);
}
.btn-secondary:hover { background: var(--bg-raised); box-shadow: var(--shadow-md); }

/* Use-Case Card Buttons */
.uc-actions { margin-top: 18px; display: flex; gap: 10px; flex-wrap: wrap; }
.btn-try-demo {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 10px 20px;
  font-family: var(--font-body); font-size: 16px; font-weight: 600;
  background: var(--gradient-brand); color: #fff; border: none;
  border-radius: var(--radius-sm); cursor: pointer; text-decoration: none;
  box-shadow: 0 2px 10px var(--blue-glow); transition: all 0.2s ease;
  line-height: 1;
}
.btn-try-demo:hover { transform: translateY(-1px); box-shadow: 0 5px 20px var(--blue-glow); color: #fff; }
.btn-try-demo svg { flex-shrink: 0; }

.btn-join-waitlist {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 10px 20px;
  font-family: var(--font-body); font-size: 16px; font-weight: 600;
  background: var(--bg-surface); color: var(--text-primary);
  border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
  cursor: pointer; text-decoration: none; box-shadow: var(--shadow-sm);
  transition: all 0.2s ease; line-height: 1;
}
.btn-join-waitlist:hover { background: var(--bg-raised); border-color: rgba(2,132,199,0.3); box-shadow: var(--shadow-md); }

/* CTA buttons (inside dark gradient blocks) */
.btn-cta-white {
  background: #fff; color: var(--ind-color);
  font-size: var(--btn-font-size); font-weight: var(--btn-font-weight);
  padding: var(--btn-padding); border-radius: var(--btn-radius);
  text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
  border: none; cursor: pointer; transition: all 0.2s ease;
}
.btn-cta-white:hover { transform: translateY(-1px); box-shadow: 0 6px 24px rgba(0,0,0,0.15); }

.btn-cta-ghost {
  background: rgba(255,255,255,0.12); color: #fff;
  border: 1px solid rgba(255,255,255,0.25);
  font-size: var(--btn-font-size); font-weight: var(--btn-font-weight);
  padding: var(--btn-padding); border-radius: var(--btn-radius);
  text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
  cursor: pointer; backdrop-filter: blur(8px); transition: all 0.2s ease;
}
.btn-cta-ghost:hover { background: rgba(255,255,255,0.2); }

.btn-ind-primary {
  background: linear-gradient(135deg, var(--ind-color), var(--ind-color-rich));
  color: #fff;
  font-size: var(--btn-font-size); font-weight: var(--btn-font-weight);
  padding: var(--btn-padding); border-radius: var(--btn-radius);
  text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
  border: none; cursor: pointer;
  box-shadow: 0 2px 12px rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.30);
  transition: all 0.2s ease;
}
.btn-ind-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.35);
}

/* ════════════════════════════════════════════════════════
   SECTION LABEL
════════════════════════════════════════════════════════ */
.section-label {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono); font-size: 18px; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--blue);
  margin-bottom: 20px;
}
.section-label::before { content: ''; display: block; width: 20px; height: 1px; background: var(--blue); }
.section-label.center { justify-content: center; }
.section-label.center::before { display: none; }

/* ════════════════════════════════════════════════════════
   HERO — SOLUTIONS HUB
════════════════════════════════════════════════════════ */
#solutions-hero {
  padding: 0; min-height: 100vh; position: relative; overflow: hidden;
  background: var(--bg-surface);
  display: flex; align-items: center;
}
.hero-bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 65% 50%, rgba(2,132,199,0.07) 0%, transparent 65%),
    radial-gradient(ellipse 50% 60% at 85% 25%, rgba(79,70,229,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 45% 40% at 15% 75%, rgba(2,132,199,0.05) 0%, transparent 60%);
}
.hero-grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(15,30,80,0.055) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse 85% 85% at 55% 50%, black 20%, transparent 80%);
}
.solutions-hero-inner {
  width: 100%; padding: 120px 5% 80px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--bg-raised); border: 1px solid var(--border-strong);
  border-radius: 100px; padding: 5px 14px 5px 8px;
  font-size: 14px; font-weight: 500; color: var(--text-secondary); margin-bottom: 28px;
}
.hero-eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--green);
  box-shadow: 0 0 6px rgba(5,150,105,0.5); animation: pulse-dot 2s ease infinite;
}
.hero-headline { margin-bottom: 22px; }
.hero-sub { color: var(--text-secondary); max-width: 480px; margin-bottom: 40px; font-size: 18px; }
.hero-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

/* Industry Network SVG */
.industry-network { width: 100%; max-width: 480px; margin-left: auto; }
.ind-svg { width: 100%; height: auto; }
.ind-node { transition: transform 0.3s ease; }
.ind-node:hover { transform: scale(1.05); }
.flow-line { stroke-dasharray: 8 4; animation: dash-flow 2.5s linear infinite; }

/* ════════════════════════════════════════════════════════
   STATS BAR
════════════════════════════════════════════════════════ */
#stats-bar {
  padding: 0;
  background: var(--bg-surface);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.stats-inner {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--page-gutter);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.stat-item {
  padding: 32px 40px;
  border-right: 1px solid var(--border);
}
.stat-item:last-child { border-right: none; }
.stat-number {
  font-family: var(--font-display); font-size: 34px; font-weight: 800;
  line-height: 1; margin-bottom: 6px;
  background: var(--gradient-brand);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.stat-label { font-size: 14px; color: var(--text-muted); font-weight: 400; line-height: 1.4; }

/* ════════════════════════════════════════════════════════
   SECTION HEADERS
════════════════════════════════════════════════════════ */
.section-header-center { text-align: center; max-width: 640px; margin: 0 auto 60px; }
.section-h2 { margin-bottom: 18px; }
.section-sub { line-height: 1.6; }

/* ════════════════════════════════════════════════════════
   FEATURED INDUSTRY CARDS — Solutions Hub
════════════════════════════════════════════════════════ */
#featured-industries { background: var(--bg-base); }
.industry-cards-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;
}
.industry-card {
  position: relative; background: var(--bg-surface); border: 1px solid var(--border);
  border-radius: var(--radius-xl); padding: 36px 36px 28px;
  text-decoration: none; color: inherit; overflow: hidden;
  box-shadow: var(--shadow-card); transition: box-shadow 0.3s, transform 0.3s, border-color 0.3s;
  display: block;
}
.industry-card:hover { box-shadow: var(--shadow-lg); border-color: rgba(2,132,199,0.2); }
.ind-card-accent {
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  opacity: 0; transition: opacity 0.3s;
}
.industry-card:hover .ind-card-accent { opacity: 1; }
.ind-accent--blue   { background: linear-gradient(90deg, #0284C7, #4F46E5); }
.ind-accent--green  { background: linear-gradient(90deg, #059669, #0284C7); }
.ind-accent--amber  { background: linear-gradient(90deg, #D97706, #DC2626); }
.ind-accent--indigo { background: linear-gradient(90deg, #4F46E5, #7C3AED); }

.ind-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.ind-icon-wrap {
  width: 52px; height: 52px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
}
.ind-icon--blue   { background: rgba(2,132,199,0.1);   color: var(--blue);   border: 1px solid rgba(2,132,199,0.2); }
.ind-icon--green  { background: rgba(5,150,105,0.1);   color: var(--green);  border: 1px solid rgba(5,150,105,0.2); }
.ind-icon--amber  { background: rgba(217,119,6,0.1);   color: var(--amber);  border: 1px solid rgba(217,119,6,0.2); }
.ind-icon--indigo { background: rgba(79,70,229,0.1);   color: var(--indigo); border: 1px solid rgba(79,70,229,0.2); }

.ind-agent-badge {
  font-family: var(--font-mono); font-size: 12px; font-weight: 600;
  padding: 4px 12px; border-radius: 100px;
}
.ind-badge--blue   { background: rgba(2,132,199,0.08);   color: var(--blue);   border: 1px solid rgba(2,132,199,0.2); }
.ind-badge--green  { background: rgba(5,150,105,0.08);   color: var(--green);  border: 1px solid rgba(5,150,105,0.2); }
.ind-badge--amber  { background: rgba(217,119,6,0.08);   color: var(--amber);  border: 1px solid rgba(217,119,6,0.2); }
.ind-badge--indigo { background: rgba(79,70,229,0.08);   color: var(--indigo); border: 1px solid rgba(79,70,229,0.2); }

.ind-card-title { font-family: var(--font-display); font-size: 22px; font-weight: 700; margin-bottom: 12px; color: var(--text-primary); letter-spacing: -0.02em; }
.ind-card-desc { font-size: 16px; color: var(--text-secondary); line-height: 1.6; margin-bottom: 20px; }

.ind-use-cases { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; }
.ind-tag {
  font-size: 12px; font-weight: 500; padding: 4px 10px; border-radius: 100px;
  background: var(--bg-raised); color: var(--text-secondary);
  border: 1px solid var(--border-strong);
}

.ind-card-metric {
  padding: 16px 20px; border-radius: var(--radius-md);
  background: var(--bg-raised); border: 1px solid var(--border);
  margin-bottom: 24px;
}
.ind-metric-val {
  font-family: var(--font-display); font-size: 32px; font-weight: 800; line-height: 1;
  background: var(--gradient-brand); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  margin-bottom: 4px;
}
.ind-metric-label { font-size: 13px; color: var(--text-muted); }

.ind-card-cta {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-body); font-size: 15px; font-weight: 600;
  color: var(--blue); transition: gap 0.2s;
}
.industry-card:hover .ind-card-cta { gap: 12px; }

/* ════════════════════════════════════════════════════════
   MORE INDUSTRIES GRID
════════════════════════════════════════════════════════ */
#more-industries { background: var(--bg-surface); }
.more-ind-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.more-ind-card {
  display: flex; align-items: center; gap: 14px; padding: 18px 20px;
  background: var(--bg-base); border: 1px solid var(--border);
  border-radius: var(--radius-lg); text-decoration: none; color: inherit;
  transition: box-shadow 0.2s, border-color 0.2s, background 0.2s;
}
.more-ind-card:hover { background: var(--bg-surface); border-color: rgba(2,132,199,0.2); box-shadow: var(--shadow-md); }
.more-ind-icon { font-size: 24px; flex-shrink: 0; }
.more-ind-name { font-family: var(--font-display); font-size: 14px; font-weight: 600; color: var(--text-primary); line-height: 1.3; }
.more-ind-count { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.more-ind-arrow { margin-left: auto; color: var(--text-muted); flex-shrink: 0; transition: transform 0.2s, color 0.2s; }
.more-ind-card:hover .more-ind-arrow { color: var(--blue); transform: translateX(4px); }

/* ════════════════════════════════════════════════════════
   WHY INDUSTRY SPECIFIC
════════════════════════════════════════════════════════ */
#why-industry { background: var(--bg-base); }
.why-industry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.why-pillars { display: flex; flex-direction: column; gap: 20px; }
.why-pillar { display: flex; gap: 14px; align-items: flex-start; }
.why-pillar-icon {
  width: 40px; height: 40px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.why-pillar-title { font-family: var(--font-display); font-size: 16px; font-weight: 700; margin-bottom: 4px; color: var(--text-primary); }
.why-pillar-desc { font-size: 15px; color: var(--text-secondary); line-height: 1.55; }

.compliance-badge-stack {
  background: var(--bg-surface); border: 1px solid var(--border);
  border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-lg);
}
.comp-header { padding: 20px 24px; border-bottom: 1px solid var(--border); background: var(--bg-raised); }
.comp-frameworks { padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.comp-framework {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px; border-radius: var(--radius-md); border: 1px solid var(--border);
  transition: box-shadow 0.2s;
}
.comp-framework:hover { box-shadow: var(--shadow-sm); }
.comp-fw-name { font-family: var(--font-display); font-size: 14px; font-weight: 700; color: var(--text-primary); }
.comp-fw-industry { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.comp-fw-badge {
  font-family: var(--font-mono); font-size: 11px; font-weight: 600;
  padding: 3px 10px; border-radius: 100px;
  color: var(--blue); background: rgba(2,132,199,0.1);
}

/* ════════════════════════════════════════════════════════
   CTA BLOCK
════════════════════════════════════════════════════════ */
#solutions-cta, #industry-cta { background: var(--bg-base); }
.cta-block {
  position: relative; text-align: center; padding: 80px 60px;
  border-radius: var(--radius-xl); overflow: hidden;
  background: var(--gradient-brand);
}
.cta-glow {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 60% 70% at 50% 50%, rgba(255,255,255,0.12), transparent);
}

/* ════════════════════════════════════════════════════════
   INDUSTRY PAGE HERO
════════════════════════════════════════════════════════ */
.ind-page-hero {
  padding: 156px 0 80px; position: relative; overflow: hidden; background: var(--bg-surface);
}
.ind-page-hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.ind-page-breadcrumb {
  display: flex; align-items: center; gap: 8px; margin-bottom: 24px;
  font-size: 14px; color: var(--text-muted);
}
.ind-page-breadcrumb a { color: var(--text-muted); text-decoration: none; }
.ind-page-breadcrumb a:hover { color: var(--blue); }
.ind-page-breadcrumb-sep { color: var(--border-strong); }
.ind-page-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 5px 14px 5px 8px; border-radius: 100px; margin-bottom: 24px;
  font-size: 14px; font-weight: 500; border: 1px solid;
}
.ind-page-h1 { margin-bottom: 20px; }
.ind-page-sub { font-size: 18px; line-height: 1.65; max-width: 520px; margin-bottom: 36px; color: var(--text-secondary); }
.ind-hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.ind-hero-badge {
  display: flex; align-items: center; gap: 6px; padding: 6px 14px;
  border-radius: 100px; border: 1px solid var(--border-strong);
  background: var(--bg-surface); font-size: 12px; font-weight: 500;
  color: var(--text-secondary); box-shadow: var(--shadow-sm);
}
.ind-hero-badge-dot { width: 6px; height: 6px; border-radius: 50%; }

/* Dashboard Visual */
.ind-dashboard {
  background: var(--bg-surface); border: 1px solid var(--border-strong);
  border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-lg);
  width: 100%; max-width: 500px; margin-left: auto;
  position: relative;
}
.ind-dash-header {
  padding: 16px 22px; border-bottom: 1px solid var(--border);
  background: var(--bg-raised); display: flex; align-items: center; justify-content: space-between;
}
.ind-dash-title {
  font-family: var(--font-display); font-size: 14px; font-weight: 700; color: var(--text-primary);
  display: flex; align-items: center; gap: 8px;
}
.ind-dash-status {
  font-family: var(--font-mono); font-size: 12px; color: var(--green);
  display: flex; align-items: center; gap: 5px;
}
.ind-dash-status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); animation: pulse-dot 2s ease infinite; }
.ind-dash-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); }
.ind-dash-metric { padding: 20px 22px; background: var(--bg-surface); }
.ind-dash-metric-val {
  font-family: var(--font-display); font-size: 26px; font-weight: 800; line-height: 1;
  background: var(--gradient-brand); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  margin-bottom: 4px;
}
.ind-dash-metric-label { font-size: 12px; color: var(--text-muted); line-height: 1.3; }
.ind-dash-agents { padding: 16px 22px; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 8px; }
.ind-dash-agent-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: var(--radius-md);
  background: var(--bg-raised); border: 1px solid var(--border);
}
.ind-dash-agent-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.ind-dash-agent-name { font-family: var(--font-display); font-size: 12px; font-weight: 700; flex: 1; }
.ind-dash-agent-status { font-family: var(--font-mono); font-size: 10px; padding: 2px 8px; border-radius: 100px; }
.status-running { background: rgba(2,132,199,0.1); color: var(--blue); }
.status-done    { background: rgba(5,150,105,0.1); color: var(--green); }
.status-queued  { background: var(--bg-raised); color: var(--text-muted); border: 1px solid var(--border); }
.ind-dash-agent-bar { height: 3px; border-radius: 2px; background: var(--bg-overlay); overflow: hidden; margin-top: 6px; }
.ind-dash-agent-bar-fill { height: 100%; border-radius: 2px; }

/* Float badges — % positioning to match reference HTML */
.dash-float-badge {
  position: absolute; padding: 8px 14px; border-radius: 100px;
  background: var(--bg-surface); border: 1px solid var(--border-strong);
  box-shadow: var(--shadow-md); font-family: var(--font-mono); font-size: 12px;
  display: flex; align-items: center; gap: 6px; color: var(--text-secondary);
  animation: float 4s ease-in-out infinite; white-space: nowrap;
  z-index: 2;
}
/* Position overrides — reference HTML uses percentage-based placement */
.dash-float-badge:first-of-type { top: -5%; right: -5%; }
.dash-float-badge:last-of-type  { bottom: -5%; left: -5%; }

/* ════════════════════════════════════════════════════════
   USE CASES SECTION
════════════════════════════════════════════════════════ */
.use-cases-section { background: var(--bg-base); }
.use-cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.use-case-card {
  background: var(--bg-surface); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 32px 28px;
  box-shadow: var(--shadow-card); transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s;
  position: relative; overflow: hidden;
}
.use-case-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); border-color: rgba(2,132,199,0.2); }
.use-case-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--gradient-brand); opacity: 0; transition: opacity 0.25s;
}
.use-case-card:hover::before { opacity: 1; }
.uc-icon-wrap {
  width: 48px; height: 48px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center; margin-bottom: 20px;
}
/* uc-title uses <div> in WP template — explicit font rules required */
.uc-title {
  font-family: var(--font-display); font-size: 19px; font-weight: 700;
  line-height: 1.25; letter-spacing: -0.02em;
  margin-bottom: 10px; color: var(--text-primary);
}
.uc-desc { font-size: 15px; line-height: 1.6; margin-bottom: 16px; color: var(--text-secondary); }
.uc-agents {
  font-family: var(--font-mono); font-size: 12px; color: var(--text-muted);
  display: flex; align-items: center; gap: 6px;
}
.uc-agents-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--blue); }

/* ════════════════════════════════════════════════════════
   WORKFLOW SECTION
════════════════════════════════════════════════════════ */
.workflow-section { background: var(--bg-surface); }
.workflow-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.workflow-steps { display: flex; flex-direction: column; gap: 0; }
.workflow-step {
  display: flex; gap: 20px; align-items: flex-start; padding: 20px 0;
  border-bottom: 1px solid var(--border); position: relative;
}
.workflow-step:last-child { border-bottom: none; }
.wf-step-num {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 16px; font-weight: 700;
  background: var(--bg-raised); border: 1px solid var(--border-strong);
  color: var(--blue); transition: all 0.3s;
}
.workflow-step:hover .wf-step-num { background: var(--gradient-brand); color: #fff !important; border-color: transparent; }
.wf-step-content { flex: 1; }
/* wf-step-title uses <div> in WP template — explicit font rules required */
.wf-step-title {
  font-family: var(--font-display); font-size: 16px; font-weight: 700;
  line-height: 1.3; letter-spacing: -0.01em;
  margin-bottom: 4px; color: var(--text-primary);
}
.wf-step-desc { font-size: 16px; color: var(--text-secondary); line-height: 1.55; }
.wf-step-tag { font-family: var(--font-mono); font-size: 12px; margin-top: 6px; color: var(--text-muted); }

/* Workflow Visual Panel */
.workflow-visual {
  background: var(--bg-surface); border: 1px solid var(--border-strong);
  border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-lg);
}
.wf-visual-header {
  padding: 16px 22px; border-bottom: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(2,132,199,0.04), rgba(79,70,229,0.04));
  display: flex; align-items: center; gap: 10px;
}
.wf-vis-title { font-family: var(--font-display); font-size: 16px; font-weight: 700; flex: 1; }
.wf-auto-badge {
  font-family: var(--font-mono); font-size: 12px; padding: 3px 10px;
  border-radius: 100px; background: rgba(5,150,105,0.1); color: var(--green);
  border: 1px solid rgba(5,150,105,0.2);
}
.wf-pipeline { padding: 16px 20px; display: flex; flex-direction: column; gap: 8px; }
.wf-pipe-step {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px;
  border-radius: var(--radius-md); border: 1px solid var(--border); transition: all 0.3s;
}
.wf-pipe-step.active  { border-color: rgba(2,132,199,0.3); background: rgba(2,132,199,0.04); }
.wf-pipe-step.done    { border-color: rgba(5,150,105,0.3); background: rgba(5,150,105,0.04); }
.wf-pipe-icon { width: 28px; height: 28px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0; }
.wf-pipe-name { font-family: var(--font-display); font-size: 14px; font-weight: 700; flex: 1; }
.wf-pipe-status { font-family: var(--font-mono); font-size: 12px; padding: 2px 8px; border-radius: 100px; }
.wf-status-done    { background: rgba(5,150,105,0.1); color: var(--green); }
.wf-status-running { background: rgba(2,132,199,0.1); color: var(--blue); }
.wf-status-queued  { background: var(--bg-raised); color: var(--text-muted); }
.wf-outcome-bar {
  margin: 0 20px 16px; padding: 14px 16px; border-radius: var(--radius-md);
  background: rgba(5,150,105,0.06); border: 1px solid rgba(5,150,105,0.2);
}
.wf-outcome-label { font-family: var(--font-mono); font-size: 12px; color: var(--green); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.08em; }
.wf-outcome-val { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: var(--text-primary); }

/* ════════════════════════════════════════════════════════
   COMPLIANCE SECTION
════════════════════════════════════════════════════════ */
.compliance-section { background: var(--bg-base); }
.compliance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.compliance-frameworks-list { display: flex; flex-direction: column; gap: 12px; }
.comp-item {
  display: flex; gap: 14px; align-items: flex-start; padding: 18px 22px;
  background: var(--bg-surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); transition: box-shadow 0.2s, border-color 0.2s;
}
.comp-item:hover { box-shadow: var(--shadow-md); border-color: rgba(2,132,199,0.2); }
.comp-item-icon {
  width: 36px; height: 36px; border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
/* comp-item-title uses <div> in WP template */
.comp-item-title {
  font-family: var(--font-display); font-size: 16px; font-weight: 700;
  line-height: 1.3; margin-bottom: 3px; color: var(--text-primary);
}
.comp-item-desc { font-size: 15px; color: var(--text-secondary); line-height: 1.5; }

/* ════════════════════════════════════════════════════════
   LEAD CAPTURE
════════════════════════════════════════════════════════ */
.lead-section { padding: 96px 0; background: #fff; }
.lead-card {
  max-width: 1400px; margin: 0 auto;
  background: var(--bg-surface); border: 1px solid var(--border);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); overflow: hidden;
}
.lead-card-inner {
  display: grid; grid-template-columns: 1fr 1fr; align-items: stretch;
}
.lead-left {
  padding: 60px 56px; background: #0f1e3c; color: #fff;
  display: flex; flex-direction: column; justify-content: start;
}
.lead-left h2 { color: #fff; font-size: 28px; margin-bottom: 12px; }
.lead-left p  { color: rgba(255,255,255,0.55) !important; font-size: 16px; margin-bottom: 28px; line-height: 1.7; }
.lead-checklist { list-style: none; padding: 0; margin: 0; }
.lead-checklist li {
  padding: 8px 0; font-size: 14px; color: rgba(255,255,255,0.7);
  display: flex; align-items: flex-start; gap: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.07); line-height: 1.5;
}
.lead-checklist li:last-child { border-bottom: none; }
.lead-checklist li::before { content: '✓'; color: var(--ind-color); font-weight: 700; flex-shrink: 0; }
.lead-right {
  padding: 0; background: #fff;
  display: flex; flex-direction: column; overflow: hidden;
}
.lead-right iframe {
  display: block; width: 100%; border: none; flex: 1 0 auto;
}
.lead-right h3 { font-size: 28px; margin-bottom: 6px; }
.lead-right .form-desc { font-size: 16px; color: var(--text-muted); margin-bottom: 24px; }
.lead-field { margin-bottom: 14px; }
.lead-field label {
  display: block; font-size: 14px; font-weight: 600; color: var(--text-muted);
  margin-bottom: 5px; font-family: var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase;
}
.lead-field input, .lead-field select {
  width: 100%; padding: 11px 14px; border-radius: var(--radius-sm);
  border: 1px solid var(--border-strong); background: var(--bg-base);
  font-size: 16px; font-family: var(--font-body); color: var(--text-primary);
  outline: none; transition: border-color 0.2s;
}
.lead-field input:focus, .lead-field select:focus { border-color: var(--ind-color); }
.lead-field input::placeholder { color: var(--text-muted); }
.lead-submit {
  width: 100%; padding: 14px; border-radius: var(--radius-sm);
  background: var(--gradient-brand); color: #fff;
  font-family: var(--font-body); font-size: 18px; font-weight: 600;
  border: none; cursor: pointer; box-shadow: 0 4px 16px rgba(2,132,199,0.3);
  transition: all 0.2s; margin-top: 8px;
}
.lead-submit:hover { transform: translateY(-1px); box-shadow: 0 6px 24px rgba(2,132,199,0.4); }
.lead-trust-note { margin-top: 12px; font-size: 12px; color: var(--text-muted); text-align: center; }

/* ════════════════════════════════════════════════════════
   CASE STUDY SECTION
════════════════════════════════════════════════════════ */
.case-study-section { background: #fff; }
.case-study-card-featured {
  background: var(--bg-base); border: 1px solid var(--border);
  border-radius: var(--radius-xl); padding: 48px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
  box-shadow: var(--shadow-card);
}
.cs-label { font-family: var(--font-mono); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted); margin-bottom: 16px; }
/* cs-headline uses <div> in WP template */
.cs-headline {
  font-family: var(--font-display); font-size: 34px; font-weight: 700;
  line-height: 1.2; letter-spacing: -0.02em;
  margin-bottom: 16px; color: var(--text-primary);
}
.cs-desc { font-size: 17px; margin-bottom: 28px; line-height: 1.6; color: var(--text-secondary); }
.cs-metrics-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.cs-metric {
  padding: 18px 20px; border-radius: var(--radius-md);
  background: var(--bg-surface); border: 1px solid var(--border);
}
.cs-metric-val {
  font-family: var(--font-display); font-size: 28px; font-weight: 800; line-height: 1;
  background: var(--gradient-brand); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  margin-bottom: 4px;
}
.cs-metric-label { font-size: 14px; color: var(--text-muted); line-height: 1.3; }

/* ════════════════════════════════════════════════════════
   INDUSTRY PAGE CTA
════════════════════════════════════════════════════════ */
#industry-cta { background: var(--bg-base); }

/* ════════════════════════════════════════════════════════
   SOLUTIONS HUB — Tab Grid Page
════════════════════════════════════════════════════════ */
.hub-hero {
  position: relative; padding: 146px 0 80px;
  background: var(--bg-surface); overflow: hidden; text-align: center;
}
.hub-hero-bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 60% at 50% 0%, rgba(2,132,199,0.07) 0%, transparent 65%),
    radial-gradient(ellipse 50% 40% at 80% 80%, rgba(79,70,229,0.06) 0%, transparent 55%),
    radial-gradient(ellipse 40% 35% at 10% 70%, rgba(2,132,199,0.04) 0%, transparent 60%);
}
.hub-hero-grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(15,30,80,0.05) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 20%, transparent 80%);
}
.hub-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--bg-raised); border: 1px solid var(--border-strong);
  border-radius: 100px; padding: 5px 16px 5px 10px;
  font-size: 14px; font-weight: 500; color: var(--text-secondary); margin-bottom: 28px;
}
.hub-eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--green);
  box-shadow: 0 0 6px rgba(5,150,105,0.5); animation: pulse-dot 2s ease infinite;
}
.hub-hero h1 {
  font-size: 56px; font-weight: 800; letter-spacing: -0.04em; line-height: 1.08;
  color: var(--text-primary); margin-bottom: 22px;
  max-width: 760px; margin-left: auto; margin-right: auto;
}
.hub-hero p {
  font-size: 18px; color: var(--text-secondary); max-width: 520px;
  margin: 0 auto 42px; line-height: 1.65;
}
.hub-stats-row {
  display: inline-flex; align-items: stretch; gap: 0;
  background: var(--bg-surface); border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm);
}
.hub-stat {
  padding: 14px 32px; border-right: 1px solid var(--border); text-align: center;
}
.hub-stat:last-child { border-right: none; }
.hub-stat-num {
  font-family: var(--font-display); font-size: 26px; font-weight: 800;
  background: var(--gradient-brand);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  line-height: 1; margin-bottom: 3px;
}
.hub-stat-label { font-size: 12px; color: var(--text-muted); white-space: nowrap; }

/* Tab Nav */
.hub-tab-nav {
  background: var(--bg-surface); border-bottom: 1px solid var(--border);
  position: sticky; top: 80px; z-index: 100;
}
.hub-tab-nav-inner {
  display: flex; align-items: center; justify-content: center;
  padding: 0 5%; overflow-x: auto;
}
.hub-tab-btn {
  position: relative; padding: 18px 30px;
  font-family: var(--font-body); font-size: 16px; font-weight: 600;
  color: var(--text-muted); background: none; border: none; cursor: pointer;
  border-bottom: 2.5px solid transparent; transition: all 0.2s ease;
  display: flex; align-items: center; gap: 9px; white-space: nowrap; flex-shrink: 0;
}
.hub-tab-btn:hover { color: var(--text-primary); }
.hub-tab-btn.active { color: var(--blue); border-bottom-color: var(--blue); }
.hub-tab-count {
  font-family: var(--font-mono); font-size: 12px; font-weight: 600;
  padding: 2px 9px; border-radius: 100px;
  background: var(--bg-raised); color: var(--text-muted); transition: all 0.2s;
}
.hub-tab-btn.active .hub-tab-count { background: rgba(2,132,199,0.1); color: var(--blue); }

/* Tab Panels */
.hub-panel { display: none; }
.hub-panel.active { display: block; }

/* Filter Bar */
.hub-filter-bar {
  background: var(--bg-base); border-bottom: 1px solid var(--border);
  padding: 18px 5%; display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.hub-search-wrap { position: relative; flex: 1; min-width: 200px; max-width: 360px; }
.hub-search-icon {
  position: absolute; left: 13px; top: 50%; transform: translateY(-50%);
  color: var(--text-muted); pointer-events: none;
}
.hub-search {
  width: 100%; padding: 10px 14px 10px 38px;
  font-family: var(--font-body); font-size: 15px;
  background: var(--bg-surface); border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm); color: var(--text-primary); outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.hub-search:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(2,132,199,0.1); }
.hub-search::placeholder { color: var(--text-muted); }
.hub-chips { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.hub-chip {
  padding: 7px 15px; border-radius: 100px; font-size: 14px; font-weight: 500;
  border: 1px solid var(--border-strong); background: var(--bg-surface);
  color: var(--text-secondary); cursor: pointer; transition: all 0.2s; white-space: nowrap;
}
.hub-chip:hover { border-color: rgba(2,132,199,0.3); color: var(--blue); background: var(--blue-dim); }
.hub-chip.active { background: var(--blue); color: #fff; border-color: var(--blue); }
.hub-result-count {
  margin-left: auto; font-family: var(--font-mono); font-size: 13px; color: var(--text-muted);
}

/* Cards Grid */
.hub-cards-section { background: var(--bg-base); padding: 44px 5% 80px; }
.hub-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

/* Solution Card */
.sol-card {
  background: var(--bg-surface); border: 1px solid var(--border);
  border-radius: var(--radius-lg); overflow: hidden;
  transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit; position: relative;
}
.sol-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); border-color: rgba(2,132,199,0.2); }
.sol-card-accent { height: 3px; width: 100%; opacity: 0; transition: opacity 0.25s; }
.sol-card:hover .sol-card-accent { opacity: 1; }
.sol-card-body { padding: 24px 22px 18px; flex: 1; }
.sol-icon {
  width: 46px; height: 46px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 21px; margin-bottom: 16px;
}
.sol-title {
  font-family: var(--font-display); font-size: 16px; font-weight: 700;
  color: var(--text-primary); margin-bottom: 9px; line-height: 1.3; letter-spacing: -0.01em;
}
.sol-desc { font-size: 14px; color: var(--text-secondary); line-height: 1.56; margin-bottom: 14px; }
.sol-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.sol-tag {
  font-size: 12px; font-weight: 500; padding: 3px 9px; border-radius: 100px;
  background: var(--bg-raised); color: var(--text-muted); border: 1px solid var(--border);
}
.sol-card-foot {
  padding: 13px 22px 17px; border-top: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
}
.sol-agents { font-family: var(--font-mono); font-size: 12px; font-weight: 600; color: var(--text-muted); }
.sol-cta { font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 4px; transition: gap 0.2s; }
.sol-card:hover .sol-cta { gap: 8px; }
.sol-arrow { transition: transform 0.2s; }
.sol-card:hover .sol-arrow { transform: translateX(2px); }
.sol-badge {
  position: absolute; top: 13px; right: 13px;
  font-family: var(--font-mono); font-size: 11px; font-weight: 600;
  padding: 3px 10px; border-radius: 100px;
  background: rgba(5,150,105,0.1); color: var(--green); border: 1px solid rgba(5,150,105,0.2);
}
.sol-card.hidden { display: none; }

/* Empty state */
.sol-empty { grid-column: 1/-1; text-align: center; padding: 80px 20px; }
.sol-empty-icon { font-size: 44px; margin-bottom: 14px; }
.sol-empty-title { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: var(--text-primary); margin-bottom: 8px; }
.sol-empty-desc { font-size: 16px; color: var(--text-muted); }

/* Color accent variants */
.c-blue   .sol-card-accent { background: linear-gradient(90deg,#0284C7,#4F46E5); }
.c-blue   .sol-icon { background: rgba(2,132,199,0.09); color: var(--blue); border: 1px solid rgba(2,132,199,0.18); }
.c-blue   .sol-cta  { color: var(--blue); }
.c-green  .sol-card-accent { background: linear-gradient(90deg,#059669,#0284C7); }
.c-green  .sol-icon { background: rgba(5,150,105,0.09); color: var(--green); border: 1px solid rgba(5,150,105,0.18); }
.c-green  .sol-cta  { color: var(--green); }
.c-amber  .sol-card-accent { background: linear-gradient(90deg,#D97706,#DC2626); }
.c-amber  .sol-icon { background: rgba(217,119,6,0.09); color: var(--amber); border: 1px solid rgba(217,119,6,0.18); }
.c-amber  .sol-cta  { color: var(--amber); }
.c-indigo .sol-card-accent { background: linear-gradient(90deg,#4F46E5,#7C3AED); }
.c-indigo .sol-icon { background: rgba(79,70,229,0.09); color: var(--indigo); border: 1px solid rgba(79,70,229,0.18); }
.c-indigo .sol-cta  { color: var(--indigo); }
.c-red    .sol-card-accent { background: linear-gradient(90deg,#DC2626,#D97706); }
.c-red    .sol-icon { background: rgba(220,38,38,0.09); color: var(--red); border: 1px solid rgba(220,38,38,0.18); }
.c-red    .sol-cta  { color: var(--red); }
.c-teal   .sol-card-accent { background: linear-gradient(90deg,#0891B2,#059669); }
.c-teal   .sol-icon { background: rgba(8,145,178,0.09); color: #0891B2; border: 1px solid rgba(8,145,178,0.18); }
.c-teal   .sol-cta  { color: #0891B2; }
.c-purple .sol-card-accent { background: linear-gradient(90deg,#7C3AED,#4F46E5); }
.c-purple .sol-icon { background: rgba(124,58,237,0.09); color: #7C3AED; border: 1px solid rgba(124,58,237,0.18); }
.c-purple .sol-cta  { color: #7C3AED; }

/* Hub Bottom CTA */
.hub-bottom-cta { background: var(--bg-surface); border-top: 1px solid var(--border); padding: 70px 5%; text-align: center; }
.hub-bottom-cta h2 { font-size: 36px; font-weight: 700; letter-spacing: -0.02em; color: var(--text-primary); margin-bottom: 14px; }
.hub-bottom-cta p { font-size: 18px; color: var(--text-secondary); max-width: 480px; margin: 0 auto 32px; }
.hub-cta-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ════════════════════════════════════════════════════════
   INDUSTRY ACCENT SYSTEM
════════════════════════════════════════════════════════ */
.ind-eyebrow-accent {
  background: rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.08);
  color: var(--ind-color);
  border-color: rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.25);
}
.uc-icon-wrap.ind-accent {
  background: rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.08);
  color: var(--ind-color);
  border: 1px solid rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.2);
}
.wf-pipe-icon.ind-accent {
  background: rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.1);
  color: var(--ind-color);
}
.comp-item-icon.ind-accent {
  background: rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.08);
}
.section-label.ind-accent { color: var(--ind-color); }
.section-label.ind-accent::before { background: var(--ind-color); }

.ind-hero-grad-text {
  background: linear-gradient(135deg, var(--ind-color) 0%, var(--ind-color-rich) 100%);
  background-size: 200%;
  animation: gradient-x 4s ease infinite;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ind-dash-status.ind-accent      { color: var(--ind-color); }
.ind-dash-status-dot.ind-accent  { background: var(--ind-color); }
.ind-dash-metric-val.ind-accent {
  background: linear-gradient(135deg, var(--ind-color), var(--ind-color-rich));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.cta-block.ind-cta {
  background: linear-gradient(135deg, var(--ind-color) 0%, var(--ind-color-rich) 100%);
}
.wf-outcome-bar.ind-accent {
  border-color: rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.2);
  background: rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.05);
}
.wf-outcome-label.ind-accent { color: var(--ind-color); }
.workflow-step:hover .wf-step-num.ind-accent {
  background: linear-gradient(135deg, var(--ind-color), var(--ind-color-rich));
  color: #fff !important; border-color: transparent;
}
.dash-float-badge.ind-accent { border-color: rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.3); }
.ind-dash-status.colored { color: var(--ind-color); }
.ind-page-hero.ind-tint {
  background: linear-gradient(135deg, var(--bg-surface) 0%, rgba(var(--ind-r), var(--ind-g), var(--ind-b), 0.025) 100%);
}

/* Industry class color overrides */
.ind-govt   { --ind-color:#334155; --ind-color-rich:#1E293B; --ind-r:51;  --ind-g:65;  --ind-b:85;  }
.ind-edu    { --ind-color:#7C3AED; --ind-color-rich:#6D28D9; --ind-r:124; --ind-g:58;  --ind-b:237; }
.ind-hosp   { --ind-color:#E11D48; --ind-color-rich:#BE123C; --ind-r:225; --ind-g:29;  --ind-b:72;  }
.ind-media  { --ind-color:#C026D3; --ind-color-rich:#A21CAF; --ind-r:192; --ind-g:38;  --ind-b:211; }
.ind-legal  { --ind-color:#0891B2; --ind-color-rich:#0E7490; --ind-r:8;   --ind-g:145; --ind-b:178; }

/* ════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
  .hub-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1024px) {
  body.sol-page h1 { font-size: 50px; }
  body.sol-page h2 { font-size: 36px; }
  .solutions-hero-inner { grid-template-columns: 1fr; gap: 40px; padding-top: 100px; }
  .industry-network { max-width: 400px; margin: 0 auto; }
  .industry-cards-grid { grid-template-columns: 1fr; }
  .ind-page-hero-inner { grid-template-columns: 1fr; }
  .ind-page-h1 { font-size: 48px; }
  .ind-page-hero-inner { gap: 40px; }
  .ind-dashboard { max-width: 100%; }
  .workflow-grid { grid-template-columns: 1fr; }
  .compliance-grid { grid-template-columns: 1fr; }
  .case-study-card-featured { grid-template-columns: 1fr; }
  .why-industry-grid { grid-template-columns: 1fr; }
  .stats-inner { grid-template-columns: repeat(2, 1fr); }
  .stat-item { border-right: none; border-bottom: 1px solid var(--border); }
  .more-ind-grid { grid-template-columns: repeat(2, 1fr); }
  .hub-grid { grid-template-columns: repeat(2, 1fr); }
  .hub-hero h1 { font-size: 40px; }
  .hub-tab-btn { padding: 14px 18px; font-size: 14px; }
  .lead-card-inner { grid-template-columns: 1fr; }
  .lead-left { padding: 48px 40px; }
  .lead-right { border-radius: 0 0 var(--radius-xl) var(--radius-xl); }
}

@media (max-width: 768px) {
  body.sol-page h1 { font-size: 38px; }
  body.sol-page h2 { font-size: 30px; }
  body.sol-page section { padding: 60px 0; }
  .use-cases-grid { grid-template-columns: 1fr; }
  .use-case-card { padding: 24px 20px; }
  .cs-metrics-row { grid-template-columns: 1fr; }
  .stats-inner { grid-template-columns: 1fr; }
  .stat-item { border-right: none; border-bottom: 1px solid var(--border); padding: 24px 20px; }
  .stat-item:nth-child(odd) { border-right: 1px solid var(--border); }
  .stat-item:last-child { border-bottom: none; }
  .more-ind-grid { grid-template-columns: 1fr; }
  .industry-card { padding: 24px; }
  .cta-block { padding: 48px 24px; }
  .ind-page-h1 { font-size: 36px; }
  .ind-page-sub { font-size: 16px; }
  .ind-hero-badges { gap: 8px; }
  .ind-hero-badge { font-size: 11px; padding: 5px 11px; }
  .workflow-grid { grid-template-columns: 1fr; gap: 32px; }
  .compliance-grid { grid-template-columns: 1fr; gap: 40px; }
  .case-study-card-featured { grid-template-columns: 1fr; padding: 28px 24px; gap: 32px; }
  .cs-metrics-row { grid-template-columns: repeat(2,1fr); }
  .ind-dashboard { max-width: 100%; }
  .dash-float-badge { display: none; }
  .compliance-frameworks-list { gap: 10px; }
  .comp-item { padding: 14px 16px; gap: 12px; }
  .section-header-center { padding: 0 4px; }
  .hub-grid { grid-template-columns: 1fr; }
  .hub-hero h1 { font-size: 30px; }
  .hub-stats-row { flex-direction: column; border-radius: var(--radius-md); }
  .hub-stat { border-right: none; border-bottom: 1px solid var(--border); }
  .hub-stat:last-child { border-bottom: none; }
  .lead-section { padding: 60px 0; }
  .lead-card { margin: 0 12px; border-radius: 16px; }
  .lead-left { padding: 36px 24px; }
  .lead-left h2 { font-size: 22px; }
  .lead-left p { font-size: 15px; margin-bottom: 20px; }
  .lead-checklist li { font-size: 13px; }
}

@media (max-width: 480px) {
  body.sol-page h1 { font-size: 30px; }
  .ind-page-h1 { font-size: 28px; }
  .ind-page-hero { padding: 126px 0 60px; }
  body.sol-page section { padding: 60px 0; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn,
  .hero-actions .btn-ind-primary,
  .hero-actions a { width: 100%; justify-content: center; }
  .cs-metrics-row { grid-template-columns: 1fr; }
  .stat-item { border-right: none !important; }
  .stats-inner { grid-template-columns: 1fr; }
  .wf-outcome-val { font-size: 16px; }
  .lead-section { padding: 40px 0; }
  .lead-card { margin: 0 8px; border-radius: 12px; }
  .lead-left { padding: 28px 18px; }
  .lead-left h2 { font-size: 20px; }
}

/* ════════════════════════════════════════════════════════
   WORDPRESS-SPECIFIC EXTRAS
════════════════════════════════════════════════════════ */

/* ── Nav visibility on white/light-background pages ─────────────────────
   The nav glass-morphism effect is near-invisible when the page background
   is the same near-white as the nav. Give it a slightly more opaque
   background + a more visible bottom border on solution pages.         */
body.sol-page .nav {
  background: rgba(248, 250, 253, 0.97);
  border-bottom: 1px solid rgba(15, 30, 80, 0.10);
  box-shadow: 0 1px 8px rgba(15, 30, 80, 0.08);
}

/* ── Astra CPT padding reset ─────────────────────────────────────────────
   Astra adds `padding: 4em 0` to #primary on ast-separate-container pages
   (all CPT single posts). This pushes the hero section ~64px too far down.
   Zero it out so our ind-page-hero padding controls the spacing.        */
body.sol-page #primary,
body.sol-page .site-main,
body.sol-page #content,
body.sol-page .site-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}

/* Also remove Astra article wrapper padding on CPT single posts */
body.sol-page .ast-article-single,
body.sol-page .ast-article-post {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Admin bar offset — hero section */
.admin-bar .ind-page-hero    { padding-top: 188px; }
.admin-bar .hub-hero         { padding-top: 178px; }
.admin-bar #solutions-hero   { padding-top: 32px; }

/* Float badge — use % positioning when inline px overrides not present */
.ind-dashboard > .dash-float-badge:first-of-type { top: -5%; right: -5%; }
.ind-dashboard > .dash-float-badge:last-of-type  { bottom: -5%; left: -5%; }

/* ════════════════════════════════════════════════════════
   FAQ SECTION
   Uses native <details>/<summary> — no JS, accessible,
   fully indexable by search engines and AI crawlers.
════════════════════════════════════════════════════════ */
.sol-faq-section { background: var(--bg-base); }
.sol-faq-list    { max-width: 800px; margin: 0 auto; }

.sol-faq-item { border-bottom: 1px solid var(--border); }
.sol-faq-item:first-child { border-top: 1px solid var(--border); }

.sol-faq-q {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; padding: 22px 0; cursor: pointer; list-style: none;
  font-family: var(--font-display); font-size: 17px; font-weight: 600;
  color: var(--text-primary); line-height: 1.4;
  transition: color 0.2s;
}
.sol-faq-q::-webkit-details-marker { display: none; }
.sol-faq-q span { flex: 1; }
.sol-faq-icon {
  flex-shrink: 0; color: var(--text-muted);
  transition: transform 0.25s ease, color 0.2s;
}
.sol-faq-item[open] .sol-faq-icon  { transform: rotate(180deg); color: var(--ind-color, var(--blue)); }
.sol-faq-item[open] > .sol-faq-q  { color: var(--ind-color, var(--blue)); }

.sol-faq-a {
  padding: 0 48px 24px 0;
  font-size: 16px; color: var(--text-secondary);
  line-height: 1.75; max-width: 720px;
}

@media (max-width: 600px) {
  .sol-faq-q  { font-size: 15px; padding: 18px 0; gap: 12px; }
  .sol-faq-a  { font-size: 15px; padding: 0 0 18px; }
}

/* ════════════════════════════════════════════════════════
   RELATED SOLUTIONS SECTION
════════════════════════════════════════════════════════ */
.sol-related-section {
  background: var(--bg-surface);
  border-top: 1px solid var(--border);
}
.sol-related-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.sol-related-card {
  position: relative; overflow: hidden;
  background: var(--bg-base); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 28px 24px;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s;
}
.sol-related-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }

.sol-related-accent {
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  opacity: 0; transition: opacity 0.25s;
}
.sol-related-card:hover .sol-related-accent { opacity: 1; }

.sol-related-icon  { font-size: 28px; margin-bottom: 14px; }
.sol-related-title {
  font-family: var(--font-display); font-size: 17px; font-weight: 700;
  letter-spacing: -0.01em; color: var(--text-primary); margin-bottom: 10px;
}
.sol-related-desc   { font-size: 13px; color: var(--text-secondary); line-height: 1.55; flex: 1; margin-bottom: 16px; }
.sol-related-agents { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); margin-bottom: 14px; }
.sol-related-cta    { font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.sol-related-card:hover .sol-related-cta span { transform: translateX(3px); }
.sol-related-cta span { display: inline-block; transition: transform 0.2s; }

/* Inherit hub card colour classes */
.c-blue   .sol-related-accent { background: linear-gradient(90deg,#0284C7,#4F46E5); }
.c-blue   .sol-related-cta    { color: var(--blue); }
.c-blue   .sol-related-card:hover { border-color: rgba(2,132,199,0.25); }
.c-green  .sol-related-accent { background: linear-gradient(90deg,#059669,#0284C7); }
.c-green  .sol-related-cta    { color: var(--green); }
.c-green  .sol-related-card:hover { border-color: rgba(5,150,105,0.25); }
.c-amber  .sol-related-accent { background: linear-gradient(90deg,#D97706,#DC2626); }
.c-amber  .sol-related-cta    { color: var(--amber); }
.c-amber  .sol-related-card:hover { border-color: rgba(217,119,6,0.25); }
.c-indigo .sol-related-accent { background: linear-gradient(90deg,#4F46E5,#7C3AED); }
.c-indigo .sol-related-cta    { color: var(--indigo); }
.c-indigo .sol-related-card:hover { border-color: rgba(79,70,229,0.25); }
.c-red    .sol-related-accent { background: linear-gradient(90deg,#DC2626,#D97706); }
.c-red    .sol-related-cta    { color: var(--red); }
.c-teal   .sol-related-accent { background: linear-gradient(90deg,#0891B2,#059669); }
.c-teal   .sol-related-cta    { color: #0891B2; }
.c-purple .sol-related-accent { background: linear-gradient(90deg,#7C3AED,#4F46E5); }
.c-purple .sol-related-cta    { color: #7C3AED; }

@media (max-width: 900px) { .sol-related-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .sol-related-grid { grid-template-columns: 1fr; } }
