/* Primionics industry experience pages — shared editorial system */
.ix-page{--ix-ink:#10243b;--ix-muted:#526f8f;--ix-line:#d6e0ea;--ix-soft:#f4f7fa;--ix-orange:#cc410d;--ix-navy:#10243b;color:var(--ix-ink);background:#fff}
.ix-shell{width:min(1220px,calc(100% - 48px));margin-inline:auto}
.ix-page h1,.ix-page h2,.ix-page h3,.ix-page p{margin-top:0}
.ix-page h1,.ix-page h2,.ix-page h3{letter-spacing:-.035em}
.ix-page p{color:var(--ix-muted)}
.ix-eyebrow{color:var(--ix-orange);font:800 .68rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em;text-transform:uppercase}
.ix-breadcrumbs{padding:1rem 0;font-size:.78rem;color:#5a6d80}
.ix-breadcrumbs a{text-decoration:underline;text-underline-offset:.18em}.ix-breadcrumbs span{padding-inline:.45rem;color:#9aacbd}
.ix-hero{background:linear-gradient(115deg,#f4f7fa 0%,#fff 58%);border-block:1px solid #e2e9f0}
.ix-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.85fr);min-height:500px}
.ix-hero-copy{padding:4.6rem 4rem 4.6rem 0;align-self:center}
.ix-hero h1{max-width:760px;margin:.8rem 0 1.25rem;font-size:clamp(3rem,5.2vw,5.25rem);line-height:.95}
.ix-hero-lead{max-width:760px;font-size:1.05rem;line-height:1.72}
.ix-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.ix-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.75rem 1.1rem;border:1px solid transparent;border-radius:8px;font-size:.84rem;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ix-button-primary{color:#fff;background:var(--ix-orange);box-shadow:0 10px 24px rgba(230,82,26,.2)}
.ix-button-secondary{border-color:#bdcad7;color:var(--ix-navy);background:#fff}
.ix-button:hover{transform:translateY(-2px)}
.ix-button:focus-visible,.industry-application-card:focus-visible,.ix-route-link:focus-visible,.ix-product:focus-within,.ix-related:focus-visible{outline:3px solid #ffb38f;outline-offset:3px}
.ix-hero-media{position:relative;overflow:hidden;min-height:500px;background:#dfe7ee}
.ix-hero-media:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.1) 25%,transparent 55%)}
.ix-hero-media img{width:100%;height:100%;object-fit:cover}
.ix-local{position:sticky;top:69px;z-index:8;border-bottom:1px solid var(--ix-line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.ix-local .ix-shell{display:flex;overflow-x:auto;scrollbar-width:none}.ix-local .ix-shell::-webkit-scrollbar{display:none}
.ix-local a{flex:0 0 auto;padding:.9rem 1rem;border-bottom:2px solid transparent;color:#526c86;font-size:.78rem;font-weight:750}
.ix-local a:first-child{padding-left:0}.ix-local a:hover,.ix-local a:focus-visible{border-color:var(--ix-orange);color:var(--ix-orange)}
.ix-section{padding:clamp(3.6rem,6vw,5.5rem) 0}.ix-section-soft{background:var(--ix-soft)}
.ix-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);align-items:end;gap:3.5rem;margin-bottom:2rem}
.ix-heading h2{max-width:780px;margin:.55rem 0 0;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.02}
.ix-heading>p{max-width:530px;margin-bottom:.15rem;font-size:.94rem;line-height:1.7}
.ix-heading--stacked{display:block}.ix-heading--stacked>p{max-width:760px;margin:.9rem 0 0}
.ix-context{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--ix-line)}
.ix-context article{min-height:190px;padding:1.75rem 1.5rem;border-right:1px solid var(--ix-line)}
.ix-context article:last-child{border-right:0}.ix-context strong{display:block;margin-bottom:1.2rem;color:var(--ix-orange);font:800 .68rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ix-context h3{margin-bottom:.55rem;font-size:1.22rem;line-height:1.22}.ix-context p{margin-bottom:0;font-size:.86rem;line-height:1.62}
.industry-application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.industry-application-card{display:flex;min-height:232px;flex-direction:column;padding:1.65rem;border:1px solid #cbd7e2;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(16,36,59,.035);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.industry-application-card:hover{transform:translateY(-2px);border-color:#9fb3c6;box-shadow:0 14px 30px rgba(16,36,59,.08)}
.industry-application-card__eyebrow{margin-bottom:1rem;color:var(--ix-orange);font:800 .68rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase}
.industry-application-card__title{margin:0 0 .75rem;font-size:clamp(1.22rem,1.7vw,1.45rem);line-height:1.2}
.industry-application-card__description{margin:0;font-size:.92rem;line-height:1.58}
.industry-application-card__action{margin-top:auto;padding-top:1.35rem;color:var(--ix-orange);font-size:.82rem;font-weight:850}
.industry-route-intro{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.25rem;padding:1.35rem 1.5rem;border:1px solid #c9d6e1;border-left:4px solid var(--ix-orange);border-radius:13px;background:#f6f8fb}
.industry-route-intro h3{margin:.35rem 0 0;font-size:1.28rem;line-height:1.25}.industry-route-intro p{max-width:540px;margin:0;font-size:.9rem;line-height:1.55}
.industry-route-grid{display:grid;gap:.9rem}
.industry-route-card{display:grid;grid-template-columns:minmax(170px,1fr) 32px minmax(180px,1fr) 32px minmax(190px,1.15fr);align-items:center;column-gap:1rem;min-height:112px;padding:1.3rem 1.5rem;border:1px solid #ccd8e3;border-radius:13px;background:#fff}
.industry-route-cell{display:flex;min-width:0;flex-direction:column;justify-content:center}
.industry-route-label{margin-bottom:.4rem;color:#586c82;font:800 .63rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em;text-transform:uppercase}
.industry-route-value{color:var(--ix-ink);font-size:.94rem;font-weight:750;line-height:1.38}
.ix-route-link{color:var(--ix-ink);text-decoration:underline;text-decoration-color:#b9c6d2;text-underline-offset:.22em}.ix-route-link:hover{color:var(--ix-orange);text-decoration-color:var(--ix-orange)}
.industry-route-arrow{display:flex;width:32px;min-width:32px;align-items:center;justify-content:center;color:var(--ix-orange);font-size:1.1rem;line-height:1}
.ix-standards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.ix-standard{padding:1.5rem;border:1px solid var(--ix-line);border-radius:12px;background:#fff}.ix-standard strong{display:block;margin-bottom:.35rem;font-size:1rem}.ix-standard span{display:block;color:var(--ix-muted);font-size:.82rem;line-height:1.58}
.ix-standard-note{margin:1rem 0 0;padding:1rem 1.2rem;border-left:3px solid var(--ix-orange);background:#fff;color:var(--ix-muted);font-size:.8rem}
.ix-feature{display:grid;grid-template-columns:.65fr 1.35fr;overflow:hidden;border:1px solid var(--ix-line);border-radius:18px;background:#fff}
.ix-feature-brand{padding:2.2rem;background:var(--ix-navy);color:#fff}.ix-feature-brand h3{margin:.7rem 0 0;font-size:2.2rem}.ix-feature-body{padding:2.2rem}.ix-feature-body p{max-width:760px;line-height:1.7}.ix-feature-body a{color:var(--ix-orange);font-weight:850}
.ix-products{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}
.ix-product{display:flex;min-height:510px;flex-direction:column;overflow:hidden;border:1px solid var(--ix-line);border-radius:14px;background:#fff;box-shadow:0 9px 28px rgba(16,36,59,.055);transition:transform .18s ease,box-shadow .18s ease}.ix-product:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(16,36,59,.1)}
.ix-product-media{display:grid;height:210px;min-height:210px;place-items:center;overflow:hidden;border-bottom:1px solid var(--ix-line);background:#f2f5f8}.ix-product-media img{width:100%!important;height:100%!important;max-height:210px!important;object-fit:contain!important;padding:1.25rem}
.ix-product-body{display:flex;flex:1;flex-direction:column;padding:1.4rem}.ix-product-meta{color:#607b98;font:750 .64rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase}
.ix-product h3{margin:.65rem 0 .55rem;font-size:1.35rem;line-height:1.16}.ix-product-role{margin:0 0 1rem;font-size:.86rem;line-height:1.6}.ix-facts{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.ix-facts span{padding:.35rem .5rem;border:1px solid #cbd8e4;border-radius:5px;background:#f5f8fb;color:#385774;font-size:.68rem}
.ix-product-link{align-self:flex-end;margin-top:auto;color:var(--ix-orange);font-size:.8rem;font-weight:850;text-decoration:underline;text-underline-offset:.25rem}
.ix-support{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:2.5rem;align-items:start}.ix-support h2{font-size:2rem;line-height:1.15}.ix-support-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.ix-support-list span{padding:1rem;border-top:2px solid var(--ix-orange);background:#fff;color:#38536e;font-size:.82rem;font-weight:700}
.ix-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.ix-related{display:grid;grid-template-columns:130px 1fr;overflow:hidden;border:1px solid var(--ix-line);border-radius:12px;background:#fff}.ix-related img{width:100%;height:100%;min-height:120px;object-fit:cover}.ix-related div{padding:1.25rem}.ix-related strong{display:block;margin-bottom:.35rem}.ix-related span{color:var(--ix-orange);font-size:.76rem;font-weight:800}
.ix-cta{padding:4rem 0;border-bottom:3px solid var(--ix-orange);background:linear-gradient(120deg,#0c2036,#163b60);color:#fff}.ix-cta .ix-shell{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}.ix-cta .ix-eyebrow{color:#f7fbff!important}.ix-cta h2{margin:.6rem 0 .55rem;color:#fff!important;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.05}.ix-cta p{max-width:760px;margin:0;color:rgba(247,251,255,.84)!important}
.ix-products .ix-product:nth-child(3n) .ix-product-link{margin-right:4.75rem}
.ix-overview-hero{padding:5rem 0 3.5rem;background:linear-gradient(120deg,#10243b,#173f67);color:#fff}.ix-overview-hero h1{max-width:900px;margin:.8rem 0 1rem;font-size:clamp(3rem,5vw,4.8rem);line-height:.98}.ix-overview-hero p{max-width:800px;color:rgba(255,255,255,.72);font-size:1rem}
.ix-directory{padding:2.5rem 0 5rem}.ix-directory-list{border-top:1px solid var(--ix-line)}.ix-directory-row{display:grid;grid-template-columns:180px minmax(250px,.7fr) minmax(320px,1fr) auto;gap:2rem;align-items:center;padding:1.3rem 0;border-bottom:1px solid var(--ix-line)}.ix-directory-row img{width:180px;height:105px;object-fit:cover;border-radius:9px}.ix-directory-row h2{margin:0;font-size:1.45rem;line-height:1.15}.ix-directory-row p{margin:0;font-size:.86rem}.ix-directory-row b{color:var(--ix-orange);font-size:.8rem;white-space:nowrap}
@media(max-width:1024px){.ix-hero-grid{grid-template-columns:1fr}.ix-hero-copy{padding:3.5rem 0}.ix-hero-media{min-height:340px}.ix-hero-media:before{background:linear-gradient(180deg,#fff 0%,transparent 24%)}.ix-heading{grid-template-columns:1fr;gap:1rem}.ix-context{grid-template-columns:repeat(2,1fr)}.ix-context article:nth-child(2){border-right:0}.ix-context article:nth-child(-n+2){border-bottom:1px solid var(--ix-line)}.industry-application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ix-products{grid-template-columns:repeat(2,1fr)}.ix-products .ix-product:nth-child(3n) .ix-product-link{margin-right:0}.ix-products .ix-product:nth-child(2n) .ix-product-link{margin-right:4.75rem}.ix-support{grid-template-columns:1fr}.ix-directory-row{grid-template-columns:160px 1fr auto}.ix-directory-row p{grid-column:2/3}}
@media(max-width:768px){.ix-shell{width:min(100% - 30px,1220px)}.ix-local{top:64px}.industry-route-intro{align-items:flex-start;flex-direction:column;gap:.65rem}.industry-route-card{grid-template-columns:1fr;gap:.15rem}.industry-route-arrow{width:100%;height:24px}.industry-route-arrow::before{content:"↓"}.industry-route-arrow{font-size:0}.industry-route-arrow::before{font-size:1.05rem}.ix-standards{grid-template-columns:repeat(2,1fr)}.ix-products{grid-template-columns:1fr}.ix-products .ix-product:nth-child(n) .ix-product-link{margin-right:4.75rem}.ix-product{min-height:0}.ix-support-list{grid-template-columns:repeat(2,1fr)}.ix-related-grid{grid-template-columns:1fr}.ix-cta .ix-shell{grid-template-columns:1fr}.ix-directory-row{grid-template-columns:110px 1fr}.ix-directory-row img{width:110px;height:90px}.ix-directory-row p,.ix-directory-row b{grid-column:2}.ix-directory-row b{justify-self:start}}
@media(max-width:640px){.industry-application-grid{grid-template-columns:1fr}.industry-application-card{min-height:215px}}
@media(max-width:480px){.ix-hero-grid{display:flex;flex-direction:column}.ix-hero-copy{padding:2.8rem 0}.ix-hero h1{font-size:2.8rem}.ix-hero-lead{font-size:.96rem}.ix-actions{display:grid}.ix-button{width:100%}.ix-hero-media{min-height:260px}.ix-context,.ix-standards,.ix-support-list{grid-template-columns:1fr}.ix-context article{min-height:0;border-right:0;border-bottom:1px solid var(--ix-line)}.ix-context article:last-child{border-bottom:0}.ix-feature{grid-template-columns:1fr}.ix-related{grid-template-columns:100px 1fr}.ix-directory-row{grid-template-columns:1fr}.ix-directory-row img{width:100%;height:170px}.ix-directory-row p,.ix-directory-row b{grid-column:1}}
@media(prefers-reduced-motion:reduce){.ix-page *{scroll-behavior:auto!important;transition:none!important}}

/* ==========================================================================
   Industry pages — refinement pass
   ========================================================================== */

/* The industry → solution → technology map ---------------------------------
   It was five separate bordered boxes, each 112px tall, and each repeating
   the same three column labels. Five repetitions of "INDUSTRY NEED /
   SOLUTION / TECHNOLOGY" is the loudest thing in the section while carrying
   no information after the first read.

   It is now one table: the labels appear once in a header row, and the rows
   are hairline-separated bands inside a single container. The per-row labels
   stay in the markup and come back below 860px, where the header row is gone
   and each row stacks. */
.industry-route-table{
  overflow:hidden;
  border:1px solid var(--ix-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(16,36,59,.05);
}
.industry-route-head{
  display:grid;
  grid-template-columns:minmax(170px,1fr) 32px minmax(180px,1fr) 32px minmax(190px,1.15fr);
  column-gap:1rem;
  padding:.85rem 1.5rem;
  border-bottom:1px solid var(--ix-line);
  background:linear-gradient(#fbfcfe,#f5f8fb);
}
.industry-route-head span{
  color:#586c82;
  font:800 .63rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.industry-route-grid{gap:0}
.industry-route-card{
  min-height:0;
  padding:1.05rem 1.5rem;
  border:0;
  border-top:1px solid #e9eff5;
  border-radius:0;
  background:transparent;
  transition:background .16s ease;
}
.industry-route-card:first-child{border-top:0}
.industry-route-card:hover{background:#f8fafc}
/* the header row names the columns, so the per-row labels are redundant here */
.industry-route-head + .industry-route-grid .industry-route-label{display:none}
.industry-route-arrow{color:#b9c8d6;font-size:1rem}
.industry-route-card:hover .industry-route-arrow{color:var(--ix-orange)}

/* the intro sits directly on top of the table, so they read as one unit */
.industry-route-intro{
  margin-bottom:0;
  /* matches the table it now sits on, so the two read as one panel */
  border-radius:16px 16px 0 0;
  border-bottom:0;
}
.industry-route-intro + .industry-route-table{
  border-top-left-radius:0;
  border-top-right-radius:0;
}

@media(max-width:860px){
  .industry-route-head{display:none}
  .industry-route-head + .industry-route-grid .industry-route-label{display:block}
  .industry-route-card{padding:1.15rem 1.25rem;gap:.15rem}
  .industry-route-card + .industry-route-card{border-top:1px solid var(--ix-line)}
}

/* Shared card shape --------------------------------------------------------
   Radii ran 12, 13, 14, 15 and 18px across the page and shadows were applied
   to some cards but not others, so the surfaces did not read as one set.
   Settled on 16px for panels, 12px for the smaller chips, and one shadow. */
.industry-application-card,
.ix-product,
.ix-feature{border-radius:16px;box-shadow:0 10px 30px rgba(16,36,59,.05)}
.ix-standard,
.ix-related{border-radius:12px;box-shadow:0 6px 18px rgba(16,36,59,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ix-standard:hover,
.ix-related:hover{transform:translateY(-2px);border-color:#9fb3c6;box-shadow:0 14px 30px rgba(16,36,59,.08)}
.industry-application-card:hover,
.ix-product:hover{box-shadow:0 18px 40px rgba(16,36,59,.09)}

/* the product cards were 510px tall, which left a lot of empty space under
   the short descriptions */
.ix-product{min-height:0}
.ix-product-media{height:190px;min-height:190px}

@media(prefers-reduced-motion:reduce){
  .ix-standard,.ix-related,.industry-application-card,.ix-product,.industry-route-card{
    transition:none!important;transform:none!important}
}

/* homepage-palette.css repaints bare headings with !important, which beat the
   colour .ix-feature-brand inherits to its children. The panel is navy, so its
   heading was rendering navy on navy - 1.02:1. Restated for the dark panels. */
.ix-feature-brand :is(h1,h2,h3,h4,h5,h6,strong,b){color:#fff!important}
.ix-feature-brand :is(p,li,dd,span){color:#cfdcea!important}
.ix-feature-brand .ix-eyebrow{color:#ffd0bd!important}
.ix-cta :is(h1,h2,h3,h4,h5,h6,strong,b){color:#fff!important}
.ix-cta :is(p,li,dd){color:#d2dee7!important}
.ix-cta .ix-eyebrow{color:#ffd0bd!important}

/* Hero, matched to the Precision Environments treatment ---------------------
   Same alignment as the solution pages: navy ground, white text, image
   filling its column edge to edge rather than sitting on a pale panel.
   Text colours are restated because homepage-palette.css repaints headings
   and paragraphs with !important. */
.ix-page .ix-hero{
  background:var(--ix-navy)!important;
  border-block:0;
  color:#fff;
}
.ix-page .ix-hero :is(h1,h2,h3,strong,b){color:#fff!important}
.ix-page .ix-hero p,
.ix-page .ix-hero .ix-hero-lead{color:#cfdcea!important}
.ix-page .ix-hero .ix-eyebrow{color:#ffd0bd!important}
.ix-page .ix-hero-media{
  min-height:clamp(300px,30vw,430px);
  background:transparent;
  border-left:1px solid rgba(255,255,255,.22);
}
.ix-page .ix-hero-media img{width:100%;height:100%;object-fit:cover}
.ix-page .ix-hero-copy{padding:4.6rem 4rem 4.6rem 0}
.ix-page .ix-hero .ix-button-secondary{
  border-color:rgba(255,255,255,.5)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
/* the breadcrumb strip sits above the hero on a light ground - leave it */

@media(max-width:900px){
  .ix-page .ix-hero-media{border-left:0;border-top:1px solid rgba(255,255,255,.22)}
  .ix-page .ix-hero-copy{padding:3rem 0}
}

/* Industries overview: readable hero and a genuine card directory. */
.ix-page .ix-overview-hero :is(h1,h2,h3,strong){color:#fff!important}
.ix-page .ix-overview-hero p{color:#d2dee8!important}
.ix-page .ix-overview-hero .ix-eyebrow{color:#ffd0bd!important}
.ix-directory-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;border-top:0}
.ix-directory-row{
  display:flex;min-width:0;min-height:430px;flex-direction:column;gap:0;overflow:hidden;
  padding:0 0 1.45rem;border:1px solid var(--ix-line);border-radius:16px;background:#fff;
  box-shadow:0 10px 30px rgba(16,36,59,.055);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ix-directory-row:hover{transform:translateY(-3px);border-color:#9fb3c6;box-shadow:0 18px 40px rgba(16,36,59,.1)}
.ix-directory-row img{width:100%;height:190px;border-radius:0;object-fit:cover}
.ix-directory-row h2{margin:1.35rem 1.35rem 0;font-size:1.42rem}
.ix-directory-row p{margin:.75rem 1.35rem 0;font-size:.87rem;line-height:1.62}
.ix-directory-row b{align-self:flex-start;margin:auto 1.35rem 0;padding-top:1.25rem}
@media(max-width:980px){.ix-directory-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ix-directory-list{grid-template-columns:1fr}.ix-directory-row{min-height:0}.ix-directory-row img{height:190px}}
