/* Shared integration layer for the five supplied Fire Safety platform pages. */
body.industry-platform-page {margin:0;background:#fff}
.fs-platform.fs-platform.fs-platform {padding:0;max-width:none;box-sizing:border-box}
.fs-platform.fs-platform.fs-platform *, .fs-platform.fs-platform.fs-platform *::before, .fs-platform.fs-platform.fs-platform *::after {box-sizing:border-box}
.fs-platform.fs-platform.fs-platform .wrap {width:calc(100% - 64px);max-width:1240px;margin-inline:auto}
.fs-platform.fs-platform.fs-platform section {position:relative;isolation:isolate;overflow:hidden}
.fs-platform.fs-platform.fs-platform [data-platform-tone="light"] {background:radial-gradient(circle at 8% 22%,rgba(37,99,235,.08),transparent 30%),linear-gradient(180deg,#fff,#f8fbff)!important;color:#1e40af!important}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"] {background:radial-gradient(at 14% 22%,rgba(37,99,235,.55),transparent 50%),linear-gradient(135deg,#1e40af,#25378e)!important;color:#fff!important}
.fs-platform.fs-platform.fs-platform section::before {content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle,rgba(37,99,235,.12) 1px,transparent 1.4px);background-size:28px 28px;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"]::before {background-image:radial-gradient(circle,rgba(147,197,253,.15) 1px,transparent 1.4px)}
.fs-platform.fs-platform.fs-platform section::after {content:"";position:absolute;right:-90px;top:60px;width:420px;height:460px;pointer-events:none;z-index:-1;opacity:.07;background:url('/assets/dex-icon-blue.svg') center/contain no-repeat}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"]::after {opacity:.13;background-image:url('/assets/dex-triangle-mark.png');mix-blend-mode:screen}
.fs-platform.fs-platform.fs-platform .hero {padding-top:38px!important;background-image:radial-gradient(circle,rgba(37,99,235,.15) 1px,transparent 1.5px),radial-gradient(circle,rgba(251,191,36,.2) 1px,transparent 1.5px)!important;background-size:28px 28px,28px 28px!important;background-position:0 0,14px 14px!important;background-color:#f5f8ff!important}
.fs-platform.fs-platform.fs-platform .head :is(h2,p), .fs-platform.fs-platform.fs-platform .hero h1 {color:#1e40af!important}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"] .head h2 {color:#fff!important}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"] .head p {color:#dbeafe!important}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"] .head .eyebrow {color:#fbbf24!important}
.fs-platform.fs-platform.fs-platform [data-platform-tone="light"] .head .eyebrow {color:#1e40af!important}
.fs-platform.fs-platform.fs-platform :is(h1,h2) .accent {background:linear-gradient(100deg,#1e40af,#2563eb 58%,#d89b00)!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"] h2 .accent {background-image:linear-gradient(100deg,#93c5fd,#60a5fa 55%,#fbbf24)!important}
.fs-platform.fs-platform.fs-platform :is(p,li) {text-align:left!important;hyphens:none!important}
.fs-platform.fs-platform.fs-platform .head p, .fs-platform.fs-platform.fs-platform .hero-intro {text-align:center!important}
.fs-platform.fs-platform.fs-platform .platform-demo-controls {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:28px;color:#64748b;font:600 12px/1.5 Manrope,sans-serif}
.fs-platform.fs-platform.fs-platform .platform-demo-controls button {display:inline-flex;align-items:center;gap:8px;padding:9px 12px;min-height:40px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#1e40af;font:700 12px/1.5 Manrope,sans-serif;cursor:pointer}
.fs-platform.fs-platform.fs-platform .platform-demo-controls svg {fill:none;stroke:currentColor;width:18px;height:18px}
.fs-platform.fs-platform.fs-platform .btn {background:#2563eb!important;color:#fff!important;border:1px solid #1d4ed8!important}
.fs-platform.fs-platform.fs-platform .plat {display:flex;flex-direction:column;text-decoration:none;background:#fff!important;color:#1e40af!important;border:1px solid #dbeafe!important}
.fs-platform.fs-platform.fs-platform .plat .go {margin-top:auto;padding-top:20px;color:#1e40af!important}
.fs-platform.fs-platform.fs-platform .platforms {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fs-platform.fs-platform.fs-platform .plat h3 {color:#1e40af!important}
.fs-platform.fs-platform.fs-platform .plat p {color:#475569!important}
.fs-platform.fs-platform.fs-platform a:focus-visible, .fs-platform.fs-platform.fs-platform button:focus-visible {outline:3px solid #fbbf24;outline-offset:4px}
.fs-platform.fs-platform.fs-platform svg {max-width:100%}
.fs-platform.fs-platform.fs-platform .motion-paused *, .fs-platform.motion-paused * {animation-play-state:paused!important}
@media(max-width:800px) {.fs-platform.fs-platform.fs-platform .wrap {width:calc(100% - 40px)}}
@media(max-width:650px) {
 .fs-platform.fs-platform.fs-platform .wrap {width:calc(100% - 32px)}
 .fs-platform.fs-platform.fs-platform .hero {padding-top:24px!important}
 .fs-platform.fs-platform.fs-platform .hero h1 {font-size:34px!important;line-height:1.1!important}
 .fs-platform.fs-platform.fs-platform .head h2 {font-size:28px!important;line-height:1.15!important}
 .fs-platform.fs-platform.fs-platform .platforms {grid-template-columns:1fr}
 .fs-platform.fs-platform.fs-platform section::after {width:260px;height:290px}
}
@media(prefers-reduced-motion:reduce) {.fs-platform.fs-platform.fs-platform * {animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body.industry-platform-page > .skip {position:absolute;left:16px;top:-100px;z-index:10000;background:#fff;padding:12px;border-radius:8px;color:#1e40af}
body.industry-platform-page > .skip:focus {top:12px}
.fs-platform.fs-platform.fs-platform :is(.num,.n) svg {width:20px;height:20px;fill:none;stroke:currentColor}

.fs-platform.fs-platform.fs-platform .log div {color:#cbd5e1!important;opacity:.8!important}
.fs-platform.fs-platform.fs-platform .log :is(.seen,.cur) {color:#fff!important;opacity:1!important}

/* Embedded icon SVGs must not inherit the global auto-height image treatment. */
.fs-platform.fs-platform.fs-platform svg:has(> use) {width:20px!important;height:20px!important;min-width:20px!important;max-width:24px!important;max-height:24px!important;flex:none;display:inline-block}
.fs-platform.fs-platform.fs-platform .hero-pill svg,
.fs-platform.fs-platform.fs-platform .tags svg {width:15px!important;height:15px!important;min-width:15px!important}
.fs-platform.fs-platform.fs-platform .hero-pill {display:inline-flex!important;align-items:center!important;max-width:100%;border-radius:999px}

/* Shared visual polish: selected cards, bounded line icons and section contrast. */
.fs-platform.fs-platform.fs-platform :is(.stage.active,.tab[aria-selected="true"],.node.hl) {background:linear-gradient(110deg,#fff3c4,#fff9e7)!important;border-color:#d89b00!important;outline-color:#d89b00!important;box-shadow:0 0 0 2px rgba(251,191,36,.15)!important;color:#1e40af!important}
.fs-platform.fs-platform.fs-platform :is(.stage.active .num,.tab[aria-selected="true"] .ti) {background:#fbbf24!important;color:#1e3a8a!important;border-color:#d89b00!important}
.fs-platform.fs-platform.fs-platform .tab[aria-selected="true"] :is(b,strong,small) {color:#1e40af!important}
.fs-platform.fs-platform.fs-platform .step.now .card {background:linear-gradient(110deg,#fff3c4,#fff9e7)!important;border-color:#d89b00!important}
.fs-platform.fs-platform.fs-platform .step.now .card :is(h3,p,.st,.who) {color:#1e40af!important}
.fs-platform.fs-platform.fs-platform :is(.num,.n,.ti,.ico,.cn,.engagement-icon) {flex-shrink:0}
.fs-platform.fs-platform.fs-platform .engagement-icon {display:grid;place-items:center;width:40px;height:40px;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;color:#1e40af!important}
.fs-platform.fs-platform.fs-platform .engagement-icon svg {width:20px!important;height:20px!important}
.fs-platform.fs-platform.fs-platform :is(.ti,.num,.n,.ico,.cn) svg {max-width:24px!important;max-height:24px!important}
.fs-platform.fs-platform.fs-platform .head h2 {max-width:940px;margin-inline:auto;line-height:1.15!important}
.fs-platform.fs-platform.fs-platform .head .eyebrow {margin-bottom:12px}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"] :is(.eng,.measure,.role,.limit) {background:#fff!important;border-color:#dbeafe!important;color:#1e40af!important}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"] :is(.eng,.measure,.role,.limit) :is(h3,b,strong) {color:#1e40af!important}
.fs-platform.fs-platform.fs-platform [data-platform-tone="blue"] :is(.eng,.measure,.role,.limit) p {color:#475569!important}

/* Batch 3: balanced content widths and aligned product surfaces. */
.fs-platform.fs-platform.fs-platform .hero-copy {max-width:900px;gap:18px}
.fs-platform.fs-platform.fs-platform .hero-intro {max-width:700px;font-size:18px!important;line-height:1.55!important}
.fs-platform.fs-platform.fs-platform .ws {margin-top:36px!important}
.fs-platform.fs-platform.fs-platform .explorer {grid-template-columns:minmax(260px,.78fr) minmax(0,1.5fr);align-items:stretch;gap:24px}
.fs-platform.fs-platform.fs-platform .explorer > .tabs {height:100%;grid-auto-rows:1fr;gap:12px}
.fs-platform.fs-platform.fs-platform .explorer > .industry-stable-panels {height:100%}
.fs-platform.fs-platform.fs-platform .explorer .console {height:100%}
.fs-platform.fs-platform.fs-platform .console-top {padding:16px 20px;gap:10px}
.fs-platform.fs-platform.fs-platform .tab {padding:16px;min-height:82px;gap:12px}
.fs-platform.fs-platform.fs-platform .tab strong {font-size:15px!important;line-height:1.35!important}
.fs-platform.fs-platform.fs-platform .tab small {font-size:12px!important;line-height:1.5!important}
.fs-platform.fs-platform.fs-platform .grid3 {align-items:stretch}
.fs-platform.fs-platform.fs-platform .grid3 > .card-l {display:flex;flex-direction:column;gap:12px}
.fs-platform.fs-platform.fs-platform .grid3 > .card-l :is(h3,p) {margin:0!important}
.fs-platform.fs-platform.fs-platform .platforms {align-items:stretch;gap:24px}
.fs-platform.fs-platform.fs-platform .plat {padding:24px;gap:14px;height:100%}
.fs-platform.fs-platform.fs-platform .plat h3 {font-size:24px!important;line-height:1.25!important;margin:0!important}
.fs-platform.fs-platform.fs-platform .plat p {font-size:14px!important;line-height:1.6!important;margin:0!important}
.fs-platform.fs-platform.fs-platform .plat .go {display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dbeafe;margin-top:auto;padding-top:20px;min-height:44px}
.fs-platform.fs-platform.fs-platform .btn {min-height:46px;padding:12px 20px!important;white-space:normal;line-height:1.4!important;max-width:100%}
.fs-platform.fs-platform.fs-platform .engage {grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.fs-platform.fs-platform.fs-platform .engage > li {grid-column:span 2;padding:22px}
.fs-platform.fs-platform.fs-platform .engage > li:nth-child(4) {grid-column:2 / span 2}
.fs-platform.fs-platform.fs-platform .engage > li:nth-child(5) {grid-column:4 / span 2}
@media(max-width:980px){
 .fs-platform.fs-platform.fs-platform .explorer {grid-template-columns:1fr!important}
 .fs-platform.fs-platform.fs-platform .explorer > .tabs {height:auto;grid-auto-rows:auto}
 .fs-platform.fs-platform.fs-platform .engage {grid-template-columns:repeat(2,minmax(0,1fr))}
 .fs-platform.fs-platform.fs-platform .engage > li {grid-column:auto!important}
 .fs-platform.fs-platform.fs-platform .engage > li:last-child {grid-column:1/-1!important}
}
@media(max-width:650px){
 .fs-platform.fs-platform.fs-platform .hero-copy {gap:16px}
 .fs-platform.fs-platform.fs-platform .hero-intro {font-size:15px!important;line-height:1.6!important}
 .fs-platform.fs-platform.fs-platform .ws {margin-top:28px!important}
 .fs-platform.fs-platform.fs-platform .tab {padding:14px;min-height:72px}
 .fs-platform.fs-platform.fs-platform .plat {padding:20px}
 .fs-platform.fs-platform.fs-platform .plat h3 {font-size:22px!important}
 .fs-platform.fs-platform.fs-platform .engage {grid-template-columns:1fr}
 .fs-platform.fs-platform.fs-platform .btn {width:100%}
}
.fs-platform.fs-platform.fs-platform .explorer > .tabcol {display:flex;flex-direction:column;gap:16px;min-width:0}
.fs-platform.fs-platform.fs-platform .explorer > .tabcol .tabs {flex:1;grid-auto-rows:1fr}
.fs-platform.fs-platform.fs-platform .explorer > div > .industry-stable-panels {height:100%}
@media(max-width:980px){.fs-platform.fs-platform.fs-platform .explorer > .tabcol .tabs {flex:none;grid-auto-rows:auto}}
/* Preserve the inactive-panel contract inside the shared stability wrapper. */
.fs-platform.fs-platform.fs-platform .industry-stable-panels > .console.off {display:none!important;visibility:hidden!important;pointer-events:none!important}
.fs-platform.fs-platform.fs-platform .industry-stable-panels > .console:not(.off) {visibility:visible;opacity:1}
