/* Shared Blueprint Safety color treatment across every public template. */
:root{--bps-page:#e8edf5;--bps-panel:#dfe7f2;--bps-rule:#b8c5da}
body .site.wp-site-blocks,body .content-area,.content-bg,.site-main{background:var(--bps-page)}
.entry-content>.bps-design{background:var(--bps-page)}
.bps-design .bps-section{background:var(--bps-page)}
.bps-design .bps-section.bps-paper{background:var(--bps-panel)}
.bps-design .bps-section.bps-dark{background:var(--bps-ink)}
.bps-design .bps-section.bps-app-hero,.bps-design .bps-section.bps-app-signup{background-color:var(--bps-ink)}
.bps-design .bps-section.bps-app-hero{background-image:linear-gradient(90deg,transparent 99%,#b8c5da10 99%),linear-gradient(transparent 99%,#b8c5da10 99%);background-size:64px 64px}
.bps-design .bps-app-signup-copy :is(h2,h3,p){color:#fff}
.bps-design :is(h2,h3,h4){color:var(--bps-blue-hover)}
/* Native blocks add an inner-container in Kadence. Cover both DOM shapes. */
.bps-design>:is(.bps-section:first-child),
.bps-design>.wp-block-group__inner-container>.bps-section:first-child{
  background-color:var(--bps-ink);color:#fff;border-bottom:4px solid var(--bps-lime);
  background-image:linear-gradient(90deg,transparent 99%,#b8c5da10 99%),linear-gradient(transparent 99%,#b8c5da10 99%);
  background-size:64px 64px
}
.bps-design>:is(.bps-section:first-child) :is(h1,h2,h3,p,li),
.bps-design>.wp-block-group__inner-container>.bps-section:first-child :is(h1,h2,h3,p,li){color:#fff}
.bps-design>:is(.bps-section:first-child) a,
.bps-design>.wp-block-group__inner-container>.bps-section:first-child a{color:var(--bps-lime)}
.bps-design>:is(.bps-section:first-child) .bps-kicker,
.bps-design>.wp-block-group__inner-container>.bps-section:first-child .bps-kicker{color:var(--bps-lime)}
.bps-design>:is(.bps-section:first-child) .bps-primary .wp-block-button__link,
.bps-design>.wp-block-group__inner-container>.bps-section:first-child .bps-primary .wp-block-button__link{color:#fff;background:var(--bps-blue);border-color:#b8c5da}
.bps-design>:is(.bps-section:first-child) .bps-secondary .wp-block-button__link,
.bps-design>.wp-block-group__inner-container>.bps-section:first-child .bps-secondary .wp-block-button__link{color:#fff;background:transparent;border-color:#b8c5da}
.bps-design>:is(.bps-section:first-child) .bps-secondary .wp-block-button__link:hover,.bps-design>.wp-block-group__inner-container>.bps-section:first-child .bps-secondary .wp-block-button__link:hover{color:var(--bps-ink);background:#e0dedf;border-color:#e0dedf}
.bps-design>:is(.bps-section:first-child) .bps-document :is(h2,h3,p,li),
.bps-design>.wp-block-group__inner-container>.bps-section:first-child .bps-document :is(h2,h3,p,li){color:var(--bps-ink)}
.bps-design .bps-card,.bps-design .bps-document,.bps-design .wp-block-post-template>li,
.blog article.entry,.archive article.entry{
  background:#f0f4fa;border:1px solid var(--bps-rule);border-top:4px solid var(--bps-blue);
  box-shadow:0 8px 24px #03112c0d
}
.bps-design .bps-callout{background:#dfe7f2;border-left:4px solid var(--bps-blue)}
.bps-design .bps-faq{background:#f0f4fa;border:1px solid var(--bps-rule);border-left:4px solid var(--bps-blue);border-radius:4px;padding:8px 20px;margin-bottom:12px}
.bps-design .bps-faq summary{color:var(--bps-blue-hover)}
.bps-design .bps-dark :is(h1,h2,h3,p,li){color:#fff}
.bps-design .bps-dark a{color:var(--bps-lime)}
.bps-design .bps-dark .bps-card :is(h2,h3,p,li){color:var(--bps-ink)}
.bps-design.bps-article{background:#f0f4fa;border:1px solid var(--bps-rule);border-top:4px solid var(--bps-blue);padding:40px 32px;margin-block:32px}
.bps-design.bps-article h1{color:#fff;background:var(--bps-ink);border-left:4px solid var(--bps-lime);padding:24px;margin-bottom:32px}
.bps-design.bps-post-meta{border:0;border-left:4px solid var(--bps-blue);background:#dfe7f2;padding:16px 24px;margin-block:24px 0}
.entry-hero{border-bottom:4px solid var(--bps-lime)}
.entry-hero-container-inner{border-bottom:0}
.entry-hero .entry-title,.entry-hero .entry-meta,.entry-hero .entry-meta a,.entry-hero .kadence-breadcrumbs a,.entry-hero .kadence-breadcrumbs{color:#fff}
.blog .entry-hero .page-title,.archive .entry-hero .page-title,.single-post .entry-hero .page-title{color:#fff}
.blog article.entry .entry-title a,.archive article.entry .entry-title a{color:var(--bps-blue-hover)}
.bps-topic-nav a{background:#dfe7f2;border-color:var(--bps-rule);color:var(--bps-blue-hover)}
.bps-design .fluentform{padding:32px;border:1px solid var(--bps-rule);border-top:5px solid var(--bps-blue);border-radius:8px;background:#f0f4fa;box-shadow:var(--bps-shadow)}
.bps-design .fluentform .ff-el-form-control{background:#fff;color:var(--bps-ink);border-color:#657591}
.bps-design .fluentform .ff-el-input--label label{color:var(--bps-blue-hover)}
.bps-design .fluentform .ff-el-input--content .ff-el-help-message{font-size:16px;line-height:1.5;color:#3e4b60;opacity:1}
.bps-design .bps-form-heading{background:var(--bps-ink);color:#fff;padding:24px;margin:8px 0 28px;border-left:4px solid var(--bps-lime);border-radius:4px}
.bps-design .bps-form-heading :is(h2,h3,p){color:#fff}
.bps-design .bps-form-heading h2{font-size:clamp(1.75rem,4vw,2.25rem);margin-bottom:12px}
.bps-design .bps-form-heading p{font-size:17px;margin:0}
.bps-design .fluentform .ff-message-success{background:#dfe7f2;border-color:var(--bps-blue);color:var(--bps-ink)}
.bps-design .fluentform .ff-el-is-error .ff-el-form-control{border-color:var(--bps-error)}
.bps-design :is(.bps-dark,.bps-hero,.bps-form-heading) :focus-visible,
.bps-design>.wp-block-group__inner-container>.bps-section:first-child :focus-visible{outline-color:var(--bps-lime)}
.bps-design .fluentform :is(input,textarea,button):focus-visible{outline-color:var(--bps-blue)}
.site-footer .bps-footer{border-top:4px solid var(--bps-blue)}
.bps-mobile-actions{background:var(--bps-ink);border-top:3px solid var(--bps-lime)}
.bps-mobile-actions a:first-child{color:#fff;border-color:#b8c5da}
.bps-mobile-actions a:last-child{background:var(--bps-lime);color:var(--bps-ink)}
.bps-consent{border-top:1px solid #b8c5da;background:#dfe7f2}
.bps-consent button,.bps-cookie-settings{background:#dfe7f2}
@media(max-width:767px){
 .bps-design .fluentform{padding:20px 16px}
 .bps-design.bps-article{padding:28px 20px;margin-block:24px}
 .bps-design .bps-form-heading{padding:20px 16px}
 .bps-design .bps-faq{padding-inline:16px}
 .bps-design .fluentform textarea.ff-el-form-control{min-height:120px}
}
@media print{body .site,.site-main,.entry-content>.bps-design,.bps-design .bps-section,.bps-design.bps-article{background:#fff}.bps-design.bps-article{border:0}.bps-design.bps-article h1{background:#fff;color:#000;border:0}}


/* Revision 1.4: stronger page-specific hierarchy, without stock art or invented proof. */
.bps-design .bps-services-grid{counter-reset:bps-service;}
.bps-design .bps-services-grid>.bps-card{counter-increment:bps-service;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;}
.bps-design .bps-services-grid>.bps-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #03112c1c;}
.bps-design .bps-services-grid>.bps-card h3:before{content:"SERVICE " counter(bps-service,decimal-leading-zero);display:block;margin-bottom:12px;color:#184eb8;font:700 .72rem/1.2 var(--bps-body);letter-spacing:.13em;}
.bps-design .bps-services-grid>.bps-card:first-child{background:#03112c;border:1px solid #b8c5da;border-top:4px solid #c7e86b;}
.bps-design .bps-services-grid>.bps-card:first-child :is(h3,p){color:#fff;}
.bps-design .bps-services-grid>.bps-card:first-child h3:before,.bps-design .bps-services-grid>.bps-card:first-child .bps-card-link a{color:#c7e86b;}
.bps-design .bps-services-grid>.bps-card:first-child .bps-card-link a:focus-visible{outline-color:#c7e86b;}

.bps-design.bps-policy>:is(.bps-section:first-child),
.bps-design.bps-policy>.wp-block-group__inner-container>.bps-section:first-child{background:#dfe7f2;background-image:none;color:#03112c;border-bottom:4px solid #184eb8;}
.bps-design.bps-policy>:is(.bps-section:first-child) :is(h1,h2,h3,p,li),
.bps-design.bps-policy>.wp-block-group__inner-container>.bps-section:first-child :is(h1,h2,h3,p,li){color:#03112c;}
.bps-design.bps-policy>:is(.bps-section:first-child) .kadence-breadcrumbs,
.bps-design.bps-policy>.wp-block-group__inner-container>.bps-section:first-child .kadence-breadcrumbs{color:#0f3077;}
.bps-design.bps-policy .bps-policy-body{background:#f5f5f5;}
.bps-design.bps-policy .bps-policy-content{max-width:840px;margin-inline:auto;}
.bps-design.bps-policy .bps-policy-section{padding:28px 0;border-bottom:1px solid #b8c5da;}
.bps-design.bps-policy .bps-policy-section h2{margin:0 0 14px;color:#0f3077;}
.bps-design.bps-policy :is(p,li){font-size:18px;line-height:1.75;color:#03112c;}
.bps-design.bps-policy .bps-policy-contact{margin-top:28px;padding:24px;border-left:4px solid #184eb8;border-radius:4px;background:#dfe7f2;}
.bps-design.bps-policy .bps-policy-contact h2{margin-top:0;color:#03112c;}
.bps-design.bps-policy .bps-policy-related{border-bottom:0;}
.bps-design.bps-policy a{color:#0f3077;text-decoration-thickness:1px;text-underline-offset:3px;}
.bps-design.bps-policy > :is(.bps-section:first-child) .rank-math-breadcrumb a,
.bps-design.bps-policy > .wp-block-group__inner-container > .bps-section:first-child .rank-math-breadcrumb a{color:#0f3077;}
.bps-design.bps-policy a:focus-visible{outline:3px solid #184eb8;outline-offset:3px;}
@media(max-width:767px){
 .bps-design .bps-hero{padding-block:32px;}
 .bps-design .bps-hero-copy .bps-kicker{margin-bottom:12px;}
 .bps-design .bps-hero-copy h1{max-width:18ch;margin-bottom:14px;font-size:clamp(34px,8vw,52px);line-height:1.08;}
 .bps-design .bps-hero-copy p:not(.bps-kicker):not(.bps-small){margin-bottom:16px;font-size:clamp(16px,2.2vw,18px);line-height:1.4;}
 .bps-design .bps-hero .bps-actions{gap:10px;margin-bottom:14px;}
}

body.bps-service-page .bps-design .bps-service-hero{position:relative;isolation:isolate;overflow:hidden;}
body.bps-service-page .bps-design .bps-service-hero:after{content:"";position:absolute;z-index:-1;right:max(24px,calc((100vw - 1200px)/2));top:50%;width:min(27vw,340px);height:230px;transform:translateY(-50%) rotate(2deg);border:1px solid #b8c5da;border-left:4px solid #c7e86b;clip-path:polygon(0 0,100% 0,100% 72%,75% 100%,0 100%);background-image:repeating-linear-gradient(0deg,transparent 0 27px,#b8c5da2b 28px 29px),repeating-linear-gradient(90deg,transparent 0 39px,#b8c5da20 40px 41px),linear-gradient(135deg,#0f307766,transparent 72%);opacity:.72;pointer-events:none;}
body.bps-service-page .bps-design .bps-service-hero h1{max-width:19ch;}
body.bps-service-page .bps-design .bps-service-hero p:not(.bps-kicker){max-width:62ch;}
body.bps-service-page .bps-design .wp-block-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:18px 0;padding:0;list-style:none;}
body.bps-service-page .bps-design .wp-block-list li{position:relative;display:flex;align-items:flex-start;min-height:64px;padding:14px 16px 14px 38px;border-left:3px solid #184eb8;border-radius:4px;background:#f0f4fa;color:#03112c;line-height:1.5;}
body.bps-service-page .bps-design .wp-block-list li:before{content:"";position:absolute;left:16px;top:21px;width:8px;height:8px;border-radius:50%;background:#c7e86b;box-shadow:0 0 0 2px #0f3077;}
body.bps-service--osha-written-safety-programs .bps-service-hero:after{background-image:repeating-linear-gradient(0deg,transparent 0 27px,#b8c5da38 28px 29px),repeating-linear-gradient(90deg,transparent 0 39px,#b8c5da24 40px 41px),linear-gradient(135deg,#0f307766,transparent 72%);}
body.bps-service--construction-safety-manuals .bps-service-hero:after{background-image:repeating-linear-gradient(135deg,transparent 0 19px,#b8c5da35 20px 21px),linear-gradient(135deg,#0f307766,transparent 72%);}
body.bps-service--job-hazard-analysis .bps-service-hero:after{background-image:linear-gradient(90deg,transparent 49%,#b8c5da40 50%,transparent 51%),linear-gradient(transparent 49%,#b8c5da40 50%,transparent 51%),radial-gradient(circle at 50% 50%,#c7e86b 0 4px,transparent 5px),linear-gradient(135deg,#0f307766,transparent 72%);background-size:38px 38px,38px 38px,100% 100%,100% 100%;}
body.bps-service--safety-consulting .bps-service-hero:after{background-image:radial-gradient(circle,#b8c5da55 1px,transparent 2px),linear-gradient(135deg,#0f307766,transparent 72%);background-size:18px 18px,100% 100%;}
body.bps-service--isnetworld-management .bps-service-hero:after{background-image:repeating-linear-gradient(0deg,transparent 0 21px,#b8c5da38 22px 23px),linear-gradient(90deg,transparent 0 18%,#b8c5da38 18.5% 19%,transparent 19.5%),linear-gradient(135deg,#0f307766,transparent 72%);}
body.bps-service--toolbox-talks .bps-service-hero:after{background-image:repeating-linear-gradient(145deg,transparent 0 24px,#b8c5da35 25px 26px),linear-gradient(135deg,#0f307766,transparent 72%);}
@media(max-width:900px){body.bps-service-page .bps-design .bps-service-hero:after{right:20px;width:190px;height:160px;opacity:.3;}}
@media(max-width:640px){
 .bps-design .bps-services-grid>.bps-card:hover{transform:none;}
 body.bps-service-page .bps-design .bps-service-hero:after{display:none;}
 body.bps-service-page .bps-design .wp-block-list{grid-template-columns:1fr;gap:8px;}
 .bps-design.bps-policy .bps-policy-section{padding:22px 0;}
 .bps-design.bps-policy :is(p,li){font-size:17px;}
}
@media(prefers-reduced-motion:reduce){.bps-design .bps-services-grid>.bps-card{transition:none;}.bps-design .bps-services-grid>.bps-card:hover{transform:none;}}
