/* ---- production: style.css baseline (2026-10-15) -----------------------
   The offline demo inherits text colour and weight from style.css globals
   (body{color:var(--ink);font:15px/1.7} / p{color:var(--text)} / h1..h3{color:var(--ink)}).
   On production Divi plays that role instead: body{font-size:17px;font-weight:500;color:#000}
   plus a direct heading colour, so plain text rendered black, 17px, weight 500, and every
   paragraph lost --text. Restored here at :where() specificity (0,1,0) - above Divi's element
   rules, below every .ind-* component rule, so none of our components get out-ranked. */
:where(body.prolean-industry) .ind-page{color:var(--ink);font-family:'Manrope',Arial,sans-serif;font-size:15px;line-height:1.7;font-weight:400}
:where(body.prolean-industry) .ind-page :where(h1,h2,h3,h4,h5,h6){color:var(--ink);margin:0;font-family:inherit}
:where(body.prolean-industry) .ind-page :where(p){color:var(--text);margin:0}
:where(body.prolean-industry) .ind-page :where(figure){margin:0}
:where(body.prolean-industry) .ind-page :where(th,td,caption,small,em,i,label){color:inherit}

/* Divi inflates block spacing on this page type. Attributed rule by rule on live:
     h1..h6                     { padding-bottom: 10px }                      (0,1,1)
     p:last-of-type             { padding-bottom: 1em  }                      (0,2,1)
     #left-area ul, .entry-content ul, ...                                    (1,0,1)
                                { line-height: 26px; padding-bottom: 23px }
   The last one carries an ID, which outranks any number of classes, so the reset
   below is anchored on #main-content (1,1,0). The demo's style.css has none of
   these, and its 1.7 line-height is a NUMBER - Divi's 26px is a LENGTH, which
   silently makes every descendant lay out on a 26px line (a 12.5px anchor included).
   Restore the number on ul/ol, then re-assert the two of our own rules that
   legitimately carry padding on these tags. th/td/caption are deliberately excluded. */
#main-content .ind-page :where(h1,h2,h3,h4,h5,h6,p,ul,ol,figure){padding:0}
#main-content .ind-page :where(ul,ol){line-height:1.7}
#main-content .ind-page :where(p).ind-spec-head{padding:9px 0}
#main-content .ind-page .ind-faq details p{padding:0 24px 17px 0}
:where(body.prolean-industry) .ind-page :where(img){display:block;max-width:100%;object-fit:cover}

/* Industry hub + subpages.
   Same VI tokens, different page grammar: this is an application-reference page type,
   not the homepage capability-narrative type. Standalone sheet; no existing selector is touched. */

/* ---- page-type signature: engineering-paper grid, sector numbering, spec lists, left rail ---- */
:root{--ind-grid:rgba(16,44,68,.055);--ind-cut:18px;--ind-cool:#eef2f5}
html{scroll-padding-top:76px}
.ind-page{padding-top:30px}

.ind-gridbg{background-color:var(--ind-cool);
  background-image:repeating-linear-gradient(0deg,var(--ind-grid) 0 1px,transparent 1px 24px),
                   repeating-linear-gradient(90deg,var(--ind-grid) 0 1px,transparent 1px 24px)}
.ind-cut{clip-path:polygon(0 0,100% 0,100% 100%,var(--ind-cut) 100%,0 calc(100% - var(--ind-cut)))}

.ind-num{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--blue);font-variant-numeric:tabular-nums}
.ind-num-mark{font-size:30px;font-weight:800;line-height:1;letter-spacing:-.03em;color:#b9ccda;font-variant-numeric:tabular-nums}

/* full-width page. Each industry page stands on its own and must be able to rank alone:
   no sibling rail, no "part of a series" chrome. Only the closing related block links out. */
.ind-block,.ind-hero,.ind-hero-body>*,.ind-table-wrap,.ind-anchorbar-in,.ind-partgrid,.ind-cards,.ind-docs,.ind-evidence-grid,.ind-sectorgrid,.ind-steps,.ind-related-grid{min-width:0}
.ind-table-wrap{max-width:100%}

/* ---- breadcrumb with sector number ---- */
.ind-crumbs{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--text);min-height:38px;flex-wrap:wrap}
.ind-crumbs a{color:var(--text)}
.ind-crumbs a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.ind-crumbs span[aria-current]{color:var(--navy);font-weight:800}
.ind-crumbs i{font-style:normal;color:#b6c7d3}
.ind-crumbs em{font-style:normal;font-weight:800;color:var(--blue);letter-spacing:.08em;font-variant-numeric:tabular-nums}

/* ---- sector hero: spec-sheet form, not the homepage poster form ---- */
.ind-hero{margin-top:14px;position:relative;border-top:2px solid var(--navy);padding:26px 28px 28px}
.ind-hero-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.ind-hero-top p{margin:0;font-size:9.5px;letter-spacing:.14em;font-weight:800;color:var(--blue)}
.ind-hero-top span{font-size:10.5px;color:var(--text)}
.ind-hero-body{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.ind-hero h1{font-size:clamp(31px,3.2vw,43px);line-height:1.12;letter-spacing:-.045em;max-width:520px}
.ind-hero h1 span{display:block;color:var(--blue);font-size:.62em;line-height:1.35;letter-spacing:-.02em;margin-top:9px}
.ind-hero-lead{font-size:15px;line-height:1.78;color:var(--text);max-width:480px;margin-top:17px}
.ind-hero .actions{margin-top:21px}
.ind-hero .button{font-size:11px}
.ind-proof{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:20px;border-top:1px solid #dbe4ea;padding-top:13px}
.ind-proof a{font-size:10.5px;color:var(--text)}
.ind-proof .iso-entry{display:flex;gap:11px;align-items:center}
.ind-proof .iso-entry svg{width:24px;height:24px}
.ind-proof .iso-entry b{font-size:10.5px}
.ind-proof .iso-entry small{font-size:10px}

/* the right-hand specification block is the visual opposite of the homepage hero photo */
.ind-spec{border-top:2px solid var(--navy);margin:0}
.ind-spec-head{font-size:9.5px;letter-spacing:.14em;font-weight:800;color:var(--navy);padding:9px 0;border-bottom:1px solid #dde6ec}
.ind-spec div{display:grid;grid-template-columns:104px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid #e4ecf1}
.ind-spec dt{font-size:9.5px;letter-spacing:.09em;font-weight:800;color:var(--blue);line-height:1.7}
.ind-spec dd{margin:0;font-size:12.5px;line-height:1.65;color:var(--ink)}
.ind-spec-index{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.ind-spec-index li{border-bottom:1px solid #e4ecf1}
.ind-spec-index a{display:flex;gap:13px;align-items:baseline;padding:10px 0;min-height:40px;font-size:12.5px;color:var(--ink)}
.ind-spec-index a b{flex:none;font-size:9px;font-weight:800;letter-spacing:.06em;color:var(--blue);font-variant-numeric:tabular-nums}
.ind-spec-index a:hover{color:var(--blue)}
.ind-spec-index a[aria-current=true]{font-weight:800;color:var(--navy)}
.ind-hero-visual{margin:0;background:var(--navy)}
.ind-hero-visual img{width:100%;height:184px;object-fit:cover}
.ind-hero-visual figcaption{background:var(--navy);color:#c1d1de;font-size:10.5px;line-height:1.7;padding:13px 18px 14px;border-left:3px solid var(--red)}
.ind-hero-visual figcaption b{display:block;color:white;font-size:12px;font-weight:600}

.ind-note{font-size:12px;line-height:1.78;color:var(--text);border-left:3px solid #b9cbd7;padding-left:15px;max-width:820px;margin-top:24px}

/* ---- anchor bar ---- */
/* The sticky offset must clear the site header. industry-app.js refines --prolean-hdr from
   the measured header, but a CSS fallback keeps the bar usable if that ever fails: 72px is
   the Divi header's height at 1440px, 66px is the mobile header. Without it the bar pins at
   top:0 - entirely underneath the header - and its tabs cannot be hovered or clicked. */
body.prolean-industry{--prolean-hdr:72px}
@media(max-width:900px){body.prolean-industry{--prolean-hdr:66px}}
.ind-anchorbar{position:sticky;top:var(--prolean-hdr,0px);z-index:38;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ind-anchorbar-in{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.ind-anchorbar-in::-webkit-scrollbar{display:none}
.ind-anchorbar a{flex:none;font-size:11.5px;font-weight:700;color:var(--text);padding:14px 12px;min-height:52px;display:inline-flex;align-items:center;border-bottom:2px solid transparent;white-space:nowrap}
.ind-anchorbar a em{font-style:normal;font-size:9px;font-weight:800;color:#a5bac9;margin-right:7px;font-variant-numeric:tabular-nums}
.ind-anchorbar a:hover{color:var(--blue);border-bottom-color:var(--red)}
.ind-anchorbar a:hover em{color:var(--blue)}
.ind-anchorbar a[aria-current=true]{color:var(--navy);border-color:var(--red)}
.ind-anchorbar a[aria-current=true] em{color:var(--red)}

/* ---- content blocks: rules and numbers instead of big whitespace ---- */
.ind-block{padding:52px 0;border-bottom:1px solid var(--line)}
.ind-block:last-of-type{border-bottom:0}
.ind-block-head{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin-bottom:26px}
.ind-block-head>div:first-child>p.overline{margin-bottom:9px}
.ind-block-head h2{font-size:30px;max-width:480px;line-height:1.22}
.ind-block-head>div:last-child>p{font-size:13.5px;line-height:1.78;max-width:460px}
.ind-block-head .arrow-link{margin-top:6px;font-size:11px}

.ind-cards{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.ind-cards>article{border-top:1px solid var(--line);padding:17px 0 19px;display:grid;grid-template-columns:34px 1fr;gap:12px}
.ind-cards>article:nth-child(-n+2){border-top:2px solid var(--navy)}
.ind-cards .ind-cardnum{font-size:10.5px;font-weight:800;color:var(--blue);letter-spacing:.08em;font-variant-numeric:tabular-nums;padding-top:4px}
.ind-cards h3{font-size:18.5px;line-height:1.35;letter-spacing:-.02em}
.ind-cards p{font-size:13px;line-height:1.78;margin-top:7px}

.ind-partgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ind-part{display:flex;flex-direction:column;min-width:0}
.ind-part figure{margin:0;background:#e6ebee;overflow:hidden}
.ind-part img{width:100%;height:214px;object-fit:cover;transition:transform .2s}
.ind-part:hover img{transform:scale(1.02)}
.ind-part h3{font-size:19px;line-height:1.35;letter-spacing:-.02em;margin-top:15px}
.ind-part .ind-part-geo{font-size:12px;line-height:1.72;margin-top:7px}
.ind-part-specs{margin:10px 0 0;padding-top:9px;border-top:1px solid var(--line);display:grid;gap:6px}
.ind-part-specs span{display:grid;grid-template-columns:66px 1fr;gap:10px;font-size:10.5px;line-height:1.6;color:var(--text)}
.ind-part-specs b{font-size:9.5px;letter-spacing:.08em;font-weight:800;color:var(--blue)}
.ind-part .ind-part-ask{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.ind-part .ind-part-ask b{display:block;font-size:9.5px;letter-spacing:.08em;color:var(--blue)}
.ind-part .ind-part-ask p{font-size:11.5px;line-height:1.65;margin-top:5px}

.ind-chiprow{margin-top:20px}
.ind-chiprow+.ind-chiprow{margin-top:22px}
.ind-chiplabel{font-size:9.5px;letter-spacing:.12em;font-weight:800;color:var(--blue);margin:0 0 10px}
.ind-chips{display:flex;flex-wrap:wrap;gap:8px}
.ind-chips a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:6px 13px;border:1px solid var(--line);background:#fff;font-size:11.5px;color:var(--ink)}
.ind-chips a:hover{border-color:var(--blue);color:var(--blue);background:#f2f8fc}
.ind-chips a i{font-style:normal;color:var(--blue);font-size:11px}

.ind-evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.ind-evidence-grid figure{margin:0}
.ind-evidence-grid img{width:100%;height:184px;object-fit:cover;background:#e4eaee}
.ind-evidence-grid figcaption{padding-top:13px}
.ind-evidence-grid h3{font-size:17px;line-height:1.35;letter-spacing:-.02em;color:white}
.ind-evidence-grid p{font-size:12px;line-height:1.75;color:#bdcdda;margin-top:8px}
.ind-docs{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;list-style:none;margin:0;padding:0}
.ind-docs li{border-top:1px solid var(--line);padding:12px 0;font-size:12.5px;line-height:1.72;display:grid;grid-template-columns:30px 1fr;gap:10px}
.ind-docs li b{font-size:9.5px;font-weight:800;color:var(--blue);letter-spacing:.06em;font-variant-numeric:tabular-nums;padding-top:3px}
.ind-docs li:nth-child(-n+2){border-top:2px solid var(--navy)}

.ind-casestatus{border:1px solid var(--line);border-left:3px solid var(--blue);background:#fafcfd;padding:22px 24px;max-width:860px}
.ind-casestatus b{display:block;font-size:9.5px;letter-spacing:.12em;color:var(--blue)}
.ind-casestatus h3{font-size:21px;line-height:1.3;margin-top:9px}
.ind-casestatus p{font-size:13px;line-height:1.78;margin-top:10px;max-width:700px}
.ind-casestatus .actions{margin-top:15px}

.ind-scopeout{border:1px solid #e3ced2;border-left:3px solid var(--red);background:#fdf8f9;padding:20px 24px;max-width:860px;margin-top:22px}
.ind-scopeout b{display:block;font-size:9px;letter-spacing:.12em;color:var(--red)}
.ind-scopeout ul{margin:11px 0 0;padding:0;list-style:none}
.ind-scopeout li{font-size:11.5px;line-height:1.75;color:var(--text);padding:7px 0;border-top:1px solid #f0e2e5;display:grid;grid-template-columns:16px 1fr;gap:9px}
.ind-scopeout li:before{content:'\00d7';color:var(--red);font-weight:800}

.ind-faqrow{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.ind-faqrow h2{font-size:30px}
.ind-faqrow>div:first-child>p:not(.overline){font-size:13.5px;line-height:1.78;margin:14px 0 0;color:var(--text)}
.ind-faq details{border-top:1px solid var(--line)}
.ind-faq details:last-of-type{border-bottom:1px solid var(--line)}
.ind-faq summary{list-style:none;position:relative;cursor:pointer;font-size:13.5px;font-weight:700;line-height:1.5;padding:15px 28px 15px 0;min-height:52px}
.ind-faq summary::-webkit-details-marker{display:none}
.ind-faq summary::after{content:'+';position:absolute;right:0;top:11px;font-size:19px;font-weight:400;color:var(--blue)}
.ind-faq details[open] summary::after{content:'\2212'}
.ind-faq details p{font-size:12.5px;line-height:1.78;padding:0 24px 17px 0;color:var(--text)}
.ind-faq details a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}

.ind-related{background:var(--pale);padding:46px 0;border-bottom:1px solid var(--line)}
.ind-related h2{font-size:27px}
.ind-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.ind-related a{color:var(--ink);background:#fff;border:1px solid var(--line);border-top:2px solid var(--navy);padding:15px 18px;min-height:98px;display:grid;grid-template-columns:26px 1fr;gap:11px;align-content:start}
.ind-related a em{font-style:normal;font-size:9px;font-weight:800;color:var(--blue);letter-spacing:.06em;font-variant-numeric:tabular-nums;padding-top:3px}
.ind-related b{font-size:15.5px;line-height:1.35;letter-spacing:-.02em;display:block}
.ind-related small{font-size:11px;line-height:1.7;color:var(--text);display:block;margin-top:6px}
.ind-related a:hover b{color:var(--blue)}

/* ---- hub-only ---- */
.ind-sectorgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ind-sector{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:2px solid var(--navy);min-width:0}
.ind-sector-top{display:flex;align-items:center;gap:11px;padding:15px 18px 0}
.ind-sector-top b{font-size:10px;font-weight:800;color:var(--blue);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.ind-sector-top h3{font-size:18px;line-height:1.3;letter-spacing:-.02em;color:var(--ink)}
.ind-sector figure{margin:12px 0 0;background:#edf1f3;overflow:hidden}
.ind-sector img{width:100%;height:150px;object-fit:cover;transition:transform .2s}
.ind-sector:hover img{transform:scale(1.025)}
.ind-sector>div:not(.ind-sector-top){padding:14px 18px 16px;display:flex;flex-direction:column;flex:1}
.ind-sector>div:not(.ind-sector-top)>p{font-size:12.5px;line-height:1.72;color:var(--text)}
.ind-sector dl{margin:14px 0 0;border-top:1px solid var(--line)}
.ind-sector dl div{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:7px 0;border-bottom:1px solid #eef3f6}
.ind-sector dt{font-size:9.5px;letter-spacing:.07em;font-weight:800;color:var(--blue);line-height:1.7}
.ind-sector dd{margin:0;font-size:11.5px;line-height:1.6;color:var(--text)}
.ind-sector-go{margin-top:auto;padding-top:14px;font-size:11.5px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:9px;min-height:40px}
.ind-sector:hover{border-color:#9fb6c6}
.ind-sector:hover h3{color:var(--blue)}

.ind-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;counter-reset:st}
.ind-steps li{border-top:2px solid var(--navy);padding-top:14px}
.ind-steps b{font-size:9px;letter-spacing:.12em;color:var(--blue);display:block;font-variant-numeric:tabular-nums}
.ind-steps h3{font-size:16.5px;line-height:1.35;letter-spacing:-.02em;margin-top:7px}
.ind-steps p{font-size:11.5px;line-height:1.72;margin-top:6px}

.ind-table-wrap{border:1px solid var(--line);border-top:2px solid var(--navy);background:#fff;overflow-x:auto}
.ind-table{width:100%;border-collapse:collapse;min-width:880px;font-size:11.5px}
.ind-table caption{text-align:left;font-size:10.5px;color:var(--text);padding:12px 16px;border-bottom:1px solid var(--line)}
.ind-table th,.ind-table td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid #eef2f5;line-height:1.62}
.ind-table-wrap .ind-table thead th{background:#f4f8fa;font-size:9.5px;letter-spacing:.08em;color:var(--blue);border-bottom:1px solid var(--line);white-space:nowrap}
.ind-table-wrap .ind-table tbody th{font-weight:800;font-size:12px;white-space:nowrap;color:var(--ink)}
.ind-table-wrap .ind-table tbody th em{font-style:normal;font-size:9px;color:var(--blue);margin-right:7px;font-variant-numeric:tabular-nums}
.ind-table-wrap .ind-table tbody th a{color:var(--blue)}
.ind-table-wrap .ind-table tbody th a:hover{text-decoration:underline;text-underline-offset:3px}
.ind-table td{color:var(--text)}
.ind-table tbody tr:last-child th,.ind-table tbody tr:last-child td{border-bottom:0}

.ind-evidence-band{background:var(--navy);color:#fff;padding:50px 0}
.ind-evidence-band .overline{color:#bed5e5}
.ind-evidence-band h2{font-size:30px;color:#fff}
.ind-evidence-band-head{max-width:860px}
.ind-evidence-band-head p{font-size:14px;color:#c1d1de;margin-top:14px;max-width:620px}
.ind-evidence-foot{display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid #425d72}
.ind-evidence-foot .certificate{display:flex;align-items:center;gap:14px}
.ind-evidence-foot .certificate img{width:42px;height:56px;object-fit:contain;background:#fff;padding:3px}
.ind-evidence-foot .certificate b{font-size:12px;display:block}
.ind-evidence-foot .certificate small{font-size:10px;color:#bed1de;display:block;margin-top:3px}
.ind-evidence-foot>.arrow-link{color:#bed5e5;font-size:11px}

/* ---- responsive ---- */
@media(max-width:1180px){
 .ind-shell{grid-template-columns:198px 1fr;gap:0 38px}
 .ind-hero-body{gap:32px}
 .ind-partgrid{gap:22px}
 .ind-part img{height:196px}
 .ind-sectorgrid{grid-template-columns:repeat(2,1fr)}
 .ind-steps{grid-template-columns:repeat(3,1fr);gap:20px}
 .ind-block-head{gap:34px}
 .ind-block-head h2{font-size:27px}
 .ind-faqrow{gap:34px}
 .ind-faqrow h2{font-size:27px}
 .ind-related-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
 .ind-hero-body{grid-template-columns:1fr;gap:26px}
 .ind-partgrid{grid-template-columns:repeat(2,1fr)}
 .ind-part img{height:210px}
 .ind-hero{padding:22px 20px 24px}
 .ind-hero h1{max-width:none}
 .ind-hero-lead{max-width:none}
}
@media(max-width:760px){
 .ind-page{padding-top:20px}
 .ind-hero{margin-top:8px;padding:20px 16px 22px}
 .ind-hero h1{font-size:29px;line-height:1.16}
 .ind-hero h1 span{font-size:.68em;margin-top:7px}
 .ind-hero-lead{font-size:13.5px;margin-top:15px}
 .ind-hero .actions{margin-top:18px;gap:9px}
 .ind-hero-visual img{height:200px}
 .ind-proof{gap:13px;margin-top:17px}
 .ind-note{font-size:11.5px;padding-left:12px}
 .ind-anchorbar a{font-size:10.5px;padding:13px 10px;min-height:50px}
 .ind-block{padding:40px 0}
 .ind-block-head{display:block}
 .ind-block-head h2{font-size:26px;max-width:none}
 .ind-block-head>div:last-child>p{font-size:13px;margin-top:14px;max-width:none}
 .ind-cards{grid-template-columns:1fr}
 .ind-cards>article:nth-child(2){border-top:1px solid var(--line)}
 .ind-cards h3{font-size:17.5px}
 .ind-partgrid{grid-template-columns:1fr;gap:22px}
 .ind-part img{height:206px}
 .ind-part-specs span{grid-template-columns:60px 1fr}
 .ind-chips a{font-size:10.5px;padding:6px 11px}
 .ind-evidence-grid{grid-template-columns:1fr;gap:22px}
 .ind-evidence-grid img{height:196px}
 .ind-docs{grid-template-columns:1fr}
 .ind-docs li:nth-child(2){border-top:1px solid var(--line)}
 .ind-casestatus,.ind-scopeout{padding:18px}
 .ind-casestatus h3{font-size:19px}
 .ind-faqrow{grid-template-columns:1fr;gap:22px}
 .ind-faqrow h2{font-size:26px}
 .ind-faq summary{font-size:12.5px;padding-right:24px}
 .ind-faq details p{font-size:12px}
 .ind-related{padding:36px 0}
 .ind-related h2{font-size:24px}
 .ind-related-grid{grid-template-columns:1fr;gap:14px}
 .ind-sectorgrid{grid-template-columns:1fr}
 .ind-sector img{height:176px}
 .ind-steps{grid-template-columns:1fr;gap:15px}
 .ind-steps h3{font-size:17.5px;margin-top:5px}
 .ind-table{font-size:10.5px}
 .ind-table th,.ind-table td{padding:10px 12px}
 .ind-evidence-band{padding:40px 0}
 .ind-evidence-band h2{font-size:26px}
 .ind-evidence-foot{display:block}
 .ind-evidence-foot>.arrow-link{margin-top:14px;display:inline-flex}
}
@media(prefers-reduced-motion:reduce){
 .ind-sector img,.ind-part img{transition:none}
 html{scroll-behavior:auto}
}

/* ---- production base layer ----
   The demo borrowed .container/.button/.arrow-link/.overline/.closing and the colour tokens
   from style.css, which is not deployed. Scope everything to :where(body.prolean-industry) so only
   the industry pages are affected. */
body.prolean-industry{--navy:#102c44;--blue:#164a75;--ink:#182f46;--text:#526779;--line:#d8e2e9;--pale:#f2f6f8;--red:#b70920}
body.prolean-industry #main-content>div.container,
body.prolean-industry #main-content .ind-page>div.container{padding-block:0}
body.prolean-industry #main-content>.container{width:auto;max-width:none;margin:0;padding-inline:0}
body.prolean-industry .ind-page>.container{width:calc(100% - 72px);max-width:1220px;margin:auto}
:where(body.prolean-industry) .overline{font-size:10px;line-height:1.6;letter-spacing:.13em;font-weight:700;color:var(--blue);margin-bottom:17px}
:where(body.prolean-industry) .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
:where(body.prolean-industry) .button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;font-size:12px;font-weight:700;border:1px solid transparent;border-radius:3px;cursor:pointer;text-decoration:none;transition:background .18s,border-color .18s}
:where(body.prolean-industry) .button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
:where(body.prolean-industry) .button.primary:hover{background:#103957;border-color:#103957}
:where(body.prolean-industry) .button.secondary{background:transparent;color:var(--blue);border-color:#97afc1}
:where(body.prolean-industry) .button.secondary:hover{background:#edf4f8;border-color:var(--blue)}
:where(body.prolean-industry) .arrow-link{font-size:12px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;min-height:44px;gap:14px}
:where(body.prolean-industry) .arrow-link:hover{text-decoration:underline;text-underline-offset:4px}
:where(body.prolean-industry) .nda{font-size:11px;min-height:44px;display:inline-flex;align-items:center;color:var(--text);margin-top:10px}
:where(body.prolean-industry) .iso-entry{display:flex;gap:12px;align-items:center}
:where(body.prolean-industry) .iso-entry svg{width:25px;height:25px;fill:none;stroke:var(--blue);stroke-width:1.3}
:where(body.prolean-industry) .iso-entry b{font-size:11px;display:block;color:var(--ink)}
:where(body.prolean-industry) .iso-entry small{font-size:10px;color:var(--text);display:block}
:where(body.prolean-industry) .certificate{display:flex;align-items:center;gap:15px}
:where(body.prolean-industry) .certificate img{width:43px;height:58px;object-fit:contain;background:#fff;padding:3px}
:where(body.prolean-industry) .certificate b{font-size:12px;display:block}
:where(body.prolean-industry) .certificate small{font-size:10px;color:var(--text);display:block;margin-top:4px}
:where(body.prolean-industry) .closing{background:#e9f0f5;border-block:1px solid #ccdce7;padding:45px 0;position:relative;overflow:hidden}
:where(body.prolean-industry) .closing .overline{font-size:9px;margin-bottom:12px}
:where(body.prolean-industry) .closing h2{font-size:35px;color:var(--ink);max-width:650px;margin:0;line-height:1.15;letter-spacing:-.02em}
:where(body.prolean-industry) .closing p{font-size:13px;color:var(--text);margin:15px 0 0;max-width:550px}
:where(body.prolean-industry) .closing .actions{margin-top:0;flex-wrap:nowrap}
:where(body.prolean-industry) .closing .button{white-space:nowrap;padding-inline:18px}
:where(body.prolean-industry) .closing .nda{color:var(--text)}
:where(body.prolean-industry) .closing-layout{display:flex;justify-content:space-between;align-items:center;gap:40px;position:relative;z-index:1}
@media(max-width:1100px){:where(body.prolean-industry) .closing h2{font-size:31px}:where(body.prolean-industry) .closing-layout{gap:26px}}
@media(max-width:760px){:where(body.prolean-industry) .container{width:calc(100% - 40px)}:where(body.prolean-industry) .closing{padding:34px 0}:where(body.prolean-industry) .closing h2{font-size:29px}:where(body.prolean-industry) .closing p{font-size:12px}:where(body.prolean-industry) .closing .actions{margin-top:22px;gap:9px;flex-wrap:wrap}:where(body.prolean-industry) .closing .button{white-space:normal;padding-inline:13px;font-size:11px}:where(body.prolean-industry) .closing-layout{display:block}:where(body.prolean-industry) .button{flex:1;padding:12px 14px;font-size:11px}}

/* ---- production: Divi theme leaks that must be cancelled (2026-10-15) ---
   1. the sector cards are <a> wrappers, so Divi's a{color:#009FD1} lands on them;
   2. Divi page.php prints <h1 class="entry-title main_title"> whenever the builder is off.
      The loader blanks the title TEXT, but the BOX survives - measured h=10px plus
      padding-bottom:10px plus margin-bottom:20px = a 40px empty band above the
      breadcrumb. An empty heading is also an a11y defect, so hide the box itself.
      Our own content H1 is a bare <h1> on all 7 pages, so this rule cannot reach it. */
body.prolean-industry .ind-page a.ind-sector{color:var(--ink);text-decoration:none}
:where(body.prolean-industry) .entry-title.main_title{display:none}
:where(body.prolean-industry) .et_post_meta_wrapper{display:none}
