/* css/industry.css: CHK-91 industry page families (/industries/).
   Shared by src/industries/_industry.html, _hubspot-industry.html and the
   /industries/ hub. Section styles are the private-equity page's
   (src/services/private-equity-revops.html inline block) with the pe- prefix
   renamed ind-; the nav critical CSS stays inline in each template.
   Bump ?v=N in the templates when this file changes. */

.service-hero {
  padding-top: calc(var(--nav-height) + var(--space-4xl));
  padding-bottom: var(--space-4xl);
  text-align: center;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
/* Shader background (js/industry-hero.js). The preset paints tinted lines on
   a transparent canvas, so it blends normally in both themes. */
.service-hero__canvas-wrap {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}
.service-hero__canvas-wrap canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: 0.55;
}
[data-theme="dark"] .service-hero__canvas-wrap canvas {
  opacity: 0.5;
}
[data-theme="ai"] .service-hero__canvas-wrap { display: none; }
.service-hero__canvas-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, transparent 55%, var(--bg-primary) 100%);
}
.service-hero > .container { position: relative; z-index: 1; }
.service-hero__overline {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
  margin-bottom: var(--space-md);
}
.service-hero__title {
  font-size: clamp(2rem, 4vw, 2.75rem);
  max-width: 760px;
  margin-inline: auto;
  margin-bottom: var(--space-lg);
}
.service-hero__subtitle {
  font-size: 1.1875rem;
  line-height: 1.6;
  color: var(--text-secondary);
  max-width: 660px;
  margin-inline: auto;
  margin-bottom: var(--space-xl);
}
.service-hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  flex-wrap: wrap;
}


/* ========== Hero facts (as gtm-kickstarter) ========== */
.ind-facts {
  display: flex;
  justify-content: center;
  gap: var(--space-md);
  flex-wrap: wrap;
  margin: 0 auto var(--space-xl);
  padding: 0;
  list-style: none;
}
.ind-fact {
  min-width: 150px;
  padding: var(--space-md) var(--space-lg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
}
.ind-fact__value {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--accent);
  line-height: 1.2;
}
.ind-fact__label { display: block; font-size: 0.8125rem; color: var(--text-secondary); }

/* ========== What it is + fit ========== */
.ind-what {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: var(--space-3xl);
  align-items: start;
}
.ind-what h2 { margin-bottom: var(--space-lg); }
.ind-what__body p { font-size: 1.0625rem; line-height: 1.7; color: var(--text-secondary); margin-bottom: var(--space-md); }
.ind-what__body p:first-of-type { color: var(--text-primary); }
.ind-what__body ul { list-style: none; padding: 0; margin: 0 0 var(--space-md); display: flex; flex-direction: column; gap: var(--space-sm); }
.ind-what__body li { display: flex; gap: 0.625rem; font-size: 1rem; line-height: 1.6; color: var(--text-secondary); }
.ind-what__body li svg { flex-shrink: 0; width: 18px; height: 18px; margin-top: 4px; color: var(--accent); }
.ind-what__body strong { color: var(--text-primary); font-weight: 600; }
.ind-fit {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  padding: var(--space-xl);
}
.ind-fit h3 { font-size: 1rem; margin-bottom: var(--space-sm); }
.ind-fit h3 + ul { margin-bottom: var(--space-lg); }
.ind-fit ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-sm); }
.ind-fit li { display: flex; gap: 0.625rem; font-size: 0.9375rem; line-height: 1.55; color: var(--text-primary); }
.ind-fit li svg { flex-shrink: 0; width: 18px; height: 18px; margin-top: 3px; color: var(--accent); }
.ind-fit li.is-no svg { color: var(--text-muted); }
.ind-fit li.is-no { color: var(--text-secondary); }
.ind-fit a { color: var(--accent); }

/* ========== Deal-cycle rail ========== */
.ind-intro { max-width: 660px; margin: var(--space-md) auto 0; color: var(--text-secondary); }
.ind-rail {
  list-style: none;
  padding: 0;
  margin: var(--space-2xl) 0 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
  position: relative;
}
.ind-rail::before {
  content: '';
  position: absolute;
  top: 21px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 25%, var(--border)));
}
.ind-stage { position: relative; text-align: center; }
.ind-stage__dot {
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
  margin: 0 auto var(--space-md);
  border-radius: 50%;
  border: 2px solid var(--accent);
  background: var(--bg-primary);
  color: var(--accent);
  font-weight: 600;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ind-stage__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
  margin-bottom: var(--space-xs);
}
.ind-stage h3 { font-size: 1.0625rem; margin-bottom: var(--space-xs); }
.ind-stage p { font-size: 0.875rem; line-height: 1.6; color: var(--text-secondary); }

/* ========== Lever + engagement cards (subgrid rows) ========== */
.ind-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-xl);
}
.ind-card {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  row-gap: 0;
  align-content: start;
  border: 1px solid var(--border);
  border-top: 3px solid var(--accent);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  padding: var(--space-lg);
}
.ind-card__num {
  display: block;
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 300;
  color: var(--accent);
  line-height: 1;
  margin-bottom: var(--space-md);
}
.ind-card h3 { font-size: 1.0625rem; margin-bottom: var(--space-xs); }
.ind-card p { font-size: 0.875rem; line-height: 1.6; color: var(--text-secondary); }
.ind-card__terms {
  margin-top: var(--space-md);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--border);
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--text-muted);
}

/* ========== 100-day plan ========== */
.ind-weeks {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-xl);
}
.ind-week {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  row-gap: 0;
  align-content: start;
  padding: var(--space-lg);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  border: 1px solid var(--border);
}
.ind-week__label {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
  margin-bottom: var(--space-sm);
}
.ind-week h3 { font-size: 1.0625rem; margin-bottom: var(--space-xs); }
.ind-week p { font-size: 0.875rem; line-height: 1.6; color: var(--text-secondary); }
.ind-week--first { border-color: var(--accent); }

/* ========== Buy-and-build proof panel ========== */
.ind-proof {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
.ind-proof h3 { font-size: 1rem; }
.ind-proof__stat { padding-bottom: var(--space-lg); border-bottom: 1px solid var(--border); }
.ind-proof__stat:last-of-type { padding-bottom: 0; border-bottom: 0; }
.ind-proof__value {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.1;
  color: var(--accent);
  margin-bottom: 0.25rem;
}
.ind-proof__label { display: block; font-size: 0.9375rem; line-height: 1.55; color: var(--text-secondary); }
.ind-proof a { color: var(--accent); font-size: 0.875rem; font-weight: 500; }

/* ========== KPI checklist (as gtm-kickstarter) ========== */
.ind-checklist {
  list-style: none;
  padding: 0;
  margin: var(--space-xl) auto 0;
  max-width: 960px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md) var(--space-xl);
  counter-reset: check;
}
.ind-checklist li {
  counter-increment: check;
  display: flex;
  gap: var(--space-md);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--text-secondary);
  padding: var(--space-sm) var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--border);
  border-radius: 8px 8px 0 0;
}
.ind-checklist li::before {
  content: counter(check);
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1.5px solid var(--accent);
  color: var(--accent);
  font-size: 0.8125rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ind-checklist strong { color: var(--text-primary); font-weight: 600; }

/* ========== Compare table (as gtm-strategy) ========== */
.compare-table-wrap { overflow-x: auto; margin-top: var(--space-xl); }
.compare-table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 0.9375rem; }
.compare-table th, .compare-table td { padding: var(--space-md); text-align: left; border-bottom: 1px solid var(--border); vertical-align: top; }
.compare-table thead th { font-family: var(--font-display); font-weight: 600; color: var(--text-primary); }
.compare-table tbody th { font-weight: 500; color: var(--text-secondary); white-space: nowrap; }
.compare-table .col-checkpoint { background: var(--bg-secondary); color: var(--text-primary); font-weight: 500; }
.compare-table thead .col-checkpoint { color: var(--accent); }

/* ========== Team + engagements ========== */
.ind-team {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
  margin-top: var(--space-xl);
}
.ind-coach { display: flex; gap: var(--space-md); align-items: flex-start; color: inherit; }
.ind-coach img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.ind-coach h3 { font-size: 1.0625rem; margin-bottom: 0.25rem; }
.ind-coach p { font-size: 0.875rem; line-height: 1.55; color: var(--text-secondary); }
.ind-engagements {
  max-width: 960px;
  margin: var(--space-3xl) auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md) var(--space-xl);
  list-style: none;
  padding: 0;
}
.ind-engagements li {
  padding-left: var(--space-lg);
  border-left: 3px solid var(--accent);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--text-secondary);
}
.ind-engagements strong { display: block; color: var(--text-primary); font-weight: 600; margin-bottom: 0.125rem; }
.ind-cases {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-lg);
  margin-top: var(--space-xl);
  font-size: 0.9375rem;
}
.ind-cases span { color: var(--text-secondary); }
.ind-cases a { color: var(--accent); font-weight: 500; }

/* ========== FAQ (as gtm-strategy) ========== */
.faq-list { max-width: 760px; margin: var(--space-xl) auto 0; display: flex; flex-direction: column; gap: var(--space-lg); }
.faq-item h3 { font-size: 1.0625rem; margin-bottom: var(--space-xs); color: var(--text-primary); }
.faq-item p { font-size: 0.9375rem; line-height: 1.65; color: var(--text-secondary); }
.faq-item a { color: var(--accent); }

/* ========== Booking ========== */
.ind-book {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: var(--space-3xl);
  align-items: start;
}
.ind-book h2 { margin-bottom: var(--space-md); }
.ind-book__body { font-size: 1.0625rem; line-height: 1.65; color: var(--text-secondary); margin-bottom: var(--space-xl); }
.ind-steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-md); counter-reset: step; }
.ind-steps li { counter-increment: step; display: flex; align-items: center; gap: var(--space-md); font-size: 0.9375rem; color: var(--text-primary); }
.ind-steps li::before {
  content: counter(step);
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--accent);
  color: var(--bg-primary);
  font-weight: 600;
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ind-book__widget {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  padding: var(--space-lg);
}
.ind-book__widget h3 { font-size: 1.125rem; margin-bottom: 0.25rem; }
.ind-book__widget > p { font-size: 0.875rem; color: var(--text-secondary); margin-bottom: var(--space-md); }
.ind-book__widget .meetings-iframe-container { width: 100%; }
.ind-book__widget .meetings-iframe-container iframe { width: 100%; min-height: 680px; border: 0; }

/* ========== Hover states (as gtm-kickstarter) ==========
   Lifts use `translate`, not `transform`, so they never fight the
   .reveal entrance (which owns transform). */
.ind-fact, .ind-card, .ind-week, .ind-coach img, .ind-steps li::before, .ind-stage__dot,
.ind-checklist li, .ind-checklist li::before, .faq-item, .compare-table tbody tr > * {
  transition: translate .25s ease, border-color .25s ease, box-shadow .25s ease,
              background-color .25s ease, color .25s ease, scale .25s ease;
}
main .reveal-stagger > .ind-hover.reveal {
  transition-property: opacity, transform, translate, border-color, box-shadow, background-color;
  transition-duration: .6s, .6s, .25s, .25s, .25s, .25s;
  transition-timing-function: ease;
  transition-delay: var(--stagger, 0ms), var(--stagger, 0ms), 0s, 0s, 0s, 0s;
}
.reveal-stagger > :nth-child(2) { --stagger: 80ms; }
.reveal-stagger > :nth-child(3) { --stagger: 160ms; }
.reveal-stagger > :nth-child(4) { --stagger: 240ms; }
.reveal-stagger > :nth-child(5) { --stagger: 320ms; }
.reveal-stagger > :nth-child(6) { --stagger: 400ms; }
.ind-card h3, .ind-week h3, .ind-coach h3, .ind-stage h3, .faq-item h3, .card__title,
.ind-checklist strong { transition: color .25s ease; }
.faq-item { padding-left: var(--space-md); border-left: 2px solid transparent; }

@media (hover: hover) {
  .ind-fact:hover { translate: 0 -3px; border-color: var(--accent); box-shadow: var(--shadow-md); }
  .ind-card:hover, .ind-week:hover, .ind-reading .card:hover {
    translate: 0 -4px;
    border-color: rgba(45,106,79,0.35);
    box-shadow: 0 18px 40px -18px rgba(26,26,26,0.18), 0 4px 14px -8px rgba(26,26,26,0.08);
  }
  .ind-card:hover h3, .ind-week:hover h3, .ind-reading .card:hover .card__title { color: var(--accent); }
  .ind-stage:hover .ind-stage__dot { background-color: var(--accent); color: var(--bg-primary); scale: 1.08; }
  .ind-stage:hover h3 { color: var(--accent); }
  .ind-checklist li:hover { background-color: color-mix(in srgb, var(--accent) 6%, transparent); }
  .ind-checklist li:hover::before { background-color: var(--accent); color: var(--bg-primary); scale: 1.08; }
  .ind-checklist li:hover strong { color: var(--accent); }
  .compare-table tbody tr:hover > * { background-color: color-mix(in srgb, var(--accent) 6%, transparent); }
  .compare-table tbody tr:hover > .col-checkpoint { background-color: color-mix(in srgb, var(--accent) 14%, var(--bg-secondary)); }
  .compare-table tbody tr:hover > th { color: var(--accent); }
  .ind-coach:hover img { scale: 1.06; box-shadow: 0 0 0 3px var(--bg-primary), 0 0 0 5px var(--accent); }
  .ind-coach:hover h3 { color: var(--accent); }
  .faq-item:hover { border-left-color: var(--accent); }
  .faq-item:hover h3 { color: var(--accent); }
  .ind-steps li:hover::before { scale: 1.12; box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent); }
}
[data-theme="dark"] .ind-card:hover, [data-theme="dark"] .ind-week:hover,
[data-theme="dark"] .ind-reading .card:hover { border-color: rgba(116,198,157,0.4); }
@media (prefers-reduced-motion: reduce) {
  .ind-fact:hover, .ind-card:hover, .ind-week:hover, .ind-reading .card:hover { translate: none; }
  .ind-coach:hover img, .ind-checklist li:hover::before, .ind-steps li:hover::before, .ind-stage:hover .ind-stage__dot { scale: none; }
}

@media (max-width: 1024px) {
  .ind-cards { grid-template-columns: repeat(2, 1fr); }
  .ind-weeks { grid-template-columns: repeat(2, 1fr); }
  .ind-team { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
}
@media (max-width: 768px) {
  .ind-what, .ind-book { grid-template-columns: 1fr; gap: var(--space-xl); }
  .ind-cards, .ind-weeks, .ind-checklist, .ind-engagements { grid-template-columns: 1fr; }
  .ind-rail { grid-template-columns: 1fr; gap: var(--space-xl); }
  .ind-rail::before { display: none; }
  .ind-stage { text-align: left; padding-left: calc(44px + var(--space-md)); }
  .ind-stage:not(:last-child)::before { content: ''; position: absolute; left: 21px; top: 44px; bottom: calc(-1 * var(--space-xl)); width: 2px; background: color-mix(in srgb, var(--accent) 45%, var(--border)); }
  .ind-stage__dot { position: absolute; left: 0; top: 0; margin: 0; }
  .ind-fact { min-width: 0; flex: 1 1 100px; padding: var(--space-sm) var(--space-md); }
  .ind-fact__value { font-size: 1.25rem; }
  .ind-book__widget .meetings-iframe-container iframe { min-height: 1040px; }
}
@media (max-width: 480px) {
  .ind-facts { flex-direction: column; gap: var(--space-sm); max-width: 320px; }
  .ind-fact { flex: none; display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-md); text-align: left; }
  .ind-fact__value { white-space: nowrap; }
  .ind-fact__label { text-align: right; }
}


/* ========== Pains and plays (problem -> what we build) ========== */
.ind-pains {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-xl);
}
.ind-pain {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  row-gap: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  padding: var(--space-lg);
}
.ind-pain h3 { font-size: 1.0625rem; margin-bottom: var(--space-sm); }
.ind-pain__part { font-size: 0.9375rem; line-height: 1.6; color: var(--text-secondary); }
.ind-pain__part + .ind-pain__part {
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid var(--border);
  color: var(--text-primary);
}
.ind-pain__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 0.25rem;
}
.ind-pain__part + .ind-pain__part .ind-pain__label { color: var(--accent); }

/* ========== Item grid (stack, objects, integrations, compliance, Breeze) ========== */
.ind-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md) var(--space-xl);
  margin-top: var(--space-xl);
  list-style: none;
  padding: 0;
}
.ind-items--2 { grid-template-columns: repeat(2, 1fr); max-width: 960px; margin-inline: auto; }
.ind-items li {
  padding-left: var(--space-lg);
  border-left: 3px solid var(--accent);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--text-secondary);
}
.ind-items strong { display: block; color: var(--text-primary); font-weight: 600; margin-bottom: 0.125rem; }
.ind-items code { font-size: 0.875em; }

/* ========== Twin page callout ========== */
.ind-twin {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-xl);
  align-items: center;
  max-width: 960px;
  margin: 0 auto;
  padding: var(--space-xl);
  border: 1px solid var(--border);
  border-left: 4px solid var(--ind-family, var(--accent));
  border-radius: var(--radius-lg);
  background: var(--bg-card);
}
.ind-twin .overline { display: block; margin-bottom: var(--space-sm); }
.ind-twin h2 { font-size: 1.375rem; margin-bottom: var(--space-xs); }
.ind-twin p { color: var(--text-secondary); line-height: 1.6; }
.ind-twin__links { display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-sm); }
.ind-twin__hub { font-size: 0.875rem; color: var(--accent); font-weight: 500; }

/* HubSpot family: warm accent marks the twin as related, not identical. */
.ind-page--hubspot { --ind-family: var(--accent-warm); }
/* Warm accent alone is ~2.2:1 on the light background; mixing toward the
   text colour keeps it warm and readable in both themes. */
.ind-page--hubspot .service-hero__overline { color: color-mix(in srgb, var(--accent-warm) 55%, var(--text-primary)); }
.ind-page--hubspot .ind-card { border-top-color: var(--ind-family); }
.ind-page--revops .ind-twin { --ind-family: var(--accent-warm); }
.ind-page--hubspot .ind-twin { --ind-family: var(--accent); }

/* ========== /industries/ hub ========== */
.industry-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: var(--space-lg);
  max-width: 1040px;
  margin: 0 auto;
}
.industry-grid > :only-child { max-width: 640px; margin-inline: auto; width: 100%; }
.industry-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.industry-card__name { font-size: 1.5rem; }
.industry-card__summary { color: var(--text-secondary); line-height: 1.6; }
.industry-card__links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-sm); }
.industry-card__link {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: var(--space-md);
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius-md, 8px);
  color: var(--text-primary);
  transition: border-color .25s ease, background-color .25s ease;
}
.industry-card__link--hubspot { border-left-color: var(--accent-warm); }
.industry-card__kind { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }
.industry-card__title { font-weight: 600; line-height: 1.4; }
.industry-related {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  max-width: 1040px;
  margin: var(--space-xl) auto 0;
}
.industry-related a { display: block; }
.industry-related .card__description { margin-bottom: var(--space-md); }
@media (hover: hover) {
  .industry-card__link:hover { border-color: var(--accent); background-color: color-mix(in srgb, var(--accent) 6%, transparent); }
  .industry-card__link--hubspot:hover { border-color: var(--accent-warm); background-color: color-mix(in srgb, var(--accent-warm) 8%, transparent); }
  .industry-card__link:hover .industry-card__title { color: var(--accent); }
}

@media (max-width: 1024px) {
  .ind-items { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .ind-pains, .ind-items, .ind-items--2, .industry-related { grid-template-columns: 1fr; }
  .ind-twin { grid-template-columns: 1fr; padding: var(--space-lg); }
  .ind-twin__links { align-items: flex-start; }
  .ind-twin .btn { white-space: normal; text-align: center; }
}
