/* ================================================================
   IONTEK ACADEMY — academy.css  (supplement to main.css)
   Academy-specific structural components only.
   Uses main.css tokens — never raw hex.
   ================================================================ */

/* ── Academy body: add padding-top so content clears the fixed nav ── */
.academy-body {
  padding-top: 96px;
}

/* ── Breadcrumbs ──────────────────────────────────────────────────── */
.breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: var(--space-8);
}
.breadcrumbs a {
  color: var(--primary);
  text-decoration: none;
  transition: color 0.18s ease;
}
.breadcrumbs a:hover {
  color: var(--primary-hover);
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* The "/" glyph ships inside post_content on 60+ imported pages —
   hide it and draw a chevron instead so the trail reads as navigation. */
.breadcrumbs-sep {
  font-size: 0;
}
.breadcrumbs-sep::before {
  content: '›';
  font-size: var(--text-xs);
  color: var(--text-soft);
}
.breadcrumbs-current { color: var(--text-muted); font-weight: 500; }

/* ── Academy secondary nav (below main nav) ───────────────────────── */
.academy-subnav {
  background: var(--bg-surface);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 78px;
  z-index: 100;
}
.academy-subnav-inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: flex;
  align-items: center;
  gap: var(--space-1);
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.academy-subnav-inner::-webkit-scrollbar { display: none; }
.academy-subnav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-decoration: none;
  padding: 12px 14px;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  transition: color 0.18s ease, border-color 0.18s ease;
}
.academy-subnav-link:hover { color: var(--primary); }
.academy-subnav-link.active {
  color: var(--primary);
  border-bottom-color: var(--primary);
}

/* ── Academy hero / page header ───────────────────────────────────── */
.academy-page-header {
  padding-block: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 3.5rem);
  border-bottom: 1px solid var(--border);
  margin-bottom: clamp(var(--space-12), 5vw, var(--space-20));
}
.academy-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: var(--space-5);
}
.academy-eyebrow::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background: var(--primary);
  border-radius: var(--radius-sm);
  flex-shrink: 0;
}
.academy-page-title {
  font-family: var(--font-display);
  font-size: clamp(var(--text-3xl), 5vw, var(--text-6xl));
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: -0.025em;
  color: var(--text-primary);
  margin-bottom: var(--space-5);
}
.academy-page-intro {
  font-size: clamp(var(--text-base), 1.5vw, var(--text-lg));
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  max-width: 70ch;
}
.academy-byline {
  margin-top: var(--space-6);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  color: var(--text-muted);
  text-transform: uppercase;
}

/* ── Two-column article layout: prose + sticky sidebar ───────────── */
.academy-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
  align-items: start;
}
@media (min-width: 1025px) {
  .academy-layout {
    grid-template-columns: 1fr 280px;
    gap: clamp(var(--space-12), 5vw, var(--space-20));
  }
  .academy-sidebar {
    position: sticky;
    top: 136px;
  }
}

/* ── Table of Contents ────────────────────────────────────────────── */
#toc {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.toc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4) var(--space-5);
  border-bottom: 1px solid var(--border);
}
.toc-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.toc-toggle {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  padding: 4px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.18s ease;
}
.toc-toggle:hover { color: var(--primary); }
.toc-toggle svg { transition: transform 0.25s ease; }
#toc.toc-open .toc-toggle svg { transform: rotate(180deg); }
.toc-body {
  padding: var(--space-4) var(--space-5);
}
/* On mobile: collapsed by default; on desktop: always open */
@media (max-width: 1024px) {
  .toc-body { display: none; }
  #toc.toc-open .toc-body { display: block; }
}
@media (min-width: 1025px) {
  .toc-body { display: block !important; }
  .toc-toggle { display: none; }
}
.toc-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.toc-list li { margin: 0; }
.toc-list a {
  display: block;
  font-size: var(--text-sm);
  color: var(--text-secondary);
  text-decoration: none;
  padding: 6px 10px;
  border-radius: var(--radius-md);
  border-left: 2px solid transparent;
  transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
  line-height: var(--leading-snug);
}
.toc-list a:hover {
  color: var(--text-primary);
  background: rgba(3, 105, 161, 0.06);
}
.toc-list a.toc-active {
  color: var(--primary);
  border-left-color: var(--primary);
  background: rgba(3, 105, 161, 0.08);
}

/* ── Article prose body ──────────────────────────────────────────── */
.academy-prose {
  color: var(--text-secondary);
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  max-width: 72ch;
}
.academy-prose h2 {
  font-family: var(--font-display);
  font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl));
  font-weight: var(--font-weight-bold);
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  margin-bottom: var(--space-5);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--border);
}
.academy-prose h3 {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--text-primary);
  letter-spacing: -0.015em;
  margin-top: var(--space-10);
  margin-bottom: var(--space-4);
}
.academy-prose p { margin-bottom: var(--space-5); }
.academy-prose p:last-child { margin-bottom: 0; }
.academy-prose ul,
.academy-prose ol {
  list-style: none;
  margin-bottom: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.academy-prose ul li {
  padding-left: var(--space-6);
  position: relative;
  color: var(--text-secondary);
}
.academy-prose ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--primary);
  opacity: 0.7;
}
.academy-prose ol {
  counter-reset: prose-counter;
}
.academy-prose ol li {
  padding-left: var(--space-8);
  position: relative;
  counter-increment: prose-counter;
  color: var(--text-secondary);
}
.academy-prose ol li::before {
  content: counter(prose-counter);
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--font-weight-bold);
  color: var(--primary);
  background: rgba(3, 105, 161, 0.10);
  border: 1px solid rgba(3, 105, 161, 0.20);
  width: 22px;
  height: 22px;
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.academy-prose strong { color: var(--text-primary); font-weight: var(--font-weight-semibold); }
.academy-prose a {
  color: var(--primary);
  text-underline-offset: 3px;
  text-decoration: underline;
  text-decoration-color: rgba(3, 105, 161, 0.35);
  transition: text-decoration-color 0.18s ease;
}
.academy-prose a:hover { text-decoration-color: var(--primary); }

/* Callout / stat pull-quote */
.academy-callout {
  margin-block: var(--space-8);
  padding: var(--space-6) var(--space-8);
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-left: 3px solid var(--primary);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  font-size: var(--text-base);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
}
.academy-stat-callout {
  margin-block: var(--space-10);
  padding: var(--space-8);
  background: rgba(3, 105, 161, 0.05);
  border: 1px solid rgba(3, 105, 161, 0.18);
  border-radius: var(--radius-xl);
  text-align: center;
}
.academy-stat-number {
  font-family: var(--font-mono);
  font-size: clamp(var(--text-4xl), 6vw, var(--text-6xl));
  font-weight: var(--font-weight-black);
  color: var(--primary);
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  margin-bottom: var(--space-3);
}
.academy-stat-context {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  max-width: 48ch;
  margin-inline: auto;
}
.academy-stat-source {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-soft);
  margin-top: var(--space-3);
}

/* ── CTA block ────────────────────────────────────────────────────── */
.academy-cta-block {
  margin-top: var(--space-16);
  padding: var(--space-10) var(--space-8);
  background: var(--bg-tint);
  border: 1px solid var(--border);
  border-radius: var(--radius-2xl);
  text-align: center;
}
.academy-cta-block .section-label { margin-bottom: var(--space-4); }
.academy-cta-title {
  font-family: var(--font-display);
  font-size: clamp(var(--text-xl), 3vw, var(--text-3xl));
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.02em;
  color: var(--text-primary);
  margin-bottom: var(--space-4);
}
.academy-cta-sub {
  font-size: var(--text-base);
  color: var(--text-secondary);
  margin-bottom: var(--space-8);
  max-width: 52ch;
  margin-inline: auto;
  line-height: var(--leading-relaxed);
}
.academy-cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
}
.academy-cta-or {
  font-size: var(--text-sm);
  color: var(--text-muted);
}
.academy-cta-or a {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── Related content module ───────────────────────────────────────── */
.academy-related {
  margin-top: var(--space-16);
  padding-top: var(--space-12);
  border-top: 1px solid var(--border);
}
.academy-related-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: var(--space-6);
}
.academy-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--space-5);
}
.academy-related-card {
  position: relative;
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  overflow: hidden;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.academy-related-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--primary);
  opacity: 0;
  transition: opacity 0.22s ease;
}
.academy-related-card:hover {
  transform: translateY(-3px);
  border-color: rgba(3, 105, 161, 0.22);
  box-shadow: 0 12px 32px rgba(0,0,0,0.18);
}
.academy-related-card:hover::before { opacity: 1; }
.academy-related-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--primary);
}
.academy-related-title {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: var(--font-weight-semibold);
  color: var(--text-primary);
  line-height: var(--leading-snug);
  letter-spacing: -0.01em;
}
.academy-related-arrow {
  margin-top: auto;
  font-size: var(--text-xs);
  color: var(--primary);
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: var(--font-weight-semibold);
  transition: gap 0.18s ease;
}
.academy-related-card:hover .academy-related-arrow { gap: 10px; }

/* ── Pillar card grid (hub pages) ─────────────────────────────────── */
.academy-pillar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-5);
}
.academy-pillar-card {
  position: relative;
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.academy-pillar-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--primary);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.academy-pillar-card:hover {
  transform: translateY(-4px);
  border-color: rgba(3, 105, 161, 0.24);
  box-shadow: 0 16px 40px rgba(0,0,0,0.22), 0 0 0 1px rgba(3, 105, 161,0.10);
}
.academy-pillar-card:hover::before { opacity: 1; }
.academy-pillar-number {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--font-weight-bold);
  color: var(--primary);
  letter-spacing: 0.10em;
  text-transform: uppercase;
}
.academy-pillar-title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: var(--font-weight-bold);
  color: var(--text-primary);
  letter-spacing: -0.015em;
  line-height: var(--leading-snug);
}
.academy-pillar-desc {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  flex: 1;
}
.academy-pillar-link {
  font-size: var(--text-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--primary);
  display: flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.18s ease;
}
.academy-pillar-card:hover .academy-pillar-link { gap: 10px; }

/* ── Stat card (statistics page) ──────────────────────────────────── */
.stat-card {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-xl);
  padding: var(--space-6) var(--space-6) var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.stat-card-value {
  font-family: var(--font-mono);
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  font-weight: var(--font-weight-black);
  color: var(--primary);
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.stat-card-context {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  flex: 1;
}
.stat-card-source {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-soft);
}

/* ── Up-link card (cluster → parent pillar) ───────────────────────── */
.academy-uplink {
  margin-top: var(--space-12);
  padding: var(--space-6) var(--space-8);
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  gap: var(--space-4);
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.academy-uplink:hover {
  border-color: rgba(3, 105, 161, 0.25);
  background: rgba(3, 105, 161, 0.04);
}
.academy-uplink-arrow {
  color: var(--text-muted);
  flex-shrink: 0;
}
.academy-uplink-meta {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 4px;
}
.academy-uplink-title {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: var(--font-weight-semibold);
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

/* ── Sources list ──────────────────────────────────────────────────── */
.academy-sources {
  margin-top: var(--space-16);
  padding-top: var(--space-8);
  border-top: 1px solid var(--border);
}
.academy-sources-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: var(--space-5);
}
.academy-sources ol {
  list-style: decimal;
  padding-left: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.academy-sources ol li {
  font-size: var(--text-xs);
  color: var(--text-muted);
  line-height: var(--leading-normal);
}

/* ── Light theme overrides for Academy components ─────────────────── */
[data-theme="light"] .academy-related-card,
[data-theme="light"] .academy-pillar-card,
[data-theme="light"] .stat-card,
[data-theme="light"] .academy-uplink,
[data-theme="light"] #toc {
  background: #FFFFFF;
  border-color: #E2E8F0;
  box-shadow: 0 2px 4px rgba(15,23,42,0.04), 0 8px 20px -8px rgba(15,23,42,0.10);
}
[data-theme="light"] .academy-related-card:hover,
[data-theme="light"] .academy-pillar-card:hover {
  box-shadow: 0 8px 24px -6px rgba(15,23,42,0.14), 0 0 0 1px rgba(3, 105, 161,0.15);
}
[data-theme="light"] .academy-cta-block {
  background: #F0F9FF;
  border-color: rgba(3, 105, 161, 0.22);
}
[data-theme="light"] .academy-callout {
  background: rgba(255,255,255,0.80);
  border-color: #E2E8F0;
}
[data-theme="light"] .academy-stat-callout {
  background: rgba(3, 105, 161, 0.06);
  border-color: rgba(3, 105, 161, 0.20);
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .academy-subnav { top: 64px; }
  .academy-body { padding-top: 80px; }
  .academy-pillar-grid { grid-template-columns: 1fr; }
  .academy-related-grid { grid-template-columns: 1fr; }
  .academy-cta-actions { flex-direction: column; align-items: stretch; }
  .academy-cta-actions .btn-primary,
  .academy-cta-actions .btn-secondary { justify-content: center; }
}

/* ================================================================
   CLUSTER ARTICLE COMPONENTS  (Design C — manufacturing.iontek)
   ================================================================ */

/* ── Article layout ─────────────────────────────────────────────── */
.article-wrap {
  max-width: 728px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
}
.article-hdr {
  padding-top: clamp(100px, 12vh, 140px);
  padding-bottom: clamp(2rem, 4vw, 3rem);
}
.article-h1 {
  font-family: var(--font-display);
  font-size: clamp(1.875rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: var(--text-primary);
  margin-bottom: 1.125rem;
  text-wrap: balance;
}
.article-byline-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 0.875rem;
}
.article-byline {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
}
.article-meta {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.meta-dot {
  width: 3px;
  height: 3px;
  background: var(--text-muted);
  border-radius: 50%;
  flex-shrink: 0;
}
.meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--primary);
  border: 1px solid rgba(3, 105, 161,.22);
  background: rgba(3, 105, 161,.08);
  padding: 3px 10px;
  border-radius: var(--radius-sm);
}
[data-theme="light"] .meta-pill {
  background: rgba(3, 105, 161,.08);
  border-color: rgba(3, 105, 161,.22);
}
.article-hook {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  color: var(--text-secondary);
  line-height: 1.78;
  text-wrap: pretty;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
  margin-top: 0;
}

/* ── Prose body ──────────────────────────────────────────────────── */
.prose { display: flex; flex-direction: column; }
.prose-sec {
  padding-top: clamp(2rem, 4vw, 2.75rem);
  margin-top: clamp(2rem, 4vw, 2.75rem);
  border-top: 1px solid var(--border);
}
.prose-sec:first-child { border-top: none; margin-top: 0; padding-top: 0; }
.prose-h2 {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.18;
  color: var(--text-primary);
  margin-bottom: 0.875rem;
  text-wrap: balance;
  scroll-margin-top: 96px;
}
.prose-h3 {
  font-family: var(--font-base);
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 1.25rem 0 0.375rem;
}
.prose-p {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.80;
  margin-bottom: 0.875rem;
  text-wrap: pretty;
}
.prose-p:last-child { margin-bottom: 0; }
.prose-a {
  color: var(--primary);
  text-decoration: underline;
  text-decoration-color: rgba(3, 105, 161,.30);
  text-underline-offset: 3px;
  transition: text-decoration-color 0.18s ease;
}
.prose-a:hover { text-decoration-color: var(--primary); }
[data-theme="light"] .prose-a { color: var(--primary); }

/* Prose lists */
.prose-ul {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
.prose-ul li {
  padding-left: 1.25rem;
  position: relative;
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.75;
}
.prose-ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--primary);
  opacity: 0.65;
}
.prose-ol {
  list-style: none;
  padding-left: 0;
  counter-reset: prose-ol;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
.prose-ol li {
  padding-left: 2.25rem;
  position: relative;
  counter-increment: prose-ol;
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.75;
}
.prose-ol li::before {
  content: counter(prose-ol);
  position: absolute;
  left: 0;
  top: 1px;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--primary);
  background: rgba(3, 105, 161,.10);
  border: 1px solid rgba(3, 105, 161,.20);
  width: 22px;
  height: 22px;
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.prose-ul li .prose-a,
.prose-ol li .prose-a { font-size: inherit; }

/* Short answer box */
.short-ans {
  background: rgba(3, 105, 161,.06);
  border-left: 3px solid var(--primary);
  border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
  padding: 1.375rem 1.625rem;
  margin-block: 1.625rem;
}
.short-ans p {
  font-size: 1.0625rem;
  color: var(--text-primary);
  line-height: 1.72;
  font-weight: 500;
  margin: 0;
}
[data-theme="light"] .short-ans { background: rgba(3, 105, 161,.06); }

/* Benchmark stat row */
.bench-row {
  display: flex;
  gap: 1rem;
  margin-block: 1.75rem;
}
.bench-item {
  flex: 1;
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-xl);
  padding: 1rem 1.125rem;
  box-shadow: var(--elev-1);
}
[data-theme="light"] .bench-item {
  background: #FFFFFF;
  border-color: var(--border);
  box-shadow: var(--elev-2);
}
.bench-val {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--primary);
  letter-spacing: -0.02em;
  line-height: 1;
  display: block;
  margin-bottom: 0.375rem;
}
.bench-val--muted { color: var(--text-muted); }
.bench-label {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.45;
  font-weight: 500;
  margin-bottom: 0.25rem;
  display: block;
}
.bench-note {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* Mini-case panel */
.mini-case {
  background: var(--bg-tint);
  border: 1px solid var(--panel-border);
  border-left: 3px solid var(--primary);
  border-radius: var(--radius-2xl);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  margin-block: clamp(2.5rem, 5vw, 4rem);
}
[data-theme="light"] .mini-case {
  background: var(--bg-tint);
  border-color: var(--border);
  border-left-color: var(--primary);
  box-shadow: var(--elev-2);
}
.mc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--primary);
  background: rgba(3, 105, 161,.08);
  border: 1px solid rgba(3, 105, 161,.20);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  margin-bottom: 0.875rem;
}
.mc-eyebrow::before {
  content: '';
  width: 5px;
  height: 5px;
  background: var(--primary);
  box-shadow: 0 0 7px rgba(3, 105, 161,.80);
  flex: 0 0 auto;
}
.mc-title {
  font-family: var(--font-display);
  font-size: clamp(1.125rem, 2.2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.018em;
  color: var(--text-primary);
  margin-bottom: 0.875rem;
  text-wrap: balance;
}
.mc-p {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 0.75rem;
  text-wrap: pretty;
}
.mc-outcome {
  background: rgba(3, 105, 161,.08);
  border: 1px solid rgba(3, 105, 161,.18);
  border-radius: var(--radius-lg);
  padding: 0.875rem 1.125rem;
  font-size: 0.875rem;
  color: var(--text-primary);
  line-height: 1.55;
  margin-top: 0.875rem;
}
.mc-outcome strong { color: var(--primary); }
[data-theme="light"] .mc-outcome {
  background: rgba(3, 105, 161,.06);
  border-color: rgba(3, 105, 161,.16);
}

/* FAQ section (cluster variant — .faq-q / .faq-icon) */
.faq-wrap { margin-block: clamp(2.5rem, 5vw, 4rem); }
.faq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--primary);
  background: rgba(3, 105, 161,.08);
  border: 1px solid rgba(3, 105, 161,.20);
  padding: 5px 12px;
  border-radius: var(--radius-sm);
  margin-bottom: 0.875rem;
}
.faq-eyebrow::before {
  content: '';
  width: 7px;
  height: 7px;
  background: var(--primary);
  box-shadow: 0 0 9px rgba(3, 105, 161,.85);
  flex: 0 0 auto;
}
.faq-title {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text-primary);
  margin-bottom: 1.25rem;
  text-wrap: balance;
}
.faq-q {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.125rem 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  width: 100%;
  text-align: left;
  transition: color 0.18s ease;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-base);
}
.faq-q:hover { color: var(--primary); }
.faq-icon {
  flex-shrink: 0;
  font-size: 1.25rem;
  line-height: 1;
  color: var(--primary);
  transition: transform 0.3s ease;
  font-style: normal;
  margin-top: 2px;
  width: 18px;
  text-align: center;
}
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-ans {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding-bottom 0.4s ease;
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.70;
}
.faq-item.open .faq-ans { max-height: 480px; padding-bottom: 1.125rem; }

/* Soft CTA three-card grid */
.soft-cta { margin-block: clamp(2.5rem, 5vw, 4rem); }
.soft-cta-eyebrow {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.soft-cta-eyebrow::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--border-strong);
}
.soft-cta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.scg {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-xl);
  padding: 1.375rem;
  display: flex;
  flex-direction: column;
  box-shadow: var(--elev-2);
  transition: border-color 0.28s ease, box-shadow 0.28s ease;
  text-decoration: none;
}
.scg:hover {
  border-color: rgba(3, 105, 161,.28);
  box-shadow: var(--elev-3);
}
[data-theme="light"] .scg { background: #FFFFFF; border-color: var(--border); }
[data-theme="light"] .scg:hover { border-color: rgba(3, 105, 161,.35); }
.scg--primary {
  border-color: rgba(3, 105, 161,.25);
  background: var(--bg-surface);
}
[data-theme="light"] .scg--primary {
  background: #FFFFFF;
  border-color: rgba(3, 105, 161,.28);
}
.scg-label {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 0.5rem;
  display: block;
}
.scg-title {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
  line-height: 1.25;
}
.scg-desc {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.60;
  flex-grow: 1;
  margin-bottom: 1rem;
  text-wrap: pretty;
}
.scg-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  color: var(--primary);
  transition: gap 0.18s ease;
  margin-top: auto;
}
.scg:hover .scg-link { gap: 9px; }
.scg-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--primary);
  color: var(--on-accent);
  padding: 10px 18px;
  border-radius: var(--radius-md);
  font-weight: 700;
  font-size: 0.875rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.50), 0 4px 12px var(--primary-glow);
  transition: background 0.18s ease, transform 0.18s ease;
  margin-top: auto;
}
.scg-btn:hover { background: var(--primary-hover); transform: translateY(-1px); }
[data-theme="light"] .scg-btn { color: #ffffff; }

/* Up-link card */
.uplink {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-2xl);
  padding: 1.375rem 1.625rem;
  margin-block: clamp(2rem, 4vw, 3rem);
  box-shadow: var(--elev-2);
  transition: border-color 0.28s ease, box-shadow 0.28s ease;
  color: inherit;
  text-decoration: none;
}
.uplink::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1.5px;
  background: linear-gradient(90deg, transparent 0%, rgba(3, 105, 161,.25) 50%, transparent 100%);
}
.uplink:hover {
  border-color: rgba(3, 105, 161,.30);
  box-shadow: var(--elev-3), 0 0 0 1px rgba(3, 105, 161,.08);
}
[data-theme="light"] .uplink { background: #FFFFFF; border-color: var(--border); }
[data-theme="light"] .uplink:hover { border-color: rgba(3, 105, 161,.35); }
.uplink-icon {
  width: 44px;
  height: 44px;
  background: rgba(3, 105, 161,.10);
  border: 1px solid rgba(3, 105, 161,.22);
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  flex-shrink: 0;
}
.uplink-body { flex-grow: 1; min-width: 0; }
.uplink-label {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.25rem;
}
.uplink-title {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.uplink-desc { font-size: 0.8125rem; color: var(--text-secondary); }
.uplink-arrow {
  color: var(--primary);
  flex-shrink: 0;
  transition: transform 0.18s ease;
}
.uplink:hover .uplink-arrow { transform: translateX(3px); }

/* Related chips row */
.related-sec { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.related-label {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.related-label::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--border-strong);
}
.related-row { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.related-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-lg);
  font-size: 0.875rem;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.related-chip:hover {
  color: var(--primary);
  border-color: rgba(3, 105, 161,.28);
  background: rgba(3, 105, 161,.04);
}
.related-chip:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
[data-theme="light"] .related-chip { background: #FFFFFF; border-color: var(--border); }
[data-theme="light"] .related-chip:hover {
  border-color: rgba(3, 105, 161,.30);
  background: var(--bg-tint);
}
.related-chip svg {
  opacity: 0.6;
  transition: transform 0.18s ease, opacity 0.18s ease;
  flex-shrink: 0;
}
.related-chip:hover svg { transform: translateX(2px); opacity: 1; }

/* Sources block */
.sources-block {
  padding-block: 1.75rem;
  border-top: 1px solid var(--border);
  margin-bottom: var(--section-padding-y);
}
.sources-head {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.625rem;
}
.sources-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  list-style: none;
}
.sources-list li {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.03em;
  color: var(--text-muted);
  line-height: 1.55;
}

/* Reveal scroll animation (cluster pages) */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out);
}
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* ── Cluster article responsive ─────────────────────────────── */
@media (max-width: 900px) {
  .soft-cta-grid { grid-template-columns: 1fr; }
  .bench-row { flex-direction: column; }
}
@media (max-width: 580px) {
  .uplink { flex-direction: column; align-items: flex-start; }
  .related-row { flex-direction: column; }
}

/* ================================================================
   PILLAR PAGE COMPONENTS  (Design B — manufacturing.iontek)
   ================================================================ */
.pillar-hero{padding-top:clamp(100px,12vh,140px);padding-bottom:clamp(2rem,4vw,3rem)}
.pillar-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--primary);background:rgba(3, 105, 161,.08);border:1px solid rgba(3, 105, 161,.22);padding:5px 12px;border-radius:var(--radius-sm);margin-bottom:1rem}
.pillar-eyebrow::before{content:'';width:7px;height:7px;background:var(--primary);box-shadow:0 0 9px rgba(3, 105, 161,.85);flex:0 0 auto}
[data-theme="light"] .pillar-eyebrow{background:rgba(3, 105, 161,.08);border-color:rgba(3, 105, 161,.22)}
.pillar-h1{font-family:var(--font-display);font-size:clamp(1.875rem,4vw,3.25rem);font-weight:800;line-height:1.08;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:1.25rem;text-wrap:balance}
.pillar-intro{font-size:clamp(1rem,1.5vw,1.125rem);color:var(--text-secondary);line-height:1.75;max-width:700px;margin-bottom:1.5rem;text-wrap:pretty}
.pillar-meta{display:flex;align-items:center;gap:1.25rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.10em;text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap}
.pillar-meta a{color:var(--primary)}
.pillar-meta-sep{width:3px;height:3px;background:var(--text-muted);border-radius:50%;flex-shrink:0}
.pillar-body{display:grid;grid-template-columns:220px 1fr;gap:clamp(2rem,4vw,4rem);align-items:start;padding-bottom:var(--section-padding-y)}
.toc-col{position:sticky;top:88px;max-height:calc(100vh - 108px);overflow-y:auto;scrollbar-width:none}
.toc-col::-webkit-scrollbar{display:none}
.toc-details summary{display:none}
.toc-head{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.875rem;display:flex;align-items:center;gap:.375rem}
.toc-head::before{content:'';width:4px;height:4px;background:var(--primary);flex:0 0 auto}
.toc-nav{display:flex;flex-direction:column;border-left:1px solid var(--border)}
.toc-link{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--text-muted);padding:.5rem 0 .5rem .875rem;border-left:2px solid transparent;margin-left:-1px;transition:color .18s ease,border-color .18s ease;line-height:1.45;text-decoration:none}
.toc-link:hover{color:var(--text-secondary)}
.toc-link.is-active{color:var(--primary);border-left-color:var(--primary)}
.toc-scorecard-btn{margin-top:1.5rem;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;color:var(--primary);padding:8px 14px;border:1px solid rgba(3, 105, 161,.25);border-radius:var(--radius-sm);background:rgba(3, 105, 161,.06);transition:background .18s ease,border-color .18s ease;text-decoration:none}
.toc-scorecard-btn:hover{background:rgba(3, 105, 161,.12);border-color:rgba(3, 105, 161,.45)}
.toc-mobile-wrap{display:none;margin-bottom:1.75rem;border:1px solid var(--panel-border);border-radius:var(--radius-xl);overflow:hidden}
.toc-mobile-summary{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.10em;text-transform:uppercase;color:var(--text-secondary);padding:.875rem 1.125rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;background:var(--panel)}
.toc-mobile-summary::-webkit-details-marker{display:none}
.toc-mobile-summary::after{content:'▾';font-size:.75rem;color:var(--primary);transition:transform .25s ease}
details.toc-mobile-details[open] .toc-mobile-summary::after{transform:rotate(180deg)}
.toc-mobile-nav{padding:.75rem 1.125rem 1rem;display:flex;flex-direction:column}
.toc-mobile-nav .toc-link{padding:.4rem 0;border-left:none;margin-left:0;font-size:.72rem}
.prose-col{min-width:0}
.prose-section{padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--border)}
.prose-section:first-child{border-top:none;padding-top:0}
.stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-block:1.75rem}
.stat-item{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-xl);padding:1.25rem 1.375rem;box-shadow:var(--elev-2)}
[data-theme="light"] .stat-item{background:#FFFFFF;border-color:var(--border)}
.stat-val{display:block;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(1.875rem,4vw,2.75rem);font-weight:700;color:var(--primary);letter-spacing:-.02em;line-height:1;margin-bottom:.5rem}
.stat-lbl{font-size:.8125rem;color:var(--text-secondary);line-height:1.55;margin-bottom:.5rem;display:block}
.stat-src{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.dim-list{display:flex;flex-direction:column;gap:.75rem;margin-block:1.5rem}
.dim-item{display:grid;grid-template-columns:2.25rem 1fr;gap:.875rem;padding:1rem 1.125rem;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg)}
[data-theme="light"] .dim-item{background:#FFFFFF;border-color:var(--border)}
.dim-num{font-family:var(--font-mono);font-size:.68rem;color:var(--primary);width:28px;height:28px;background:rgba(3, 105, 161,.10);border:1px solid rgba(3, 105, 161,.22);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dim-body{font-size:.875rem;color:var(--text-secondary);line-height:1.60}
.dim-body strong{color:var(--text-primary);font-weight:600;font-family:var(--font-display)}
.check-list{display:flex;flex-direction:column;gap:.5rem;margin-block:1.25rem;list-style:none}
/* block + absolute dot, NOT flex: flex turns each inline child (<a>, <strong>)
   into its own nowrap flex item, so mixed-content items can't wrap and
   overflow the page on phones */
.check-list li{display:block;position:relative;padding-left:calc(6px + .75rem);font-size:.9rem;color:var(--text-secondary);line-height:1.55}
.check-list li::before{content:'';position:absolute;left:0;top:.44em;width:6px;height:6px;background:var(--primary);box-shadow:0 0 7px rgba(3, 105, 161,.6)}
.systems-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--panel-border);border:1px solid var(--panel-border);border-radius:var(--radius-xl);overflow:hidden;margin-block:1.75rem}
.sys-item{padding:1.125rem 1.25rem;background:var(--bg-surface)}
[data-theme="light"] .sys-item{background:#FFFFFF}
.sys-name{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);display:block;margin-bottom:.5rem}
.sys-role{font-family:var(--font-display);font-size:.9375rem;font-weight:700;color:var(--text-primary);margin-bottom:.375rem}
.sys-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.55}
.roadmap{display:flex;flex-direction:column;gap:.625rem;margin-block:1.5rem}
.road-step{display:flex;gap:.875rem;align-items:flex-start;padding:.875rem 1rem;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg)}
[data-theme="light"] .road-step{background:#FFFFFF;border-color:var(--border)}
.road-num{font-family:var(--font-mono);font-size:.65rem;color:var(--primary);width:26px;height:26px;background:rgba(3, 105, 161,.12);border:1px solid rgba(3, 105, 161,.25);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.road-body{font-size:.875rem;color:var(--text-secondary);line-height:1.60}
.road-body strong{color:var(--text-primary);font-weight:600}
.sec-label{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--primary);background:rgba(3, 105, 161,.08);border:1px solid rgba(3, 105, 161,.20);padding:5px 12px;border-radius:var(--radius-sm);margin-bottom:.875rem}
.sec-label::before{content:'';width:7px;height:7px;background:var(--primary);box-shadow:0 0 9px rgba(3, 105, 161,.85);flex:0 0 auto}
[data-theme="light"] .sec-label{background:rgba(3, 105, 161,.08);border-color:rgba(3, 105, 161,.22)}
.sec-title-sm{font-family:var(--font-display);font-size:clamp(1.375rem,2.5vw,2rem);font-weight:700;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:.5rem;text-wrap:balance}
.pillar-cta-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:1rem;margin-bottom:var(--section-padding-y)}
.scc{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-2xl);padding:1.75rem 2rem;display:flex;flex-direction:column;box-shadow:var(--elev-2)}
.scc--featured{background:var(--bg-surface);border-color:rgba(3, 105, 161,.25)}
[data-theme="light"] .scc{background:#FFFFFF;border-color:var(--border)}
[data-theme="light"] .scc--featured{background:#FFFFFF;border-color:rgba(3, 105, 161,.28)}
.scc-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:.625rem;display:block}
.scc-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.015em;color:var(--text-primary);margin-bottom:.5rem}
.scc-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.60;flex-grow:1;margin-bottom:1.25rem;text-wrap:pretty}
.scc-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--primary);transition:gap .18s ease;text-decoration:none}
.scc:hover .scc-btn{gap:10px}
.scc--featured .scc-btn{font-size:.8125rem;background:var(--primary);color:var(--on-accent);padding:10px 18px;border-radius:var(--radius-md);gap:7px;box-shadow:inset 0 1px 0 rgba(255,255,255,.50),0 4px 12px var(--primary-glow);font-family:var(--font-base);font-weight:700;letter-spacing:.01em;transition:background .18s ease,transform .18s ease}
.scc--featured .scc-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}
[data-theme="light"] .scc--featured .scc-btn{color:#ffffff}
.spoke-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.spoke-card{position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-xl);padding:1.375rem 1.5rem;overflow:hidden;transition:transform .28s var(--ease-out),border-color .28s ease,box-shadow .28s ease;box-shadow:var(--elev-2);color:inherit;text-decoration:none}
.spoke-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(3, 105, 161,.18) 50%,transparent 100%);transition:background .28s ease}
.spoke-card:hover{transform:translateY(-3px);border-color:rgba(3, 105, 161,.28);box-shadow:var(--elev-3),0 0 0 1px rgba(3, 105, 161,.08)}
.spoke-card:hover::before{background:linear-gradient(90deg,transparent 0%,var(--primary) 30%,var(--primary) 70%,transparent 100%)}
.spoke-card:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
[data-theme="light"] .spoke-card{background:#FFFFFF;border-color:var(--border)}
[data-theme="light"] .spoke-card:hover{border-color:rgba(3, 105, 161,.38)}
.spoke-idx{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;color:var(--text-muted);margin-bottom:.625rem;display:block}
.spoke-title{font-family:var(--font-display);font-size:.9375rem;font-weight:700;letter-spacing:-.012em;color:var(--text-primary);line-height:1.35;flex-grow:1;text-wrap:pretty}
.spoke-link{display:inline-flex;align-items:center;gap:5px;margin-top:.875rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;color:var(--primary);transition:gap .18s ease}
.spoke-card:hover .spoke-link{gap:9px}
.cta-sec{padding-block:var(--section-padding-y)}
.cta-box{text-align:center;background:var(--bg-surface);border:1px solid var(--panel-border);border-radius:var(--radius-2xl);padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,4rem);position:relative;overflow:hidden}
.cta-box::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:900px;height:300px;background:radial-gradient(ellipse,rgba(3, 105, 161,.16) 0%,transparent 65%);pointer-events:none}
[data-theme="light"] .cta-box{background:#0B0E16;border-color:rgba(255,255,255,.08);box-shadow:0 18px 44px rgba(0,0,0,.28),0 0 60px rgba(3, 105, 161,.12)}
.cta-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:#7DD3FC;background:rgba(3, 105, 161,.14);border:1px solid rgba(3, 105, 161,.30);padding:5px 14px;border-radius:var(--radius-sm);margin-bottom:1.5rem}
.cta-eyebrow::before{content:'';width:7px;height:7px;background:#0369A1;box-shadow:0 0 9px rgba(3, 105, 161,.90);flex:0 0 auto}
.cta-title{font-family:var(--font-display);font-size:clamp(1.875rem,4.5vw,3.25rem);font-weight:800;line-height:1.07;letter-spacing:-.025em;color:#FFFFFF;margin-bottom:1rem;position:relative;text-wrap:balance}
.cta-sub{font-size:clamp(.9rem,1.2vw,1.0625rem);color:rgba(255,255,255,.65);line-height:1.65;max-width:440px;margin-inline:auto;margin-bottom:2rem;position:relative}
.cta-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;position:relative}
.btn-cta-primary{display:inline-flex;align-items:center;gap:8px;background:#0369A1;color:#ffffff;padding:13px 28px;border-radius:var(--radius-md);font-weight:700;font-size:.9375rem;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.50),0 6px 16px rgba(3, 105, 161,.32);transition:background .18s ease,transform .18s ease}
.btn-cta-primary:hover{background:#0369A1;transform:translateY(-1px)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);color:#ffffff;padding:13px 28px;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;border:1.5px solid rgba(255,255,255,.22);text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.btn-ghost:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.40);transform:translateY(-1px)}
.byline-row{padding-block:clamp(2rem,4vw,3rem);border-top:1px solid var(--border)}
.byline{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1.25rem}
@media(max-width:960px){
  .pillar-body{grid-template-columns:1fr}
  .toc-col{display:none}
  .toc-mobile-wrap{display:block}
  .stat-pair{grid-template-columns:1fr}
  .systems-grid{grid-template-columns:repeat(2,1fr)}
  .spoke-grid{grid-template-columns:repeat(2,1fr)}
  .pillar-cta-grid{grid-template-columns:1fr}
}
@media(max-width:580px){
  .spoke-grid{grid-template-columns:1fr}
  .cta-acts{flex-direction:column;align-items:center}
  .cta-acts>*{width:100%;max-width:300px;justify-content:center}
}

/* ================================================================
   INDUSTRY GUIDE COMPONENTS  (Design D — manufacturing.iontek)
   ================================================================ */
.guide-hero{padding-top:clamp(100px,12vh,140px);padding-bottom:clamp(2rem,4vw,3rem)}
.guide-badges{display:flex;align-items:center;gap:.625rem;margin-bottom:1.125rem;flex-wrap:wrap}
.guide-type-badge{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);background:var(--panel);border:1px solid var(--panel-border);padding:4px 10px;border-radius:var(--radius-sm)}
.guide-seg-badge{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);background:rgba(3, 105, 161,.10);border:1px solid rgba(3, 105, 161,.25);padding:4px 12px;border-radius:var(--radius-sm)}
.guide-seg-badge::before{content:'';width:6px;height:6px;background:var(--primary);box-shadow:0 0 9px rgba(3, 105, 161,.85);flex:0 0 auto}
[data-theme="light"] .guide-seg-badge{background:rgba(3, 105, 161,.08);border-color:rgba(3, 105, 161,.22)}
[data-theme="light"] .guide-type-badge{background:#FFF;border-color:var(--border)}
.guide-h1{font-family:var(--font-display);font-size:clamp(1.875rem,4.5vw,3.25rem);font-weight:800;line-height:1.07;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:1.25rem;text-wrap:balance}
.guide-intro{font-size:clamp(1rem,1.5vw,1.0625rem);color:var(--text-secondary);line-height:1.78;max-width:720px;text-wrap:pretty}
/* Guide body = same 2-col grid as pillar */
.guide-body{display:grid;grid-template-columns:220px 1fr;gap:clamp(2rem,4vw,4rem);align-items:start;padding-bottom:var(--section-padding-y)}
/* ToC CTA buttons (below toc-nav) */
.toc-cta{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.toc-tool-btn{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;color:var(--primary);padding:7px 12px;border:1px solid rgba(3, 105, 161,.22);border-radius:var(--radius-sm);background:rgba(3, 105, 161,.06);transition:background .18s ease;display:flex;align-items:center;gap:5px;text-decoration:none}
.toc-tool-btn:hover{background:rgba(3, 105, 161,.12)}
.toc-demo-btn{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;background:var(--primary);color:var(--on-accent);padding:8px 12px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:5px;font-weight:700;transition:background .18s ease;text-decoration:none}
.toc-demo-btn:hover{background:var(--primary-hover)}
[data-theme="light"] .toc-demo-btn{color:#fff}
/* Prose section (guide variant = same as cluster .prose-sec) */
.prose-sec+.prose-sec,.prose-col .prose-sec:not(:first-child){padding-top:clamp(2rem,4vw,2.75rem);margin-top:clamp(2rem,4vw,2.75rem);border-top:1px solid var(--border)}
/* Reality list */
.reality-stat{display:inline-block;font-family:var(--font-mono);font-weight:700;color:var(--primary);background:rgba(3, 105, 161,.10);border:1px solid rgba(3, 105, 161,.22);padding:1px 8px;border-radius:var(--radius-sm);font-size:.875em;letter-spacing:-.01em}
[data-theme="light"] .reality-stat{background:rgba(3, 105, 161,.08);border-color:rgba(3, 105, 161,.20)}
.reality-list{display:flex;flex-direction:column;gap:.75rem;margin-block:1.375rem}
.reality-item{display:flex;gap:.875rem;align-items:flex-start;padding:.875rem 1rem;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg)}
[data-theme="light"] .reality-item{background:#FFF;border-color:var(--border)}
.reality-dot{width:6px;height:6px;background:var(--primary);box-shadow:0 0 7px rgba(3, 105, 161,.6);flex-shrink:0;margin-top:.44em}
.reality-text{font-size:.875rem;color:var(--text-secondary);line-height:1.60}
.reality-text strong{color:var(--text-primary);font-weight:600}
/* Metrics grid */
.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-block:1.5rem}
.metric-chip{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-xl);padding:.875rem 1rem;display:flex;flex-direction:column;gap:.25rem;transition:border-color .28s ease}
.metric-chip:hover{border-color:rgba(3, 105, 161,.28)}
[data-theme="light"] .metric-chip{background:#FFF;border-color:var(--border)}
.metric-name{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--primary);line-height:1.2}
.metric-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.45}
.metric-link{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:.25rem;display:inline-flex;align-items:center;gap:3px;transition:color .18s ease;text-decoration:none}
.metric-chip:hover .metric-link{color:var(--primary)}
/* AI use-case cards */
.ai-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-block:1.5rem}
.ai-card{position:relative;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-xl);padding:1.375rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 16px rgba(0,0,0,.18);transition:border-color .28s ease,transform .28s var(--ease-out),box-shadow .28s ease}
.ai-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(3, 105, 161,.18) 50%,transparent 100%);transition:background .28s ease}
.ai-card:hover{border-color:rgba(3, 105, 161,.28);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.28)}
.ai-card:hover::before{background:linear-gradient(90deg,transparent 0%,var(--primary) 30%,var(--primary) 70%,transparent 100%)}
[data-theme="light"] .ai-card{background:#FFF;border-color:var(--border)}
[data-theme="light"] .ai-card:hover{border-color:rgba(3, 105, 161,.35)}
.ai-stat{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--primary);letter-spacing:-.02em;line-height:1;margin-bottom:.5rem}
.ai-title{font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.012em;color:var(--text-primary);margin-bottom:.375rem;line-height:1.25}
.ai-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.60;flex-grow:1;text-wrap:pretty}
.ai-link{display:inline-flex;align-items:center;gap:5px;margin-top:.875rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;color:var(--primary);transition:gap .18s ease;text-decoration:none}
.ai-card:hover .ai-link{gap:9px}
/* Foundation callout */
.foundation-callout{background:rgba(3, 105, 161,.06);border:1px solid rgba(3, 105, 161,.20);border-left:3px solid var(--primary);border-radius:var(--radius-2xl);padding:1.625rem 1.875rem;margin-block:1.75rem}
[data-theme="light"] .foundation-callout{background:rgba(3, 105, 161,.06);border-color:rgba(3, 105, 161,.20);border-left-color:var(--primary)}
.foundation-callout .prose-h2{margin-bottom:.625rem}
.fc-links{display:flex;gap:.625rem;flex-wrap:wrap;margin-top:1rem}
.fc-link{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;color:var(--primary);padding:6px 12px;border:1px solid rgba(3, 105, 161,.25);border-radius:var(--radius-sm);background:rgba(3, 105, 161,.06);transition:background .18s ease,border-color .18s ease;text-decoration:none}
.fc-link:hover{background:rgba(3, 105, 161,.12);border-color:rgba(3, 105, 161,.45)}
/* Services list */
.services-list{border-top:1px solid var(--border);margin-block:1.25rem}
.services-item{display:grid;grid-template-columns:1.75rem 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border);align-items:center;color:inherit;text-decoration:none;transition:color .18s ease}
.services-item:hover{color:var(--primary)}
.services-item:hover .svc-arrow{transform:translateX(3px)}
.svc-num{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;color:var(--text-muted)}
.svc-body{display:flex;flex-direction:column;gap:.2rem}
.svc-name{font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.012em;color:var(--text-primary);line-height:1.25;transition:color .18s ease}
.services-item:hover .svc-name{color:var(--primary)}
.svc-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.45}
.svc-arrow{color:var(--primary);flex-shrink:0;transition:transform .18s ease}
/* CTA band (industry guide variant with tools row) */
.cta-band{padding-block:var(--section-padding-y)}
.cta-inner{text-align:center;padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,4rem);position:relative;z-index:1}
.cta-tools{display:flex;justify-content:center;gap:.75rem;margin-bottom:1.75rem;flex-wrap:wrap}
.cta-tool{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-md);padding:10px 18px;font-size:.875rem;color:rgba(255,255,255,.80);transition:background .18s ease,border-color .18s ease,color .18s ease;text-decoration:none}
.cta-tool:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff}
.cta-tool span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
/* Guide footer: explore + sources */
.guide-footer-row{display:flex;flex-direction:column;gap:1.5rem;padding-block:1.75rem;border-top:1px solid var(--border);margin-bottom:var(--section-padding-y)}
.explore-label,.sources-head-sm{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}
.explore-links{display:flex;gap:.5rem;flex-wrap:wrap}
.explore-link{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--text-muted);padding:5px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);transition:color .18s ease,border-color .18s ease;text-decoration:none}
.explore-link:hover{color:var(--primary);border-color:rgba(3, 105, 161,.28)}
/* Responsive */
@media(max-width:960px){.guide-body{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(3,1fr)}.ai-grid{grid-template-columns:1fr}}
@media(max-width:580px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.cta-tools{flex-direction:column;align-items:center}}

/* ================================================================
   GLOSSARY COMPONENTS  (Design E — manufacturing.iontek)
   ================================================================ */
.glossary-hero{padding-top:clamp(100px,12vh,140px);padding-bottom:clamp(2rem,4vw,3rem)}
.glossary-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--primary);background:rgba(3, 105, 161,.08);border:1px solid rgba(3, 105, 161,.22);padding:5px 12px;border-radius:var(--radius-sm);margin-bottom:.875rem}
.glossary-eyebrow::before{content:'';width:7px;height:7px;background:var(--primary);box-shadow:0 0 9px rgba(3, 105, 161,.85);flex:0 0 auto}
[data-theme="light"] .glossary-eyebrow{background:rgba(3, 105, 161,.08);border-color:rgba(3, 105, 161,.22)}
.glossary-h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.07;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:.875rem;text-wrap:balance}
.glossary-sub{font-size:clamp(.9375rem,1.4vw,1.0625rem);color:var(--text-secondary);line-height:1.70;max-width:620px;margin-bottom:1.25rem;text-wrap:pretty}
.glossary-scorecard-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--primary);border:1px solid rgba(3, 105, 161,.25);background:rgba(3, 105, 161,.06);padding:7px 14px;border-radius:var(--radius-sm);transition:background .18s ease,border-color .18s ease;text-decoration:none}
.glossary-scorecard-link:hover{background:rgba(3, 105, 161,.12);border-color:rgba(3, 105, 161,.45)}
/* A-Z bar */
.az-bar{position:sticky;top:80px;z-index:500;border-bottom:1px solid var(--border);background:rgba(10,11,15,.88);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%)}
[data-theme="light"] .az-bar{background:rgba(244,246,249,.88)}
.az-inner{display:flex;align-items:center;gap:1.25rem;padding:.625rem var(--container-padding);max-width:var(--container-max);margin-inline:auto}
.az-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}
.az-letters{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1}
.az-letters::-webkit-scrollbar{display:none}
.az-letter{font-family:var(--font-mono);font-size:.68rem;font-weight:700;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted);flex-shrink:0;transition:color .18s ease,background .18s ease;text-decoration:none}
.az-letter.has-terms{color:var(--text-secondary);cursor:pointer}
.az-letter.has-terms:hover{background:rgba(3, 105, 161,.10);color:var(--primary)}
.az-letter.is-current{background:var(--primary);color:var(--on-accent)!important}
[data-theme="light"] .az-letter.is-current{color:#fff!important}
.az-letter:not(.has-terms){opacity:.22;pointer-events:none}
/* Glossary body */
.glossary-body{padding-block:clamp(2.5rem,5vw,4rem) clamp(3rem,6vw,5rem)}
.letter-group{margin-bottom:0}
.letter-marker{font-family:var(--font-mono);font-size:.65rem;font-weight:700;letter-spacing:.20em;color:var(--primary);padding:.625rem 0;border-top:1px solid rgba(3, 105, 161,.22);margin-bottom:0;scroll-margin-top:144px;opacity:.85}
/* Entry 2-col grid */
.ge{display:grid;grid-template-columns:240px 1fr;border-bottom:1px solid var(--border);transition:background .18s ease}
.ge:last-child{border-bottom:none}
.ge:hover{background:rgba(3, 105, 161,.03)}
[data-theme="light"] .ge:hover{background:rgba(3, 105, 161,.03)}
.ge-term{padding:1.625rem 1.5rem 1.625rem 0;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:flex-start}
.ge-name{font-family:var(--font-display);font-size:1.375rem;font-weight:700;letter-spacing:-.018em;color:var(--text-primary);line-height:1.18;margin-bottom:.25rem}
.ge-exp{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);line-height:1.4}
.ge-body{padding:1.625rem 0 1.625rem 1.75rem}
.ge-def{font-size:.9375rem;color:var(--text-secondary);line-height:1.75;text-wrap:pretty}
.ge-def strong{color:var(--text-primary);font-weight:600}
.ge-def a{color:var(--primary);text-decoration:underline;text-decoration-color:rgba(3, 105, 161,.28);text-underline-offset:2px;transition:text-decoration-color .18s ease}
.ge-def a:hover{text-decoration-color:var(--primary)}
.ge-also{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;margin-top:.875rem}
.ge-also-lbl{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;padding-right:.25rem}
.ge-also-link{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.04em;color:var(--primary);padding:3px 9px;border:1px solid rgba(3, 105, 161,.22);border-radius:var(--radius-sm);background:rgba(3, 105, 161,.06);transition:background .18s ease,border-color .18s ease;white-space:nowrap;text-decoration:none}
.ge-also-link:hover{background:rgba(3, 105, 161,.14);border-color:rgba(3, 105, 161,.45)}
[data-theme="light"] .ge-also-link{background:rgba(3, 105, 161,.06);border-color:rgba(3, 105, 161,.20)}
[data-theme="light"] .ge-also-link:hover{background:rgba(3, 105, 161,.12);border-color:rgba(3, 105, 161,.40)}
/* Bottom CTA */
.glossary-cta{border-top:1px solid var(--border);padding-block:clamp(2.5rem,5vw,4rem);text-align:center}
.gcta-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.875rem}
.gcta-title{font-family:var(--font-display);font-size:clamp(1.375rem,2.5vw,2rem);font-weight:700;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:.625rem;text-wrap:balance}
.gcta-sub{font-size:.9375rem;color:var(--text-secondary);line-height:1.65;max-width:480px;margin-inline:auto;margin-bottom:1.75rem;text-wrap:pretty}
.gcta-acts{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem}
.btn-gloss-secondary{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--panel-border);color:var(--text-secondary);padding:13px 24px;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;transition:color .18s ease,border-color .18s ease,background .18s ease;text-decoration:none}
.btn-gloss-secondary:hover{color:var(--primary);border-color:rgba(3, 105, 161,.28);background:rgba(3, 105, 161,.05)}
[data-theme="light"] .btn-gloss-secondary{background:#FFF;border-color:var(--border)}
/* Responsive */
@media(max-width:900px){.ge{grid-template-columns:1fr}.ge-term{border-right:none;border-bottom:1px solid var(--border);padding:1.25rem 0 .875rem}.ge-body{padding:1rem 0 1.25rem}}
@media(max-width:580px){.gcta-acts{flex-direction:column;align-items:center}.gcta-acts>*{width:100%;max-width:300px;justify-content:center}}

/* ================================================================
   ACADEMY HUB & INDUSTRIES HUB  (Design A — manufacturing.iontek)
   ================================================================ */

/* ── Hub hero ───────────────────────────────────────────────────── */
.hub-hero { padding-top: clamp(110px,14vh,155px); padding-bottom: clamp(2.5rem,5vw,4rem); }
.hub-inner { max-width: 660px; }
.hub-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--font-mono); font-size: .72rem; font-weight: 400;
  letter-spacing: .13em; text-transform: uppercase;
  color: var(--primary); background: rgba(3, 105, 161,.08);
  border: 1px solid rgba(3, 105, 161,.22);
  padding: 6px 14px; border-radius: var(--radius-sm); margin-bottom: 1.25rem;
}
.hub-eyebrow::before { content: ''; width: 7px; height: 7px; background: var(--primary); box-shadow: 0 0 9px rgba(3, 105, 161,.85); flex: 0 0 auto; }
[data-theme="light"] .hub-eyebrow { background: rgba(3, 105, 161,.08); border-color: rgba(3, 105, 161,.22); }
.hub-title {
  font-family: var(--font-display);
  font-size: clamp(2.125rem,5.5vw,3.875rem); font-weight: 800;
  line-height: 1.07; letter-spacing: -.025em;
  color: var(--text-primary); margin-bottom: 1.25rem; text-wrap: balance;
}
.hub-sub { font-size: clamp(.9375rem,1.5vw,1.0625rem); color: var(--text-secondary); line-height: 1.70; max-width: 560px; text-wrap: pretty; }

/* ── Hub section header ─────────────────────────────────────────── */
.sec-hdr { margin-bottom: clamp(2.5rem,5vw,3.5rem); }
.sec-title { font-family: var(--font-display); font-size: clamp(1.625rem,3.2vw,2.5rem); font-weight: 700; line-height: 1.10; letter-spacing: -.025em; color: var(--text-primary); margin-bottom: .75rem; text-wrap: balance; }
.sec-sub { font-size: clamp(.9rem,1.2vw,1rem); color: var(--text-secondary); line-height: 1.70; max-width: 520px; text-wrap: pretty; }

/* ── Pillar cards (hub 3-col grid) ──────────────────────────────── */
.pillars-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.pillar-card {
  position: relative; display: flex; flex-direction: column;
  background: var(--panel); border: 1px solid var(--panel-border); border-radius: var(--radius-xl);
  padding: 1.625rem; overflow: hidden;
  transition: transform .28s var(--ease-out), border-color .28s ease, box-shadow .28s ease;
  box-shadow: var(--elev-2); color: inherit; text-decoration: none;
}
.pillar-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1.5px;
  background: linear-gradient(90deg, transparent 0%, rgba(3, 105, 161,.18) 50%, transparent 100%);
  transition: background .28s ease; pointer-events: none;
}
[data-theme="light"] .pillar-card { background: #FFFFFF; border-color: var(--border); box-shadow: var(--elev-2); }
.pillar-card:hover { transform: translateY(-4px); border-color: rgba(3, 105, 161,.30); box-shadow: var(--elev-3), 0 0 0 1px rgba(3, 105, 161,.08); }
[data-theme="light"] .pillar-card:hover { border-color: rgba(3, 105, 161,.38); box-shadow: var(--elev-3), 0 0 0 1px rgba(3, 105, 161,.08); }
.pillar-card:hover::before { background: linear-gradient(90deg, transparent 0%, var(--primary) 30%, var(--primary) 70%, transparent 100%); }
.pillar-card:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
.p-num { font-family: var(--font-mono); font-size: .65rem; letter-spacing: .16em; color: var(--primary); margin-bottom: 1.125rem; display: flex; align-items: center; gap: .375rem; }
.p-num::before { content: ''; width: 5px; height: 5px; background: var(--primary); box-shadow: 0 0 7px rgba(3, 105, 161,.75); flex: 0 0 auto; }
.p-title { font-family: var(--font-display); font-size: 1.1875rem; font-weight: 700; line-height: 1.25; letter-spacing: -.015em; color: var(--text-primary); margin-bottom: .625rem; }
.p-desc { font-size: .875rem; color: var(--text-secondary); line-height: 1.65; flex-grow: 1; text-wrap: pretty; }
.p-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 1.125rem; font-family: var(--font-mono); font-size: .68rem; letter-spacing: .06em; color: var(--primary); transition: gap .18s ease; }
.pillar-card:hover .p-link { gap: 10px; }

/* ── Stagger animation ──────────────────────────────────────────── */
.stagger > .reveal { opacity: 0; transform: translateY(20px); }
.stagger.in > .reveal { opacity: 1; transform: none; }
.stagger.in > .reveal:nth-child(1) { transition-delay: .00s; }
.stagger.in > .reveal:nth-child(2) { transition-delay: .07s; }
.stagger.in > .reveal:nth-child(3) { transition-delay: .14s; }
.stagger.in > .reveal:nth-child(4) { transition-delay: .21s; }
.stagger.in > .reveal:nth-child(5) { transition-delay: .28s; }
.stagger.in > .reveal:nth-child(6) { transition-delay: .35s; }
.stagger.in > .reveal:nth-child(7) { transition-delay: .42s; }
.stagger.in > .reveal:nth-child(8) { transition-delay: .49s; }

/* ── Quick links row ────────────────────────────────────────────── */
.quick-sec { padding-block: clamp(2rem,4vw,3rem); }
.quick-inner { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding-block: 1.75rem; }
.quick-eyebrow { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--text-muted); margin-bottom: .875rem; display: flex; align-items: center; gap: .5rem; }
.quick-eyebrow::before { content: ''; width: 20px; height: 1px; background: var(--border-strong); }
.quick-row { display: flex; gap: .625rem; flex-wrap: wrap; }
.quick-chip {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: 9px 16px; background: var(--panel); border: 1px solid var(--panel-border);
  border-radius: var(--radius-sm); font-family: var(--font-mono);
  font-size: .68rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-secondary); text-decoration: none;
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}
.quick-chip:hover { color: var(--primary); border-color: rgba(3, 105, 161,.30); background: rgba(3, 105, 161,.05); }
.quick-chip:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
[data-theme="light"] .quick-chip { background: #FFFFFF; border-color: var(--border); box-shadow: var(--elev-1); }
[data-theme="light"] .quick-chip:hover { color: var(--primary); border-color: rgba(3, 105, 161,.32); background: var(--bg-tint); }
.quick-chip svg { opacity: .6; transition: transform .18s ease, opacity .18s ease; flex-shrink: 0; }
.quick-chip:hover svg { transform: translateX(2px); opacity: 1; }

/* ── Hub responsive ─────────────────────────────────────────────── */
@media(max-width:960px){ .pillars-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:580px){
  .pillars-grid { grid-template-columns: 1fr; }
  .quick-row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
  .quick-row::-webkit-scrollbar { display: none; }
}
