/* Terminal CarouselCard port: source image transitions and 20px folding edge.
   Three-up desktop grid replaces the source's scrolling carousel by request. */
.industry-cards-section { background: var(--white); }
.industry-cards-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; list-style: none; padding-block: 0; margin-block: 0; }
.industry-card-item { min-width: 0; }
.industry-card { display: block; position: relative; height: 100%; color: var(--blue); outline-offset: 6px; border-radius: 20px; }
.industry-card:focus-visible { outline: 3px solid var(--accent); }
.industry-card-mask { position: absolute; pointer-events: none; }
.industry-card-surface { position: relative; overflow: hidden; border-radius: 20px; background: #f2ede4; transition: color .2s ease-in-out; }
.industry-card--mist .industry-card-surface { background: #eaf2f7; }
.industry-card--navy .industry-card-surface { background: var(--blue); color: white; }
.industry-card-photo { position: absolute; inset: 0; overflow: hidden; border-radius: 20px; filter: blur(8px); opacity: .3; transform: scale(1.2); transition: opacity .9s cubic-bezier(.19,1,.22,1),transform 1.2s cubic-bezier(.19,1,.22,1),filter .9s cubic-bezier(.19,1,.22,1); }
.industry-card-photo::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle,rgba(0,0,0,.5),rgba(0,0,0,.6),rgba(0,0,0,.75)); }
.industry-card-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: none !important; translate: none !important; }
/* Show a single scene from existing three-scene gallery assets, not a collage. */
.industry-card-photo--first img, .industry-card-photo--middle img { width: 300%; max-width: none; }
.industry-card-photo--middle img { left: -100%; }
.industry-card-content { display: flex; flex-direction: column; justify-content: space-between; position: relative; aspect-ratio: .8; min-height: 520px; }
.industry-card-top { padding: clamp(28px,3.125vw,60px) clamp(36px,3.8vw,80px) 0 clamp(28px,3.125vw,60px); display: flex; flex-direction: column; gap: 24px; }
.industry-card-top h3 { margin: 0; font-size: clamp(30px,2.4vw,46px); line-height: 1.06; letter-spacing: -.02em; font-weight: 400; color: inherit; }
.industry-card-top p { margin: 0; font-size: clamp(16px,1.15vw,20px); line-height: 1.46; letter-spacing: -.01em; color: inherit; }
.industry-card-bottom { display: flex; flex-direction: column; gap: 20px; padding: 40px clamp(28px,3.125vw,60px); }
.industry-card-caption { font-size: 16px; line-height: 1.3; }
.industry-card-cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 16px 20px; border-radius: 8px; background: #f3f4f4; color: var(--blue-dark); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.industry-card-cta > span { font-size: 20px; }
.industry-card-controls { display: none; }
@media (min-width:1024px) and (hover:hover) and (pointer:fine) {
  .industry-cards-ready .industry-card-bottom { opacity: 0; }
  .industry-card:hover .industry-card-surface, .industry-card:focus-visible .industry-card-surface { color: white; }
  .industry-card:hover .industry-card-photo, .industry-card:focus-visible .industry-card-photo { filter: blur(0); opacity: 1; transform: scale(1); }
  .industry-card:hover .industry-card-bottom, .industry-card:focus-visible .industry-card-bottom { opacity: 1; }
}
@media (max-width:1023px) {
  .industry-cards-grid { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--pad); scrollbar-width: none; }
  .industry-cards-grid::-webkit-scrollbar { display: none; }
  .industry-card-item { flex: 0 0 min(350px,calc(100vw - 2 * var(--pad))); scroll-snap-align: start; }
  .industry-card-content { aspect-ratio: auto; min-height: 558px; }
  .industry-card-top { padding: 24px; padding-bottom: 0; gap: 14px; }
  .industry-card-top h3 { font-size: 28px; }
  .industry-card-top p { font-size: 18px; }
  .industry-card-bottom { padding: 24px; gap: 16px; }
  .industry-card-controls:not([hidden]) { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 24px; padding-right: max(var(--pad),104px); }
  .industry-card-controls > span { margin-right: auto; font-family: var(--font-mono, monospace); color: var(--muted); }
  .industry-card-controls button { width: 58px; height: 58px; border: 0; border-radius: 8px; background: var(--blue-soft); color: var(--blue-dark); font-size: 24px; cursor: pointer; }
  .industry-card-controls .swl-icon-stack { width: 20px; height: 20px; margin: auto; }
  .industry-card-controls button:disabled { opacity: .4; cursor: default; }
  .industry-card-controls button:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
}
@media (hover:none), (pointer:coarse), (prefers-reduced-motion:reduce) {
  .industry-card .industry-card-surface { color: white; }
  .industry-card .industry-card-photo { filter: none; opacity: 1; transform: none; }
  .industry-cards-ready .industry-card .industry-card-bottom { opacity: 1; }
}
@media (prefers-reduced-motion:reduce) {
  .industry-card *, .industry-card *::after { transition: none !important; }
  .industry-cards-grid { scroll-behavior: auto; }
}
