:root {
  --safety-ink: #0d3b7f;
  --safety-copy: #31577f;
  --safety-cyan: #45e5d8;
  --safety-pale: #f3f7ff;
  --safety-line: rgba(91, 143, 202, .2);
  --safety-shadow: 0 .0417rem .1563rem rgba(64, 106, 158, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.safety-page { margin: 0; overflow-x: hidden; color: var(--safety-copy); background: #000; font-family: var(--font-cn-regular); }
.safety-page button, .safety-page input, .safety-page textarea { font: inherit; }
.safety-page a { color: inherit; text-decoration: none; }
.safety-page img { display: block; max-width: 100%; }

.safety-page__header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: .625rem;
  padding: 0 .3906rem;
  color: #fff;
  background: linear-gradient(180deg, rgba(2, 11, 25, .98), rgba(2, 11, 25, .78));
}
.safety-page__logo { width: 1.4583rem; }
.safety-page__logo img { width: 100%; max-height: .3125rem; object-fit: contain; object-position: left center; }
.safety-page__nav { display: flex; align-self: stretch; align-items: stretch; gap: .1458rem; margin-left: auto; }
.safety-page__nav > a, .safety-page__nav-group > a { display: flex; align-items: center; justify-content: center; min-width: .6979rem; padding: 0 .1042rem; color: #eef5ff; font-family: var(--font-cn-medium); font-size: .0833rem; }
.safety-page__nav > a:hover, .safety-page__nav > a:focus-visible, .safety-page__nav-group:hover > a { color: #072b62; background: var(--safety-cyan); }
.safety-page__nav-group { position: relative; display: flex; }
.safety-page__subnav { position: absolute; top: 100%; left: 50%; display: none; width: .9375rem; padding: .0781rem 0; transform: translateX(-50%); background: rgba(4, 15, 31, .94); box-shadow: var(--safety-shadow); }
.safety-page__subnav a { display: block; padding: .0677rem .1042rem; text-align: center; font-size: .0729rem; }
.safety-page__subnav a:hover, .safety-page__subnav a:focus-visible { color: var(--safety-cyan); }
.safety-page__nav-group:hover .safety-page__subnav, .safety-page__nav-group:focus-within .safety-page__subnav { display: block; }
.safety-page__menu-toggle { display: none; }

.safety-page__hero {
  position: relative;
  display: flex;
  min-height: 5.625rem;
  padding-top: .625rem;
  color: #fff;
  background: #06152b url("../assets/images/safety/safety-hero-bg.png") center top / cover no-repeat;
}
/*.safety-page__hero::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: .5208rem; background: linear-gradient(180deg, transparent, rgba(237, 245, 255, .98)); }*/
.safety-page__hero-inner { position: relative; z-index: 1; width: 7.5rem; margin: 0 auto; padding-top: 1.2708rem; text-align: center; }
.safety-page__hero h1 { margin: 0; color: #e6f3ff; font-family: var(--font-cn-bold); font-size: .2083rem; line-height: 1.5; letter-spacing: .0208rem; }
.safety-page__scenario-tabs { display: grid; grid-template-columns: repeat(4, 1fr); width: 3.6458rem; height: .3646rem; margin: .3125rem auto 0; padding: 0 .0521rem; background: url("../assets/images/safety/safety-hero-an.png") center / 100% 100% no-repeat; }
.safety-page__scenario-tabs button { position: relative; border: 0; color: #eaf5ff; background: transparent; cursor: pointer; font-size: .0729rem; }
.safety-page__scenario-tabs button::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: 0; background: url("../assets/images/safety/safety-hero-anx.png") center / 100% 100% no-repeat; transition: opacity .2s ease; }
.safety-page__scenario-tabs button[aria-selected="true"] { color: #fff; font-family: var(--font-cn-medium); }
.safety-page__scenario-tabs button[aria-selected="true"]::before { opacity: 1; }
.safety-page__hero h2 { margin: .1823rem 0 0; color: #e9f3ff; font-family: var(--font-cn-bold); font-size: .1563rem; line-height: 1.55; letter-spacing: .0104rem; }
.safety-page__hero p { width: 5.7292rem; margin: .1042rem auto 0; color: rgba(236, 246, 255, .84); font-size: .0729rem; line-height: 2; }

.safety-page__content { margin-top: -.0052rem; padding: .1563rem 0 .7292rem; background: linear-gradient(180deg, #edf5ff 0%, #f7faff 18%, #eff5ff 82%, #cfddf2 100%); }
.safety-page__container { width: 7.5rem; margin: 0 auto; }
.safety-page__industry-list { display: grid; grid-template-columns: repeat(5, 1fr); gap: .151rem; }
.safety-page__industry-list button {
  min-height: .3646rem;
  padding: .0625rem .0781rem;
  border: .005208rem solid rgba(204, 224, 246, .8);
  border-radius: .130208rem;
  color: var(--safety-ink);
  background: linear-gradient(180deg, #b4cce6 0%, #a5c2e2 48%, #a3c0e1 100%);
  box-shadow: inset 0 .010417rem .026042rem rgba(255,255,255,.55), inset 0 -.005208rem .020833rem rgba(113,151,194,.12), 0 .010417rem .026042rem rgba(64,106,158,.08);
  font-family: var(--font-cn-medium);
  font-size: .0729rem;
}
.safety-page__problem-list { display: grid; grid-template-columns: repeat(5, 1fr); gap: .151rem; margin-top: .1563rem; }
.safety-page__problem-card { min-height: 1.3542rem; padding: .25rem .1302rem .1563rem; border: .0052rem solid rgba(126, 163, 207, .13); border-radius: .0625rem; background: rgba(255, 255, 255, .72); box-shadow: var(--safety-shadow); text-align: center; }
.safety-page__problem-card h3 { display: none; margin: 0 0 .1042rem; color: var(--safety-ink); font-family: var(--font-cn-medium); font-size: .0833rem; line-height: 1.55; }
.safety-page__problem-card p { margin: 0; white-space: pre-line; font-size: .0625rem; line-height: 1.85; }
.safety-page__industry-note { margin: .2083rem 0 0; padding: .0521rem .2083rem; border-radius: .1302rem; color: #41668f; background: rgba(255,255,255,.68); box-shadow: 0 .0208rem .0781rem rgba(69, 110, 158, .08); text-align: center; font-size: .0625rem; line-height: 1.7; }
.safety-page__challenges, .safety-page__solutions, .safety-page__products { padding-top: .2865rem; text-align: center; }
.safety-page__challenges > h2, .safety-page__solutions > h2, .safety-page__products > h2 { margin: 0; color: var(--safety-ink); font-family: var(--font-cn-bold); font-size: .1302rem; line-height: 1.5; letter-spacing: .0078rem; }
.safety-page__section-intro { width: 6.25rem; margin: .0833rem auto .1823rem; color: #4c6d91; font-size: .0677rem; line-height: 1.8; }
.safety-page__challenge-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .0625rem; text-align: left; }
.safety-page__challenge-card { position: relative; overflow: hidden; min-height: 2.1354rem; border: .0052rem solid rgba(116, 155, 203, .15); border-radius: .0625rem; background: rgba(255,255,255,.82); box-shadow: var(--safety-shadow); }
.safety-page__challenge-card > span {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  width: 1.3rem;
  height: .4323rem;
  padding: .0781rem .0521rem 0;
  transform: translateX(-50%);
  border: .005208rem solid rgba(163, 194, 223, .45);
  border-radius: .130208rem;
  color: #eef7ff;
  background: linear-gradient(180deg, #b5cfe9 0%, #9ebddd 32%, #5b7b9e 65%, #183550 100%);
  box-shadow: inset 0 .010417rem .026042rem rgba(255,255,255,.55), inset 0 -.005208rem .020833rem rgba(99,154,194,.3);
  text-align: center;
  font-size: .0677rem;
}
.safety-page__challenge-card img { width: 100%; height: 1.0729rem; object-fit: cover; }
.safety-page__challenge-card > div { padding: .1042rem .1042rem .1302rem; }
.safety-page__challenge-card h3 { display: none; margin: 0 0 .0625rem; color: var(--safety-ink); text-align: center; font-family: var(--font-cn-medium); font-size: .0729rem; line-height: 1.55; }
.safety-page__challenge-card p { margin: 0; color: #557291; white-space: pre-line; font-size: .0573rem; line-height: 1.75; }
.safety-page__solution-list { display: grid; gap: .1719rem; width: 6.9792rem; margin: 0 auto; text-align: left; }
.safety-page__solution-row { position: relative; display: grid; grid-template-columns: .9375rem 1fr 2.0833rem; align-items: center; min-height: 1.3542rem; padding: .1042rem .1302rem .1042rem 0; border-radius: .0781rem; background: rgba(255,255,255,.76); box-shadow: var(--safety-shadow); }
.safety-page__solution-step { align-self: stretch; display: flex; align-items: center; justify-content: center; min-height: 1.3542rem; margin-left: -.2083rem; padding-bottom: .2083rem; color: #fff; background: url("../assets/images/safety/safety-tx.png") center / 100% 100% no-repeat; font-family: var(--font-cn-medium); font-size: .0833rem; }
.safety-page__solution-copy { padding: .1042rem .2083rem; }
.safety-page__solution-copy h3 { margin: 0 0 .0833rem; color: var(--safety-ink); font-family: var(--font-cn-bold); font-size: .0938rem; line-height: 1.55; }
.safety-page__solution-copy p { margin: 0; white-space: pre-line; font-size: .0625rem; line-height: 1.8; }
.safety-page__solution-row img { width: 2.0833rem; height: 1.1719rem; border-radius: .0417rem; object-fit: cover; }
.safety-page__product-list { display: flex; flex-wrap: wrap; justify-content: center; gap: .0781rem; margin-top: .1302rem; }
.safety-page__product-list a { display: inline-flex; align-items: center; justify-content: center; min-width: 1.1979rem; min-height: .2083rem; padding: .0417rem .1042rem; border: .0052rem solid rgba(94, 139, 194, .18); border-radius: .1042rem; color: var(--safety-ink); background: rgba(255,255,255,.65); box-shadow: 0 .0208rem .0781rem rgba(61, 101, 151, .07); font-size: .0625rem; }

.safety-page__footer { position: relative; min-height: 3.125rem; overflow: hidden; padding: 1.0677rem 0 .2604rem; color: rgba(225,235,247,.78); background: #01040a; }
.safety-page__footer-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .95; }
.safety-page__footer-panel, .safety-page__footer-meta { position: relative; z-index: 1; width: 7.5rem; margin: 0 auto; }
.safety-page__footer-panel { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: .2083rem; padding: .1563rem .2604rem; border: .0052rem solid rgba(126,169,214,.13); border-radius: .0625rem; background: rgba(8,17,31,.84); }
.safety-page__footer-panel section + section { border-left: .0052rem solid rgba(160,186,215,.22); padding-left: .2083rem; }
.safety-page__footer h2 { margin: 0 0 .1042rem; color: #e9f3ff; font-size: .0781rem; }
.safety-page__footer p { margin: .0417rem 0; font-size: .0573rem; line-height: 1.7; }
.safety-page__follow > div { display: flex; gap: .1042rem; }
.safety-page__follow figure { margin: 0; text-align: center; }
.safety-page__follow img { width: .4167rem; height: .4167rem; }
.safety-page__follow figcaption { margin-top: .0313rem; font-size: .0521rem; }
.safety-page__footer-meta { margin-top: .1302rem; text-align: center; }
.safety-page__floating { position: fixed; z-index: 30; right: clamp(16px, 4vw, 72px); top: 82%; display: flex; flex-direction: column; gap: 12px; transform: translateY(-50%); }
.safety-page__floating button { width: 0.4167rem; height: 0.4167rem; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.safety-page__floating img { width: 100%; height: 100%; }

body.safety-page.lead-modal-open { overflow: hidden; }
.safety-page__lead-modal[hidden] { display: none; }
.safety-page__lead-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; }
.safety-page__lead-modal .lead-modal__mask { position: absolute; inset: 0; background: rgba(0,8,20,.72); }
.safety-page__lead-modal .lead-modal__panel { position: relative; z-index: 1; display: grid; gap: .0781rem; width: 2.9167rem; max-height: 90vh; max-height: 90dvh; overflow-y: auto; font-size: .0677rem; line-height: 1.5; padding: .2083rem; border: .0052rem solid rgba(69,229,216,.35); border-radius: .0625rem; background: #f4f8ff; box-shadow: 0 .1042rem .3125rem rgba(0,0,0,.3); }
.safety-page__lead-modal h2 { margin: 0 0 .0521rem; color: var(--safety-ink); text-align: center; font-size: .1302rem; }
.safety-page__lead-modal label span { display: block; margin-bottom: .0313rem; color: var(--safety-ink); font-size: .0625rem; }
.safety-page__lead-modal input, .safety-page__lead-modal textarea { display: block; width: 100%; padding: .0521rem .0625rem; border: .0052rem solid #cbd9ea; border-radius: .0313rem; color: #274b72; background: #fff; font-size: .0677rem; }
.safety-page__lead-modal textarea { min-height: .5208rem; resize: vertical; }
.safety-page__lead-modal .lead-modal__close { position: absolute; top: .0781rem; right: .0781rem; width: .1302rem; height: .1302rem; border: 0; background: transparent; }
.safety-page__lead-modal .lead-modal__close::before, .safety-page__lead-modal .lead-modal__close::after { content: ""; position: absolute; top: 50%; left: 15%; width: 70%; height: .0104rem; background: var(--safety-ink); }
.safety-page__lead-modal .lead-modal__close::before { transform: rotate(45deg); }
.safety-page__lead-modal .lead-modal__close::after { transform: rotate(-45deg); }
.safety-page__lead-modal .lead-modal__submit { min-height: .2292rem; border: 0; border-radius: .0313rem; color: #073d70; background: var(--safety-cyan); font-family: var(--font-cn-medium); font-size: .0729rem; }
.safety-page__lead-modal .lead-modal__website { position: absolute; left: -52.0833rem; }
.safety-page__lead-modal .lead-modal__status { color: #476788; text-align: center; font-size: .0573rem; }

/* Desktop geometry measured from the supplied 1920-wide design export.
   Keep these rules local to this page; mobile retains its wrapping layout. */
@media (min-width: 1025px) {
  .safety-page__hero-inner { padding-top: 1.354167rem; }
  .safety-page__scenario-tabs { margin-top: .916667rem; padding: 0; }
  .safety-page__scenario-tabs button { isolation: isolate; font-size: .09375rem; }
  .safety-page__hero h2 { margin-top: .395833rem; font-size: .166667rem; }
  .safety-page__hero p { width: 7.395833rem; margin-top: .3125rem; font-size: .09375rem; letter-spacing: .010417rem; }
  .safety-page__container { width: 7.395833rem; }
  .safety-page__content { padding-top: .208333rem; padding-bottom: 0; background: #f2f7ff; }
  .safety-page__content::after { content: ''; display: block; height: 1.25rem; background: linear-gradient(180deg, #f2f7ff, #bfd1eb 20%, #7796bf 58%, #000 100%); }
  .safety-page__industry-list, .safety-page__problem-list { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .286458rem; }
  .safety-page__industry-list button { color: #fff; font-size: .09375rem; letter-spacing: .010417rem; }
  .safety-page__problem-list { margin-top: .427083rem; }
  .safety-page__problem-card { min-height: 1.223958rem; padding: .3125rem .104167rem; border-radius: .104167rem; }
  .safety-page__problem-card h3 { font-size: .09375rem; }
  .safety-page__problem-card p { font-size: .083333rem; }
  .safety-page__industry-note { margin-top: .416667rem; min-height: .260417rem; font-size: .09375rem; letter-spacing: .005208rem; }
  .safety-page__challenges { padding-top: .395833rem; }
  .safety-page__challenges > h2, .safety-page__solutions > h2, .safety-page__products > h2 { font-size: .166667rem; letter-spacing: .010417rem; }
  .safety-page__section-intro { font-size: .09375rem; line-height: 1.8; letter-spacing: .005208rem; }
  .safety-page__challenges > .safety-page__section-intro { margin-top: .15625rem; margin-bottom: .625rem; min-height: .260417rem; }
  .safety-page__challenge-grid { gap: .072917rem; }
  .safety-page__challenge-card { min-height: 3.385417rem; overflow: visible; border-radius: .104167rem; }
  .safety-page__challenge-card > span { top: -.260417rem; font-size: .1rem; padding-top: .09375rem;font-weight: 600; }
  .safety-page__challenge-card img { height: 1.34375rem; border-radius: .104167rem .104167rem 0 0; }
  .safety-page__challenge-card > div { padding: .15625rem .15625rem .260417rem; }
  .safety-page__challenge-card h3 { font-size: .09375rem; line-height: 1.8; margin-bottom: .15625rem; }
  .safety-page__challenge-card p { font-size: .09375rem; line-height: 1.8; letter-spacing: .005208rem; }
  .safety-page__solutions { padding-top: .416667rem; }
  .safety-page__solutions > .safety-page__section-intro { margin-top: .15625rem; margin-bottom: .416667rem; }
  .safety-page__solution-list { width: 7.083333rem; margin-left: .3125rem; gap: .729167rem; }
  .safety-page__solution-row { display: grid; grid-template-columns: minmax(0, 1fr) 2.083333rem; min-height: 2.65625rem; padding: .9375rem .260417rem .3125rem 1.041667rem; column-gap: .104167rem; border-radius: .208333rem; }
  .safety-page__solution-step { position: absolute; top: .833333rem; left: -.3125rem; width: 1.192708rem; height: 2.385417rem; min-height: 0; margin: 0; padding: 0 0 .3125rem; font-size: .166667rem; letter-spacing: .020833rem; }
  .safety-page__solution-copy { padding: 0; }
  .safety-page__solution-copy h3 { position: absolute; top: .364583rem; left: .729167rem; right: .260417rem; margin: 0; text-align: center; font-size: .166667rem; line-height: 1.6; letter-spacing: .010417rem; }
  .safety-page__solution-copy p { font-size: .104167rem; line-height: 1.7; letter-spacing: .005208rem; }
  .safety-page__solution-row img { width: 2.083333rem; height: 1.171875rem; border-radius: .078125rem; }
  .safety-page__products { padding-top: .729167rem; padding-bottom: .416667rem; }
  .safety-page__product-list { gap: .15625rem; margin-top: .260417rem; }
  .safety-page__product-list a { flex: 0 1 auto; min-width: .833333rem; max-width: 100%; padding-left: .15625rem; padding-right: .15625rem; min-height: .3125rem; font-size: .09375rem; border-radius: .15625rem; overflow-wrap: anywhere; }
  .safety-page__footer { min-height: 4.739584rem; padding-top: .416667rem; background: #000; }
  .safety-page__footer-panel, .safety-page__footer-meta { width: 7.395833rem; }
  .safety-page__footer-panel { min-height: 1.510417rem; padding: .260417rem .3125rem; }
  .safety-page__footer h2 { font-size: .09375rem; }
  .safety-page__footer p { font-size: .072917rem; line-height: 2; }
  .safety-page__follow img { width: .572917rem; height: .572917rem; }
  .safety-page__follow figcaption { font-size: .072917rem; }
}

/* Counter excessive text shrinkage on laptop-width PC windows. */
@media (min-width: 1025px) and (max-width: 1599px) {
  .safety-page__challenge-card p, .safety-page__challenge-card h3,
  .safety-page__problem-card h3, .safety-page__problem-card p,
  .safety-page__section-intro, .safety-page__industry-note,
  .safety-page__industry-list button, .safety-page__product-list a,
  .safety-page__scenario-tabs button, .safety-page__hero p { font-size: .11rem; }
  .safety-page__solution-copy p { font-size: .135417rem; }
  .safety-page__solution-row { min-height: 2.864583rem; }
}

@media (max-width: 1024px) {
  .safety-page__header { position: absolute; height: 1.2308rem; padding: 0 .4103rem; }
  .safety-page__logo { width: 3.3333rem; }
  .safety-page__logo img { max-height: .7692rem; }
  .safety-page__menu-toggle { position: relative; z-index: 22; display: grid; gap: .1282rem; width: .7692rem; height: .7692rem; margin-left: auto; padding: .1795rem .1282rem; border: .0256rem solid rgba(255,255,255,.35); border-radius: .1026rem; background: rgba(4,18,38,.45); }
  .safety-page__menu-toggle span { display: block; width: 100%; height: .0513rem; border-radius: .0256rem; background: #fff; transition: transform .2s, opacity .2s; }
  .safety-page__menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(.1795rem) rotate(45deg); }
  .safety-page__menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .safety-page__menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-.1795rem) rotate(-45deg); }
  .safety-page__nav { position: fixed; z-index: 21; top: 0; right: 0; display: none; align-items: stretch; width: 7.6923rem; height: 100vh; padding: 1.5385rem .5128rem .5128rem; background: rgba(2,11,25,.98); }
  .safety-page__nav[data-open="true"] { display: block; }
  .safety-page__nav > a, .safety-page__nav-group > a { justify-content: flex-start; min-height: 1.0256rem; font-size: .359rem; }
  .safety-page__nav-group { display: block; }
  .safety-page__subnav { position: static; display: block; width: auto; padding: 0 0 .2564rem .5128rem; transform: none; background: none; box-shadow: none; }
  .safety-page__subnav a { padding: .1795rem .2564rem; text-align: left; font-size: .3077rem; }
  .safety-page__hero { min-height: 12.3077rem; padding-top: 1.2308rem; background-position: 51% top; }
  .safety-page__hero::after { height: 1.2821rem; }
  .safety-page__hero-inner, .safety-page__container, .safety-page__footer-panel, .safety-page__footer-meta { width: calc(100% - .8205rem); }
  .safety-page__hero-inner { padding-top: 2.3077rem; }
  .safety-page__hero h1 { font-size: .6667rem; letter-spacing: .0513rem; }
  .safety-page__scenario-tabs { grid-template-columns: repeat(2, 1fr); width: 8.4615rem; max-width: 100%; height: auto; gap: .2051rem; margin-top: .7692rem; padding: .2051rem; background-size: 100% 100%; }
  .safety-page__scenario-tabs button { min-height: 1.0256rem; font-size: .3077rem; }
  .safety-page__hero h2 { margin-top: .7692rem; font-size: .5128rem; }
  .safety-page__hero p { width: 8.4615rem; max-width: 100%; margin-top: .3077rem; font-size: .3077rem; line-height: 1.8; }
  .safety-page__content { padding: .5128rem 0 1.2821rem; }
  .safety-page__industry-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .2564rem; }
  .safety-page__industry-list button { min-height: 1.0256rem; padding: .1538rem; border-radius: .333333rem; border-width: .025641rem; font-size: .3077rem; }
  .safety-page__problem-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .2564rem; margin-top: .4103rem; }
  .safety-page__problem-card { min-height: 2.8205rem; padding: .5128rem .3077rem; border-width: .0128rem; border-radius: .1538rem; }
  .safety-page__problem-card h3 { margin-bottom: .2564rem; font-size: .359rem; }
  .safety-page__problem-card p { font-size: .2821rem; }
  .safety-page__industry-note { margin-top: .4103rem; padding: .2051rem .3077rem; border-radius: .2564rem; font-size: .2821rem; }
  .safety-page__challenges, .safety-page__solutions, .safety-page__products { padding-top: .7692rem; }
  .safety-page__challenges > h2, .safety-page__solutions > h2, .safety-page__products > h2 { font-size: .5128rem; }
  .safety-page__section-intro { width: 8.4615rem; max-width: 100%; margin: .2564rem auto .5128rem; font-size: .2821rem; }
  .safety-page__challenge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .2564rem; }
  .safety-page__challenge-card { min-height: 5.3846rem; border-width: .0128rem; border-radius: .1538rem; }
  .safety-page__challenge-card > span {
    top: .179487rem;
    left: .179487rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    min-height: .589744rem;
    padding: .102564rem .230769rem;
    transform: none;
    border: .012821rem solid rgba(205, 232, 255, .45);
    border-radius: .153846rem;
    background: rgba(13, 44, 78, .78);
    box-shadow: none;
    backdrop-filter: blur(.102564rem);
    color: #fff;
    font-family: var(--font-cn-medium);
    font-size: .307692rem;
    line-height: 1.25;
    white-space: nowrap;
  }
  .safety-page__challenge-card img { height: 2.9744rem; }
  .safety-page__challenge-card > div { padding: .3077rem; }
  .safety-page__challenge-card h3 { font-size: .3333rem; }
  .safety-page__challenge-card p { font-size: .2564rem; }
  .safety-page__solution-list { width: 100%; gap: .4103rem; }
  .safety-page__solution-row { grid-template-columns: 1fr; padding: 0 0 .4103rem; border-radius: .1538rem; overflow: hidden; }
  .safety-page__solution-step { min-height: .8974rem; margin: 0; padding: 0; background: #8fb1d7; font-size: .359rem; }
  .safety-page__solution-copy { padding: .4103rem; }
  .safety-page__solution-copy h3 { font-size: .4103rem; }
  .safety-page__solution-copy p { font-size: .2821rem; }
  .safety-page__solution-row img { width: calc(100% - .8205rem); height: auto; margin: 0 .4103rem; border-radius: .1026rem; }
  .safety-page__product-list { display: flex; flex-wrap: wrap; justify-content: center; gap: .2564rem; margin-top: .4103rem; }
  .safety-page__product-list a { flex: 0 1 auto; min-width: 2.307692rem; max-width: 100%; padding-left: .410256rem; padding-right: .410256rem; min-height: .7692rem; border-width: .0128rem; border-radius: .3846rem; font-size: .2821rem; overflow-wrap: anywhere; }
  .safety-page__footer { min-height: 10.2564rem; padding: 2.0513rem 0 .5128rem; }
  .safety-page__footer-panel { grid-template-columns: 1fr; gap: .5128rem; padding: .5128rem; border-radius: .1538rem; }
  .safety-page__footer-panel section + section { padding: .5128rem 0 0; border-top: .0128rem solid rgba(160,186,215,.22); border-left: 0; }
  .safety-page__footer h2 { font-size: .359rem; }
  .safety-page__footer p, .safety-page__follow figcaption { font-size: .2564rem; }
  .safety-page__follow img { width: 1.5385rem; height: 1.5385rem; }
  .safety-page__footer-meta { margin-top: .4103rem; }
  .safety-page__lead-modal .lead-modal__panel { width: 8.7179rem; padding: .5128rem; gap: .2564rem; border-width: .0128rem; border-radius: .1538rem; }
  .safety-page__lead-modal h2 { font-size: .5128rem; }
  .safety-page__lead-modal label span, .safety-page__lead-modal input, .safety-page__lead-modal textarea, .safety-page__lead-modal .lead-modal__submit { font-size: .3077rem; }
  .safety-page__lead-modal input, .safety-page__lead-modal textarea { padding: .2051rem; border-width: .0128rem; border-radius: .0769rem; }
  .safety-page__lead-modal textarea { min-height: 1.7949rem; }
  .safety-page__lead-modal .lead-modal__close { top: .2051rem; right: .2051rem; width: .5128rem; height: .5128rem; }
  .safety-page__lead-modal .lead-modal__submit { min-height: .8974rem; }
}

@media (max-width: 480px) {
  .safety-page__challenge-grid { grid-template-columns: 1fr; }
  .safety-page__challenge-card { min-height: 7.1795rem; }
  .safety-page__challenge-card img { height: 4.6154rem; }
}

.safety-page__industry-list { grid-auto-rows: 1fr; }
.safety-page__industry-pair { min-width: 0; display: flex; flex-direction: column; }
.safety-page__industry-pair > button { display: block; width: 100%; }
.safety-page__industry-pair > .safety-page__problem-card { margin-top: .327083rem; flex: 1; }
.safety-page [data-safety-problems][hidden] { display: none; }
.safety-page a.safety-page__apply { display: flex; align-items: center; justify-content: center; background: #45e5d8; color: #0d3b7f; font-family: var(--font-cn-regular); line-height: 1; white-space: nowrap; }
.safety-page__apply:hover { filter: brightness(1.1); }
@media (min-width: 1025px) {
  .safety-page__header { position: fixed; z-index: 50; height: .625rem; padding: 0; background: linear-gradient(180deg, rgba(13,59,127,.28), rgba(0,0,0,.5)); backdrop-filter: blur(.078125rem); }
  .safety-page__logo { position: absolute; left: .390625rem; top: .15625rem; width: 1.140625rem; height: .3125rem; }
  .safety-page__logo img { width: 100%; height: 100%; }
  .safety-page__nav { position: absolute; top: 0; left: 4.3125rem; height: .432292rem; margin: 0; align-items: flex-start; gap: .395833rem; }
  .safety-page__nav-group { width: .833333rem; height: .432292rem; display: block; }
  .safety-page__nav > a, .safety-page__nav-group > a { position: relative; z-index: 2; min-width: .510417rem; height: .432292rem; padding: .239583rem 0 0; font-family: var(--font-cn-medium); font-size: .083333rem; font-weight: 500; letter-spacing: .003333rem; color: #cfd8e5; background: transparent; }
  .safety-page__nav > a:hover, .safety-page__nav-group:hover > a, .safety-page__nav a[aria-current='page'] { color: #0d3b7f; background: transparent; }
  .safety-page__nav > a:hover::before, .safety-page__nav-group > a:hover::before, .safety-page__nav a[aria-current='page']::before { content: ''; position: absolute; z-index: -1; top: 0; left: 50%; transform: translateX(-50%); width: .510417rem; height: .432292rem; background: #45e5d8; }
  .safety-page__subnav { top: 0; left: 0; width: .833333rem; min-height: 2rem; padding: .697917rem 0 .052083rem; transform: none; border-radius: 0 0 .052083rem .052083rem; background: rgba(255,134,13,.05); box-shadow: inset 0 0 .104167rem rgba(13,59,127,.3), inset 0 .130208rem .15625rem rgba(255,255,255,.2); backdrop-filter: blur(.078125rem); }
  .safety-page__subnav a { padding: .052083rem .026042rem; margin-bottom: .104167rem; font-size: .083333rem; font-family: var(--font-cn-medium); white-space: nowrap; }
  .safety-page__apply { position: absolute; left: 9.072917rem; top: .257813rem; width: .46875rem; height: .15625rem; border-radius: .041667rem; font-size: .083333rem; font-weight: 500; letter-spacing: .003333rem; }
}
@media (max-width: 1024px) {
  .safety-page__header { position: fixed; z-index: 50; }
  .safety-page__apply { position: relative; z-index: 23; order: 1; width: 1.923077rem; height: .769231rem; margin-left: auto; border-radius: .153846rem; font-size: .307692rem; }
  .safety-page__menu-toggle { order: 2; margin-left: .25641rem; }
  .safety-page__nav { overflow-y: auto; padding-bottom: 1.025641rem; }
  .safety-page__industry-pair > .safety-page__problem-card { margin-top: .25641rem; }
}

/* Explicit foreground layers keep hero labels legible over the artwork. */
.safety-page__hero h1 {
  position: relative;
  isolation: isolate;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  font-family: var(--font-cn-bold);
  font-weight: 700;
  color: #fff;
}
.safety-page__hero h1::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 12% 0 12% 34%;
  background: #45e5d8;
}
.safety-page__scenario-tabs button {
  isolation: isolate;
  font-family: var(--font-cn-regular);
  font-weight: 400;
  line-height: 1.5;
}
.safety-page__scenario-tabs button[aria-selected='true'] {
  color: #45e5d8;
  font-family: var(--font-cn-medium);
  font-weight: 500;
  text-shadow: 0 0 .052083rem rgba(69,229,216,.3);
}
@media (min-width: 1025px) {
  /* Lanhu 1920px canvas: rectangle at (912, 406), size 191 x 47. */
  .safety-page__hero h1::before {
    inset: .135417rem auto auto calc(50% - .25rem);
    width: .92rem;
    height: .244792rem;
    border-radius: 0;
  }
  .safety-page__subnav {
    background: rgba(6, 25, 49, .97);
    box-shadow: 0 .052083rem .15625rem rgba(0,0,0,.25), inset 0 0 .005208rem rgba(160,205,255,.35);
  }
  .safety-page__subnav a { color: #eef6ff; }
  .safety-page__subnav a:hover, .safety-page__subnav a:focus-visible {
    color: #45e5d8;
    background: rgba(69,229,216,.12);
  }
}
@media (max-width: 1024px) {
  .safety-page__hero {
    height: auto;
    padding-bottom: 1.794872rem;
    background-image: linear-gradient(rgba(3,20,42,.12), rgba(3,20,42,.55)), url('../assets/images/safety/safety-hero-bg.png');
  }
  .safety-page__hero::after { height: 1.025641rem; pointer-events: none; }
  .safety-page__hero-inner { padding-top: 1.538462rem; }
  .safety-page__scenario-tabs { background: none; padding: 0; gap: .25641rem; }
  .safety-page__scenario-tabs button {
    min-width: 0;
    min-height: 1.025641rem;
    padding: .205128rem .128205rem;
    border: .025641rem solid rgba(192,220,248,.6);
    border-radius: .205128rem;
    background: rgba(9,40,73,.88);
    color: #fff;
    font-size: .358974rem;
  }
  .safety-page__scenario-tabs button::before { display: none; }
  .safety-page__scenario-tabs button[aria-selected='true'] {
    background: #45e5d8;
    border-color: #45e5d8;
    color: #0d3b7f;
    text-shadow: none;
  }
  .safety-page__hero p {
    margin-top: .410256rem;
    padding: .307692rem .358974rem;
    border-radius: .205128rem;
    background: rgba(4,24,48,.85);
    color: #fff;
    font-family: var(--font-cn-regular);
    font-size: .358974rem;
    line-height: 1.9;
  }
}

/* Centre incomplete rows and size the group from its count/content density. */
.safety-page__industry-list, .safety-page__challenge-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  --safety-card-gap: .15625rem;
  gap: var(--safety-card-gap);
}
.safety-page__industry-pair, .safety-page__challenge-card {
  flex: 0 0 calc((100% - (var(--safety-card-columns, 5) - 1) * var(--safety-card-gap)) / var(--safety-card-columns, 5));
  min-width: 0;
}
.safety-page__problem-card p, .safety-page__challenge-card p { overflow-wrap: anywhere; text-align: left;text-align: justify;}
@media (min-width: 1025px) {
  .safety-page__challenge-grid { row-gap: .416667rem; }
  .safety-page__challenge-card { min-height: 0; }
  .safety-page__challenge-card img { object-fit: cover; }
}
@media (min-width: 1025px) and (max-width: 1599px) {
  /* Reserve two title lines so the problem cards start at the same height. */
  .safety-page__industry-pair > button { min-height: .47rem; line-height: 1.5; }
  .safety-page__industry-pair {
    flex-basis: calc((100% - 4 * var(--safety-card-gap)) / 5);
  }
  .safety-page__challenge-card {
    flex-basis: calc((100% - (min(var(--safety-card-columns, 5), 3) - 1) * var(--safety-card-gap)) / min(var(--safety-card-columns, 5), 3));
  }
}
@media (max-width: 1024px) {
  .safety-page__industry-list, .safety-page__challenge-grid { --safety-card-gap: .25641rem; }
  .safety-page__industry-pair, .safety-page__challenge-card { flex-basis: calc((100% - var(--safety-card-gap)) / 2); }
}
@media (max-width: 480px) {
  .safety-page__challenge-card { flex-basis: 100%; min-height: 0; }
}

/* Match the shared footer's desktop typography and decorative rules. */
@media (min-width: 1025px) {
  .safety-page__footer-panel { border: 0; }
  .safety-page__footer-panel section { position: relative; }
  .safety-page__footer-panel section + section { border-left: 0; }
  .safety-page__footer-panel section + section::before { content: ''; position: absolute; left: 0; top: 50%; width: .010417rem; height: .96875rem; background: rgba(255,255,255,.5); transform: translateY(-50%); }
  .safety-page__footer h2 { position: relative; margin: 0 0 .223958rem; color: #fff; font-family: var(--font-cn-regular); font-size: .083333rem; font-weight: 400; line-height: .15625rem; letter-spacing: .008333rem; }
  .safety-page__footer h2::before { content: ''; position: absolute; left: -.135417rem; top: 0; width: .041667rem; height: .135417rem; background: #45e5d8; }
  .safety-page__footer-panel p { margin: 0; color: #fff; font-family: var(--font-cn-light); font-size: .083333rem; font-weight: 300; line-height: .270833rem; letter-spacing: .008333rem; }
  .safety-page__footer-panel a { text-decoration: underline; text-underline-offset: .015625rem; }
  .safety-page__follow figcaption { margin-top: .036458rem; color: #fff; font-family: var(--font-cn-light); font-size: .0625rem; font-weight: 300; line-height: .104167rem; letter-spacing: .00625rem; }
  .safety-page__footer-meta p { color: #f3f4fa; font-family: var(--font-cn-light); font-size: .0625rem; font-weight: 300; line-height: .15625rem; letter-spacing: .00625rem; }
  .safety-page__footer-meta .footer-copyright { margin-bottom: .166667rem; }
  .safety-page__footer-meta .footer-copyright a { text-decoration: underline; text-underline-offset: .010417rem; }
  .safety-page__footer-meta .footer-links a { margin-left: .083333rem; }
}
@media (max-width: 767px) {
  .safety-page__floating { right: 12px; }
  .safety-page__floating button { width: 64px; height: 64px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .safety-page *, .safety-page *::before, .safety-page *::after { transition: none !important; }
}
