/* ── Hero ── */
.industries-hero {
  background: var(--color-primary);
  padding-top: 96px;
  padding-bottom: 40px;
}
@media (min-width: 640px) {
  .industries-hero { padding-top: 144px; padding-bottom: 64px; }
}
.industries-hero-inner {
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding-left: var(--space-gutter);
  padding-right: var(--space-gutter);
}
.industries-hero h1 {
  font-family: var(--font-headline);
  color: #fff;
  font-size: 30px;
  margin-bottom: 12px;
}
@media (min-width: 640px) { .industries-hero h1 { font-size: 36px; margin-bottom: 16px; } }
@media (min-width: 768px) { .industries-hero h1 { font-size: var(--fs-display-lg); } }
.industries-hero h1 span { color: var(--color-secondary); }
.industries-hero p {
  color: var(--color-on-primary-container);
  max-width: 36rem;
  font-size: var(--fs-body-md);
}
@media (min-width: 640px) { .industries-hero p { font-size: var(--fs-body-lg); } }

/* ── Carousel track ── */
#ind-track { overflow: visible; position: relative; }

#ind-slides {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  #ind-track {
    overflow: hidden;
    height: 70vh;
    min-height: 480px;
    position: relative;
  }
  #ind-slides {
    flex-direction: row;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
  }
}

.ind-panel {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: 70vh;
  min-height: 420px;
  overflow: hidden;
}
@media (min-width: 480px) {
  .ind-panel { min-height: 480px; }
}
@media (min-width: 768px) {
  .ind-panel { min-width: 100%; height: 100%; }
}

.ind-bg {
  position: absolute;
  inset: 0;
}
.ind-bg--photo {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.ind-watermark {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: clamp(80px, 20vw, 280px);
  color: white;
  opacity: 0.06;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1;
}

.ind-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 3rem clamp(24px, 5vw, 72px) 3.5rem;
}
.ind-overlay .material-symbols-outlined.ind-icon {
  font-size: 36px;
  color: rgba(255,255,255,0.6);
  margin-bottom: 12px;
  font-variation-settings: 'FILL' 0;
}
.ind-overlay h2 {
  font-size: var(--fs-headline-md);
  font-family: var(--font-headline);
  color: #fff;
  margin-bottom: 12px;
}
.ind-overlay p {
  color: rgba(255,255,255,0.75);
  font-size: var(--fs-body-lg);
  max-width: 540px;
  margin-bottom: 20px;
}
.ind-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.ind-tag {
  padding: 4px 12px;
  border-radius: var(--radius-full);
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  font-size: var(--fs-label-md);
  font-family: var(--font-headline);
  color: #fff;
  backdrop-filter: blur(4px);
}
.ind-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: var(--fs-label-md);
  font-family: var(--font-headline);
  text-decoration: none;
  border-bottom: 1px solid rgba(0,119,255,0.6);
  padding-bottom: 2px;
  transition: all 0.3s;
}
.ind-cta-link:hover { border-color: var(--color-secondary); color: var(--color-inverse-primary); }

#ind-next-btn {
  position: absolute;
  bottom: 32px;
  right: 32px;
  z-index: 30;
  display: none;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  font-size: var(--fs-label-md);
  font-family: var(--font-headline);
  backdrop-filter: blur(12px);
  transition: all 0.3s;
}
@media (min-width: 768px) {
  #ind-next-btn { display: flex; }
}
#ind-next-btn:hover { background: rgba(255,255,255,0.25); transform: scale(1.05); }
#ind-next-btn:active { transform: scale(0.95); }

/* ── Side nav dots ── */
#ind-dots {
  position: fixed;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 14px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
#ind-dots.visible { opacity: 1; pointer-events: auto; }

.ind-dot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 0;
}
.ind-dot-label {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: white;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  transition: max-width 0.35s ease, opacity 0.25s ease;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
.ind-dot-pip {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
  transition: background 0.3s ease, transform 0.3s ease;
}
.ind-dot[data-active="true"] .ind-dot-pip {
  background: #0077FF;
  transform: scale(1.4);
}
.ind-dot[data-active="true"] .ind-dot-label {
  max-width: 120px;
  opacity: 1;
}
@media (max-width: 480px) { #ind-dots { display: none; } }

/* ── Bottom CTA section ── */
.industries-cta {
  background: #fff;
  border-top: 1px solid rgba(196,198,206,0.3);
}
.industries-cta-row {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 768px) {
  .industries-cta-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.industries-cta-text { max-width: 32rem; }
.industries-cta-eyebrow {
  color: var(--color-secondary);
  font-family: var(--font-headline);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: block;
}
.industries-cta-title {
  font-size: var(--fs-headline-md);
  font-family: var(--font-headline);
  color: var(--color-primary);
  margin-bottom: 20px;
  line-height: 1.25;
}
.industries-cta-desc {
  color: var(--color-on-surface-variant);
  font-size: var(--fs-body-lg);
  line-height: 1.6;
}
.industries-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 768px) {
  .industries-cta-actions { min-width: 320px; }
}
.ind-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: var(--radius-xl);
  font-family: var(--font-headline);
  font-size: var(--fs-button-text);
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s;
}
.ind-btn:active { transform: scale(0.95); }
.ind-btn--primary {
  padding: 20px 32px;
  color: #fff;
  background: var(--color-secondary);
}
.ind-btn--primary:hover { opacity: 0.9; }
.ind-btn--secondary {
  padding: 16px 32px;
  color: var(--color-primary);
  background: transparent;
  border: 1.5px solid rgba(11,31,58,0.2);
}
.ind-btn--secondary:hover { background: var(--color-surface-container); border-color: rgba(11,31,58,0.4); }
