
/* v0.6.4 — single visual specification for ALL interior-page heroes.
   The homepage intentionally keeps its own design. */
.sfpc-e-page .sfpc-e-hero,
.sfpc-alarm .sfpc-a-hero,
.sfpc-extra .sfpc-extra-hero,
.sfpc-training .sfpc-training-hero,
.sfpc-team .sfpc-team-hero {
  box-sizing:border-box!important;
  min-height:570px!important;
  height:auto!important;
  padding:72px 0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  position:relative!important;
  isolation:isolate!important;
  background:#171717!important;
  background-image:linear-gradient(120deg,#101010,#292020)!important;
  background-size:cover!important;
  background-position:center!important;
  border:0!important;
  border-bottom:7px solid #a71930!important;
  text-align:left!important;
}
.sfpc-extra .sfpc-extra-hero::before{display:none!important;content:none!important}
.sfpc-e-page .sfpc-e-hero > .sfpc-e-container,
.sfpc-alarm .sfpc-a-hero > .sfpc-a-container,
.sfpc-extra .sfpc-extra-hero > .sfpc-extra-container,
.sfpc-training .sfpc-training-hero > .sfpc-training-container,
.sfpc-team .sfpc-team-hero > .sfpc-team-wrap{
  width:min(1200px,calc(100% - 44px))!important;
  max-width:1200px!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  text-align:left!important;
}
.sfpc-e-page .sfpc-e-hero :is(.sfpc-e-kicker),
.sfpc-alarm .sfpc-a-hero :is(.sfpc-a-kicker),
.sfpc-extra .sfpc-extra-hero :is(.sfpc-extra-kicker),
.sfpc-training .sfpc-training-hero :is(.sfpc-training-kicker),
.sfpc-team .sfpc-team-hero :is(.sfpc-team-kicker){
  color:#fff!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.4!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  text-align:left!important;
  margin:0 0 18px!important;
  width:auto!important;
}
.sfpc-e-page .sfpc-e-hero h1,
.sfpc-alarm .sfpc-a-hero h1,
.sfpc-extra .sfpc-extra-hero h1,
.sfpc-training .sfpc-training-hero h1,
.sfpc-team .sfpc-team-hero h1{
  font-family:inherit!important;
  font-size:clamp(44px,6vw,78px)!important;
  font-weight:800!important;
  line-height:1.09!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
  max-width:780px!important;
  text-align:left!important;
  margin:0 0 20px!important;
}
.sfpc-e-page .sfpc-e-hero p,
.sfpc-alarm .sfpc-a-hero p,
.sfpc-extra .sfpc-extra-hero p,
.sfpc-training .sfpc-training-hero p,
.sfpc-team .sfpc-team-hero p{
  font-family:inherit!important;
  font-size:20px!important;
  font-weight:400!important;
  line-height:1.7!important;
  color:#e2e2e2!important;
  max-width:660px!important;
  margin:0!important;
  text-align:left!important;
}
.sfpc-e-page .sfpc-e-hero :is(.sfpc-e-buttons),
.sfpc-alarm .sfpc-a-hero :is(.sfpc-a-buttons),
.sfpc-extra .sfpc-extra-hero :is(.sfpc-extra-buttons),
.sfpc-team .sfpc-team-hero :is(.sfpc-team-hero-actions){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:28px 0 0!important;
  width:auto!important;
}
.sfpc-training .sfpc-training-hero .sfpc-training-btn{
  align-self:flex-start!important;
  margin:28px 0 0!important;
  border-radius:0!important;
}
@media(max-width:650px){
  .sfpc-e-page .sfpc-e-hero,.sfpc-alarm .sfpc-a-hero,
  .sfpc-extra .sfpc-extra-hero,.sfpc-training .sfpc-training-hero,
  .sfpc-team .sfpc-team-hero{
    min-height:520px!important;
    padding:65px 0!important;
  }
  .sfpc-e-page .sfpc-e-hero h1,.sfpc-alarm .sfpc-a-hero h1,
  .sfpc-extra .sfpc-extra-hero h1,.sfpc-training .sfpc-training-hero h1,
  .sfpc-team .sfpc-team-hero h1{font-size:clamp(42px,10vw,60px)!important}
  .sfpc-e-page .sfpc-e-hero p,.sfpc-alarm .sfpc-a-hero p,
  .sfpc-extra .sfpc-extra-hero p,.sfpc-training .sfpc-training-hero p,
  .sfpc-team .sfpc-team-hero p{font-size:18px!important}
}

/* v0.7.2 shared redesign */
/* SFPC Design System 2026 — cohesive, image-optional editorial layout */
:where(.sfpc-extra,.sfpc-e-page,.sfpc-alarm,.sfpc-training,.sfpc-team){--sfpc-ink:#111316;--sfpc-muted:#3e4249;--sfpc-red:#a71930;--sfpc-soft:#f5f5f6;--sfpc-line:#e5e5e7;--sfpc-width:1180px;font-family:inherit;color:var(--sfpc-ink);-webkit-font-smoothing:antialiased}
:where(.sfpc-extra,.sfpc-e-page,.sfpc-alarm,.sfpc-training,.sfpc-team) :is(h1,h2,h3,h4,p,ul,li){overflow-wrap:break-word}
:where(.sfpc-extra,.sfpc-e-page,.sfpc-alarm,.sfpc-training,.sfpc-team) :is(h2,h3){text-wrap:balance;letter-spacing:-.035em}
:where(.sfpc-extra,.sfpc-e-page,.sfpc-alarm,.sfpc-training,.sfpc-team) :is(p,li){line-height:1.65}
/* All non-home hero areas: unified proportions and typography */
.sfpc-extra .sfpc-extra-hero,.sfpc-e-page .sfpc-e-hero,.sfpc-alarm .sfpc-a-hero,.sfpc-training .sfpc-training-hero,.sfpc-team .sfpc-team-hero{min-height:510px!important;padding:100px 0!important;background:#18191c!important;background-image:linear-gradient(115deg,#131416 0%,#252226 100%)!important;border-bottom:5px solid #a71930!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:left!important}
.sfpc-extra .sfpc-extra-hero .sfpc-extra-container,.sfpc-e-page .sfpc-e-hero .sfpc-e-container,.sfpc-alarm .sfpc-a-hero .sfpc-a-container,.sfpc-training .sfpc-training-hero .sfpc-training-container,.sfpc-team .sfpc-team-hero .sfpc-team-wrap{width:min(1180px,calc(100% - 48px))!important;max-width:1180px!important;margin:0 auto!important;align-items:flex-start!important;text-align:left!important}
.sfpc-extra .sfpc-extra-hero h1,.sfpc-e-page .sfpc-e-hero h1,.sfpc-alarm .sfpc-a-hero h1,.sfpc-training .sfpc-training-hero h1,.sfpc-team .sfpc-team-hero h1{font-size:clamp(44px,5.5vw,76px)!important;line-height:1.06!important;font-weight:800!important;max-width:900px!important;margin:0 0 20px!important;color:#fff!important;letter-spacing:-.045em!important}
.sfpc-extra .sfpc-extra-hero p,.sfpc-e-page .sfpc-e-hero p,.sfpc-alarm .sfpc-a-hero p,.sfpc-training .sfpc-training-hero p,.sfpc-team .sfpc-team-hero p{font-size:clamp(17px,1.6vw,21px)!important;line-height:1.65!important;max-width:670px!important;color:#f4f4f4!important;text-align:left!important}
/* Shared editorial rhythm */
.sfpc-extra .sfpc-extra-container{width:min(1180px,calc(100% - 48px))!important;max-width:1180px!important}
.sfpc-extra .sfpc-extra-section{padding:clamp(68px,7vw,108px) 0!important}
.sfpc-extra .sfpc-extra-soft{background:#f5f5f6!important}
.sfpc-extra .sfpc-extra-section h2{font-size:clamp(32px,3.5vw,52px)!important;line-height:1.13!important;font-weight:800!important;max-width:920px;margin-bottom:24px!important;color:#111316!important}
.sfpc-extra .sfpc-extra-section h3{font-size:clamp(21px,2vw,27px)!important;line-height:1.2!important;font-weight:750!important;color:#111316!important;margin:0 0 18px!important}
.sfpc-extra .sfpc-extra-section p{font-size:17px!important;line-height:1.78!important;color:#111316!important;max-width:900px}
.sfpc-extra .sfpc-extra-kicker{font-size:12px!important;letter-spacing:.16em!important;text-transform:uppercase!important;font-weight:800!important;margin-bottom:20px!important}
.sfpc-extra .sfpc-extra-grid{gap:18px!important}
.sfpc-extra .sfpc-extra-grid article{padding:34px!important;min-height:220px!important;border:1px solid #e1e1e3!important;border-radius:5px!important;border-bottom:3px solid #a71930!important;background:#fff!important;box-shadow:0 8px 26px rgba(10,12,20,.025)!important}
.sfpc-extra .sfpc-extra-grid article p{color:#111316!important;font-size:16px!important}
.sfpc-extra .sfpc-extra-number{display:none!important}
.sfpc-extra .sfpc-extra-cta{padding:80px 0!important;background:#17181b!important}
.sfpc-extra .sfpc-extra-cta h2{color:#fff!important}
.sfpc-extra .sfpc-extra-cta p{color:#fff!important}
.sfpc-extra .sfpc-extra-button{border-radius:3px!important;box-shadow:none!important;min-height:54px!important}
/* Confined Space page: cards, checklists, and regulatory references */
.sfpc-cs .sfpc-cs-readable{max-width:860px!important;text-align:left!important}
.sfpc-cs .sfpc-cs-two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;margin-top:42px!important}
.sfpc-cs .sfpc-cs-two article{border:1px solid #e4e4e7!important;border-top:4px solid #a71930!important;border-bottom:1px solid #e4e4e7!important;background:#fff!important;border-radius:5px!important;padding:clamp(26px,3vw,44px)!important;box-shadow:0 12px 34px rgba(0,0,0,.035)!important}
.sfpc-cs .sfpc-cs-two article p{font-size:16px!important;line-height:1.8!important;color:#111316!important;margin-bottom:0!important}
.sfpc-cs .sfpc-cs-list{list-style:none!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 22px!important;margin:30px 0 0!important;padding:0!important;max-width:1100px!important}
.sfpc-cs .sfpc-cs-list li{display:flex!important;align-items:flex-start!important;gap:14px!important;position:relative!important;min-width:0!important;margin:0!important;padding:20px 22px!important;border:1px solid #e8e8ea!important;background:#fff!important;border-radius:4px!important;font-size:16px!important;line-height:1.5!important;font-weight:550!important;color:#111316!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important}
.sfpc-cs .sfpc-cs-list li::before{content:'✓'!important;position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 25px!important;width:25px!important;height:25px!important;border-radius:50%!important;background:#f9edf0!important;color:#a71930!important;font-size:14px!important;font-weight:900!important;line-height:1!important;margin-top:0!important}
.sfpc-cs .sfpc-cs-rule{height:1px!important;background:#e5e5e7!important;margin:70px 0!important}
.sfpc-cs .sfpc-extra-section .sfpc-cs-list+h2{margin-top:56px!important}
/* Maintain contrast on dark bands, never force dark copy over dark backgrounds */
.sfpc-extra .sfpc-extra-hero :is(h1,p),.sfpc-extra .sfpc-extra-cta :is(h2,p){color:#fff!important}
@media(max-width:760px){.sfpc-cs .sfpc-cs-two,.sfpc-cs .sfpc-cs-list{grid-template-columns:1fr!important}.sfpc-extra .sfpc-extra-section{padding:65px 0!important}.sfpc-extra .sfpc-extra-grid{grid-template-columns:1fr!important}.sfpc-extra .sfpc-extra-container{width:calc(100% - 36px)!important}.sfpc-extra .sfpc-extra-hero,.sfpc-e-page .sfpc-e-hero,.sfpc-alarm .sfpc-a-hero,.sfpc-training .sfpc-training-hero,.sfpc-team .sfpc-team-hero{min-height:480px!important;padding:75px 0!important}.sfpc-cs .sfpc-cs-list li{padding:18px!important}}
@media(prefers-reduced-motion:reduce){.sfpc-extra *, .sfpc-cs *{animation:none!important;transition:none!important}}
