/* ============================================================
   site-v40.css — Industries section: compact, 8-up, no hover (v1.9.4)
   Loaded last. Overrides the spacious .ind-card layout with a
   tight informational grid. Removes all hover/click affordances.
   ============================================================ */

/* ── Section: cut vertical height ~45% ─────────────────── */
.industries-section { padding-top: 56px !important; padding-bottom: 56px !important; }
.industries-section > .container > div:first-child { margin: 0 auto 32px !important; }
.industries-section h2 { margin: 14px 0 0 !important; }

/* ── Grid: 8 columns on desktop, tight gap ─────────────── */
.industries-grid {
  display: grid !important;
  grid-template-columns: repeat(8, 1fr) !important;
  gap: 10px !important;
}

/* ── Card: compact, content hugs the top ───────────────── */
.industries-section .ind-card {
  min-height: 0 !important;
  padding: 16px 14px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  cursor: default !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important;
}

/* Background number: smaller, tucked into the corner */
.industries-section .ind-card .bignum {
  top: 2px !important;
  right: 6px !important;
  font-size: 38px !important;
  line-height: 1 !important;
  transform: none !important;
}

/* Title: clear, compact, just below nothing */
.industries-section .ind-card h4 {
  font-size: 14px !important;
  line-height: 1.25 !important;
  margin: 0 0 2px !important;
}

/* Stat + rule: pulled right up under the title */
.industries-section .ind-card > div { margin-top: 2px !important; }
.industries-section .ind-card .ind-stat {
  font-size: 9px !important;
  letter-spacing: 0.12em !important;
  line-height: 1.3 !important;
}
.industries-section .ind-card .rule { margin-top: 8px !important; width: 24px !important; }

/* ── Remove ALL hover / click affordances ──────────────── */
.industries-section .ind-card,
.industries-section .ind-card * { transition: none !important; }
.industries-section .ind-card:hover {
  background: var(--c-paper) !important;
  color: var(--c-ink) !important;
  border-color: rgba(20,33,61,0.10) !important;
  transform: none !important;
  box-shadow: var(--shadow-sm) !important;
}
.industries-section .ind-card:hover h4 { color: var(--c-ink) !important; }
.industries-section .ind-card:hover .bignum { color: rgba(79,142,220,0.15) !important; transform: none !important; }
.industries-section .ind-card:hover .ind-stat { color: var(--c-blue) !important; }
.industries-section .ind-card:hover .rule { background: var(--c-gold) !important; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 1100px) {
  .industries-grid { grid-template-columns: repeat(4, 1fr) !important; }
}
@media (max-width: 760px) {
  .industries-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .industries-section { padding-top: 44px !important; padding-bottom: 44px !important; }
  .industries-section .ind-card .bignum { font-size: 34px !important; }
}
@media (max-width: 380px) {
  .industries-grid { grid-template-columns: 1fr !important; }
}

/* ── "Let's build the right team" CTA: 35 / 65 split ───── */
.home-cta-grid {
  grid-template-columns: 35fr 65fr !important;
  gap: clamp(24px, 3vw, 48px) !important;
}
.home-cta-image { justify-content: stretch !important; }
.home-cta-image img { max-width: 100% !important; }

@media (max-width: 880px) {
  .home-cta-grid { grid-template-columns: 1fr !important; }
  .home-cta-image img { max-width: 560px !important; }
}

/* ── Jobs hero: video gets the same styling as the old image ── */
.jobs-hero-image video {
  width: 100% !important;
  max-width: 600px !important;
  height: auto !important;
  display: block !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px -10px rgba(20,33,61,0.18),
              0 4px 8px rgba(20,33,61,0.06) !important;
  object-fit: cover !important;
}
@media (max-width: 880px) {
  .jobs-hero-image video { max-width: 520px !important; }
}

/* ── Home hero: video fills the frame like the old image ── */.hero-media-frame video {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: inherit !important;
  z-index: 1 !important;
}

/* ── Contact page hero: compact two-column layout ─────── */
.page-hero.contact-hero {
  padding: clamp(28px, 4vw, 48px) 0 clamp(24px, 3.5vw, 40px) !important;
  text-align: left !important;
}
.contact-hero-grid {
  display: grid !important;
  grid-template-columns: 38fr 62fr !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: center !important;
}
.contact-hero-text .breadcrumb { justify-content: flex-start !important; margin: 0 0 14px !important; }
.contact-hero-text h1 { margin: 0 0 16px !important; max-width: 16ch !important; }
.contact-hero-text .lede { margin: 0 !important; max-width: 46ch !important; }
.contact-hero-media {
  margin: 0 !important;
  max-width: 100% !important;
}
.contact-hero-media img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 32px -14px rgba(20,33,61,0.28),
              0 4px 10px rgba(20,33,61,0.08) !important;
}
@media (max-width: 880px) {
  .contact-hero-grid { grid-template-columns: 1fr !important; gap: 24px !important; text-align: center !important; }
  .contact-hero-text .breadcrumb { justify-content: center !important; }
  .contact-hero-text h1 { margin: 0 auto 14px !important; }
  .contact-hero-text .lede { margin: 0 auto !important; }
  .contact-hero-media { max-width: 560px !important; margin: 0 auto !important; }
}

/* ── Contact form section: map in left column, tighter padding ── */
.brief-section { padding: clamp(40px, 5vw, 64px) 0 !important; }
.brief-grid { align-items: start !important; }
.brief-side .brief-map {
  margin-top: 28px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px -12px rgba(20,33,61,0.25),
              0 3px 8px rgba(20,33,61,0.06) !important;
  border: 1px solid rgba(20,33,61,0.08) !important;
}
.brief-side .brief-map iframe {
  display: block !important;
  width: 100% !important;
  height: 240px !important;
  border: 0 !important;
}
.brief-side .brief-directions {
  display: inline-flex !important;
  margin-top: 16px !important;
}
