/* Shared editorial finish for the eleven industry detail routes. Product illustration
   interiors retain their own controls, status colors, and readable app type. */
.industry-industrial-shell {
  --industry-display: var(--landing-font);
}

/* Use the same frame and content inset as the landing page. Named copy hooks
   remove the old nested inset without changing other editorial consumers. */
.marketing-theme .industry-industrial-shell .editorial-container {
  width: min(var(--marketing-frame, 1176px), calc(100% - 32px));
  max-width: none;
  margin-inline: auto;
  padding-inline: var(--landing-text-inset);
}
.marketing-theme .industry-industrial-shell :is(.industry-copy, .editorial-section-head) {
  padding-inline: 0;
}
.marketing-theme .industry-industrial-shell .marketing-content .page-section {
  padding-block: var(--landing-section-space);
}
.marketing-theme .industry-industrial-shell .industry-partnership .page-section {
  padding-block: 72px;
}
.industry-industrial-shell .industry-applications { gap: 56px; }
.industry-industrial-shell .industry-applications > article + article { margin-top: 16px; }
.industry-industrial-shell .industry-partnership ol { margin-top: 56px; }
.industry-industrial-shell .industry-partnership ol > li > .relative > span[aria-hidden] {
  border-radius: var(--radius-control);
}

/* Keep the original full-width photo hero and viewport-based height from
   marketing.css. Only its content aligns to the shared editorial guides. */
.industry-industrial-shell .industry-photo-hero-content > div { min-width: 0; }
/* Long customer captions keep their own row; logos remain a native scroll strip
   on narrow screens instead of stretching the document or hiding the caption. */
.marketing-theme .industry-industrial-shell .industry-hero-trust {
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
  overflow: visible;
  mask-image: none;
  padding-block: 28px;
}
.industry-industrial-shell .industry-hero-trust > div {
  min-width: 0;
  width: 100%;
  overflow-x: auto;
  gap: 24px;
  padding-bottom: 4px;
}
.marketing-theme .industry-industrial-shell .industry-photo-hero-shade {
  background: linear-gradient(180deg, rgb(0 0 0 / 16%), rgb(0 0 0 / 24%) 35%, rgb(0 0 0 / 72%));
}
.marketing-theme .industry-industrial-shell .industry-photo-hero-title {
  max-width: 22ch;
  font: var(--landing-title-font);
  letter-spacing: var(--landing-title-tracking);
  text-transform: none;
  text-wrap: balance;
}
.marketing-theme .industry-industrial-shell :is(.homepage-heading, .industry-closing h2) {
  font: var(--landing-section-font);
  letter-spacing: -.8px;
  text-transform: none;
  text-wrap: balance;
}
.industry-industrial-shell :is(.industry-app-title, .industry-step-title) {
  font: 400 24px/1.2 var(--industry-display);
  letter-spacing: -.02em;
  text-transform: none;
  text-wrap: balance;
}
.industry-industrial-shell .industry-step-title { font-size: 22px; }
.industry-industrial-shell .industry-results { margin-top: 48px; }
.industry-industrial-shell .industry-results > :first-child { padding-left: 0; }
.industry-industrial-shell .industry-results > :last-child { padding-right: 0; }

/* Share the landing's quiet stage color while preserving the app interiors. */
.marketing-theme .industry-industrial-shell :is(.industry-app-art, .iv-panel) {
  border-radius: var(--radius-card);
  background: var(--subtle);
  box-shadow: var(--shadow-frame);
}
.marketing-theme .industry-industrial-shell .industry-app-art::after { border-radius: 0 0 var(--radius-card) var(--radius-card); }

.marketing-theme .industry-industrial-shell .industry-closing h2 { max-width: 25ch; }

/* Preserve the shared Button / ButtonLink semantics and states. The press cue
   is brief and interruptible; focus is immediate and reduced motion is static. */
.marketing-theme .industry-industrial-shell .industry-page :is([data-slot="button"], [data-slot="button-link"]) {
  max-width: 100%;
  white-space: normal;
  text-align: center;
  touch-action: manipulation;
  transition: transform 120ms cubic-bezier(.23, 1, .32, 1), background-color 120ms ease-out, color 120ms ease-out;
}
.industry-industrial-shell .industry-page :is([data-slot="button"], [data-slot="button-link"]):active:not(:disabled):not([aria-disabled="true"]):not(:focus-visible) {
  transform: scale(.98);
}
.industry-industrial-shell .industry-page :is([data-slot="button"], [data-slot="button-link"]):focus-visible {
  outline: 2px solid var(--foreground);
  outline-offset: 4px;
  transition: none;
}
.industry-industrial-shell .industry-photo-hero :is([data-slot="button"], [data-slot="button-link"]):focus-visible {
  outline-color: white;
}
@media (max-width: 960px) {
  .marketing-theme .industry-industrial-shell .industry-partnership .page-section { padding-block: 64px; }
}
@media (max-width: 700px) {
  .marketing-theme .industry-industrial-shell .industry-partnership .page-section { padding-block: 48px; }
  .marketing-theme .industry-industrial-shell .industry-photo-hero-title { overflow-wrap: anywhere; }
  .industry-industrial-shell .industry-applications { gap: 32px; }
  .industry-industrial-shell .industry-applications > article + article { margin-top: 16px; }
  .industry-industrial-shell .industry-partnership ol { margin-top: 32px; }
  .industry-industrial-shell .industry-results { margin-top: 32px; }
  .industry-industrial-shell .industry-results > * { padding-inline: 0; }
}
@media (pointer: coarse) {
  .industry-industrial-shell :is(input, textarea, select) { font-size: 16px; }
  .industry-industrial-shell [data-navbar-mobile-menu] summary { min-height: 44px; touch-action: manipulation; }
}
@media (prefers-reduced-motion: reduce) {
  .industry-industrial-shell .industry-page :is([data-slot="button"], [data-slot="button-link"]) {
    transition: none;
    transform: none !important;
  }
}
