/* Bold industrial theme: safety yellow on near-black, sharp edges, condensed headlines
   and hazard-stripe accents. Loaded after every other stylesheet, so it only overrides. */
:root{
  --yellow:#ffcc24;--yellow-hover:#ffd94f;--ink:#111111;--steel:#1a1a1a;--steel-2:#2a2a2a;
  --concrete:#ecebe5;--paper:#f7f6f2;--line:#d6d3c8;--muted:#4f4f4a;
  --red:#111111;--red-dark:#000000;
  --common-font:'Barlow Condensed','Funnel Display','Arial Narrow',sans-serif;
  --hazard:repeating-linear-gradient(-45deg,var(--yellow) 0 14px,var(--ink) 14px 28px);
}
*,*::before,*::after{border-radius:0!important}
::selection{background:var(--yellow);color:var(--ink)}
body{background:var(--paper);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--common-font);font-weight:800;text-transform:uppercase;letter-spacing:.005em;line-height:.95}
h3{font-weight:700;line-height:1.05}
a:hover{color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;box-shadow:0 0 0 6px var(--ink)}

/* Highlighter marker on light backgrounds */
.section-heading h2 span,.heading h2 span,.faq-section h2 span,.hse-feature-copy h2 span,.why-heading h2 span,.product-summary h1 span{
  color:var(--ink);background:linear-gradient(transparent 55%,var(--yellow) 55%,var(--yellow) 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em}

/* Eyebrows: square bullet + wide tracking */
.eyebrow{font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.eyebrow.red{color:var(--ink)}
.eyebrow.red::before,.eyebrow.light:not(:has(span))::before,.catalog-intro .eyebrow::before,.related-shop .eyebrow::before{content:'';display:inline-block;width:10px;height:10px;background:var(--yellow);margin-right:10px;vertical-align:1px;outline:2px solid var(--ink);outline-offset:0}
.eyebrow.light{color:var(--yellow)}

/* Buttons */
.btn{font-family:var(--common-font);text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:18px;border-width:2px}
.btn-red,.hero-copy>.btn,.catalog-intro>.btn,.catalog-products .btn-outline,.suggestion-button,.order-submit{background:var(--yellow);border:2px solid var(--ink);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
.btn-red:hover,.btn-red:focus,.hero-copy>.btn:hover,.catalog-intro>.btn:hover,.catalog-products .btn-outline:hover,.suggestion-button:hover,.order-submit:hover{background:var(--ink);border-color:var(--ink);color:var(--yellow)}
.btn-white{background:#fff;border:2px solid #fff;color:var(--ink)}
.btn-white:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.btn-outline{border:2px solid var(--ink);color:var(--ink);background:transparent}
.btn-outline:hover{background:var(--ink);border-color:var(--ink);color:var(--yellow)}
.text-action{font-family:var(--common-font);text-transform:uppercase;letter-spacing:.06em;font-size:16px;font-weight:700;border-top:2px solid var(--ink)}
.text-action::after{content:' →'}
.text-action:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:4px;text-underline-offset:4px}

/* Top bar + header */
.main-top-bar{background:var(--yellow);color:var(--ink);font-weight:600}
header#stickyHeader,.guide-header{background:var(--ink);border-bottom:4px solid var(--yellow)}
.brand,.brand:hover{color:#fff;font-family:var(--common-font);font-weight:800;text-transform:uppercase;letter-spacing:.01em}
.brand-domain{color:var(--yellow)}
.brand small{color:#9a9a92}
.brand-mark{background:var(--yellow);color:var(--ink);transform:none}
.brand-mark i{transform:none}
header nav>a:not(.btn),.guide-header nav>a:not(.btn){color:#e8e8e2;font-family:var(--common-font);font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
header nav>a:not(.btn):hover,header nav>a.active,.guide-header nav>a:not(.btn):hover{color:var(--yellow)}
header nav .btn,.guide-header nav .btn{box-shadow:none;border-color:var(--yellow)}
header nav .btn:hover,.guide-header nav .btn:hover{background:#fff;border-color:#fff;color:var(--ink)}
.menu-toggle{border:2px solid var(--yellow);color:var(--yellow)}
@media(max-width:991px){header nav{background:var(--ink);border-bottom:4px solid var(--yellow)}}

/* Hero */
.hero-shade{background:linear-gradient(90deg,rgba(10,10,10,.88) 0%,rgba(10,10,10,.66) 48%,rgba(10,10,10,.3) 100%)}
.hero-copy h1{font-size:clamp(54px,5.4vw,88px);line-height:.92;max-width:none;letter-spacing:0}
.hero-copy h1 span{color:var(--yellow);display:block}
.hero-copy .eyebrow>span{background:var(--yellow);height:10px;width:10px}
.hero-description{color:#e4e4de}
.quote-card{border:0;border-top:6px solid var(--yellow);box-shadow:10px 10px 0 rgba(0,0,0,.45)}
.quote-tabs{background:#e9e8e2}
.quote-tabs button{font-family:var(--common-font);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.quote-tabs button.selected{background:var(--ink);color:var(--yellow);box-shadow:none}
.quote-body .eyebrow{color:var(--ink)}
.quote-body h2{font-size:34px}
.hero-section .quote-body h2{font-size:32px}
.quote-body input:focus,.quote-body select:focus,.quote-body textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--yellow);outline:0}
.quote-submit{box-shadow:none}
.trust-marquee{background:var(--hazard) top/100% 8px no-repeat,var(--ink);color:#fff;padding-top:8px}
.trust-marquee-group>span{font-family:var(--common-font);font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.trust-marquee-group i{color:var(--yellow)}
.trust-marquee-toggle{border:2px solid var(--yellow);color:var(--yellow)}
@media(max-width:767px){.hero-copy h1{font-size:50px}.trust-marquee-group>span{font-size:14px}}

/* Section headings */
.section-heading h2,.heading h2,.faq-section h2,.why-heading h2{font-size:clamp(44px,5.2vw,78px);line-height:.92}

/* Services */
.services-section{background:var(--paper)}
.service-card{background:#fff;border:2px solid var(--ink);padding:30px 26px;transition:transform .2s,box-shadow .2s}
.service-card:hover{transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--ink)}
.service-top>i{display:grid;place-items:center;width:60px;height:60px;background:var(--yellow);color:var(--ink);font-size:28px}
.service-top span{font-family:var(--common-font);font-size:56px;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.service-card h3{font-size:30px}
.services-heading-copy>p:not(.eyebrow){color:var(--muted)}

/* Product catalogue on a dark band */
.product-section{background:var(--ink);padding:90px 0;position:relative}
.product-section::before{content:'';position:absolute;left:0;right:0;top:0;height:10px;background:var(--hazard)}
.catalog-intro{border:2px solid var(--yellow)}
.catalog-intro::after{background:linear-gradient(180deg,rgba(17,17,17,.94),rgba(17,17,17,.78) 55%,rgba(17,17,17,.4))}
.catalog-intro h2{font-size:clamp(44px,4.4vw,68px);line-height:.92}
.catalog-intro .eyebrow{color:var(--yellow)}
.product-filters{border-bottom:2px solid #333}
.product-filters button{background:transparent;border:2px solid #444;color:#e8e8e2;font-family:var(--common-font);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.catalog-products .product-filters button{font-size:15px;padding:8px 14px}
.product-filters button:hover:not(.selected){border-color:var(--yellow);color:var(--yellow)}
.product-filters button.selected{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.catalog-products .product-card{border:0;border-bottom:6px solid var(--yellow)}
.product-card:hover{box-shadow:none}
.catalog-products .product-content h3{font-size:26px}
.product-content>.catalog-formats{color:var(--ink);font-weight:700;background:var(--concrete);display:inline-block;padding:3px 8px;align-self:flex-start}
.product-meta i{color:var(--ink)}
.product-meta a{font-weight:700;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px}

/* Steps on yellow: illustration left, three numbered blocks right */
.steps-section{background:var(--yellow);color:var(--ink);padding:90px 0!important}
.steps-section .eyebrow.red::before{background:var(--ink);outline:0}
.steps-section .heading.centered{text-align:left;margin-bottom:40px!important}
.steps-section .heading h2{font-size:clamp(44px,5.2vw,78px)!important}
.steps-section .heading h2 span{background:var(--ink);color:var(--yellow);padding:0 .12em}
.steps-orbit{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;grid-template-areas:'image one' 'image two' 'image three'!important;gap:16px 48px!important;max-width:none!important;align-items:stretch}
.steps-center-image{height:auto!important;max-height:470px;width:100%!important;align-self:center;object-fit:contain}
.steps-orbit .step{text-align:left!important;background:var(--ink);color:#fff;padding:24px 28px!important;display:grid;grid-template-columns:auto 1fr;column-gap:22px;max-width:none!important;justify-self:stretch!important}
.steps-orbit .step-number{grid-row:span 2;width:64px!important;height:64px!important;background:var(--yellow)!important;color:var(--ink)!important;font-family:var(--common-font);font-weight:800;font-size:34px!important;margin:0!important}
.steps-orbit .step h3{font-size:28px!important;margin-bottom:6px!important;color:#fff}
.steps-orbit .step p{color:#cfcfc8;font-size:15px!important}
@media(max-width:767px){.steps-section{padding:60px 0!important}.steps-orbit{grid-template-columns:1fr!important;grid-template-areas:'image' 'one' 'two' 'three'!important}.steps-center-image{max-height:280px}.steps-orbit .step{padding:20px!important;column-gap:16px}.steps-orbit .step-number{width:50px!important;height:50px!important;font-size:26px!important}}

/* Maintenance: full-bleed dark band */
.maintenance-section{background:var(--steel);padding:0;position:relative}
.maintenance-section::before{content:'';position:absolute;left:0;right:0;top:0;height:10px;background:var(--hazard);z-index:1}
.maintenance-section .row{background:transparent}
.maintenance-copy{background:var(--steel);padding:80px 55px}
.maintenance-copy h2{font-size:clamp(48px,4.6vw,76px);line-height:.92}
.maintenance-copy h2 span{color:var(--yellow)}
.maintenance-copy .eyebrow{color:var(--yellow)}
.theme-list li{font-size:16px}
.theme-list i{display:inline-grid;place-items:center;width:22px;height:22px;background:var(--yellow);color:var(--ink);font-size:11px;flex-shrink:0}
.image-caption{border-left:8px solid var(--yellow);box-shadow:6px 6px 0 var(--ink)}
.image-caption>i{color:var(--ink)}
.image-caption strong{font-family:var(--common-font);text-transform:uppercase;font-weight:800}

/* Why us: heading, strength tiles and story panels */
.why-section{background:var(--concrete);padding:100px 0 60px}
.why-heading{margin-bottom:40px}
.why-section .assurance-bar{border:0}
.why-section .assurance-bar>.container{padding-top:0;padding-bottom:0;gap:0}
.why-section .assurance-bar .container>div{background:var(--ink);color:#fff;padding:30px 28px;gap:20px}
.why-section .assurance-bar .container>div+div{border-left:2px solid #333;padding-left:28px}
.why-section .assurance-bar i{display:grid;place-items:center;width:58px;height:58px;flex-shrink:0;background:var(--yellow);color:var(--ink);font-size:26px}
.why-section .assurance-bar strong{color:#fff;font-family:var(--common-font);font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.why-section .assurance-bar span{color:#bdbdb5;font-size:14px}
.brand-story-section{padding:16px 0 0;max-width:1320px;padding-left:32px;padding-right:32px}
.story-panel::before{background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.72))!important}
.story-panel.is-open{box-shadow:inset 0 -8px 0 var(--yellow)}
.story-toggle>span:first-child{font-family:var(--common-font);font-weight:800;letter-spacing:.02em}
.story-plus{background:var(--yellow);color:var(--ink)}
@media(max-width:767px){.why-section{padding:60px 0 40px}.why-section .assurance-bar>.container{display:grid;gap:2px}.why-section .assurance-bar .container>div+div{border-left:0;padding-left:28px}.brand-story-section{padding-left:22px;padding-right:22px}}

/* HSE training */
.hse-feature{width:100%;max-width:none;margin:0;padding:90px max(32px,calc((100vw - 1320px)/2 + 32px));background:#fff!important;position:relative}
.hse-feature-copy h2{font-size:clamp(40px,4vw,64px);line-height:.95}
.hse-feature-copy .btn{box-shadow:4px 4px 0 var(--ink)}
.hse-feature-benefits i{color:var(--ink)}
.hse-feature-illustration{border:2px solid var(--ink);box-shadow:10px 10px 0 var(--yellow)}
.hse-feature-topics>div{border:2px solid var(--ink);box-shadow:none;background:var(--paper)}
.hse-feature-topics i{background:var(--yellow);color:var(--ink)}
.hse-feature-topics h3{font-size:19px;letter-spacing:.02em}
.hse-feature-topics p{font-size:12px}
.hse-section{width:100%;max-width:none;margin:0;padding:80px max(32px,calc((100vw - 1320px)/2 + 32px));background:var(--ink)}
.hse-intro{color:#fff}
.hse-intro .eyebrow.red{color:var(--yellow)}
.hse-intro h2{font-size:clamp(36px,3vw,48px);line-height:.95}
.hse-intro>p:not(.eyebrow){color:#c4c4bc}
.hse-card{border:2px solid #333}
.hse-card::before{background:linear-gradient(180deg,rgba(17,17,17,.82),rgba(17,17,17,.62))}
.hse-card h3{font-size:30px;line-height:.95}
.hse-card .btn,.hse-intro .btn{box-shadow:none}
.hse-card:hover{border-color:var(--yellow)}
@media(max-width:767px){.hse-feature,.hse-section{padding:60px 22px}}

/* FAQ */
.faq-section{background:var(--paper)}
.faq-list{border-top:3px solid var(--ink)}
.faq-list details{border-bottom:2px solid var(--ink)}
.faq-list summary{font-family:var(--common-font);font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:1.1}
.faq-list summary i{display:grid;place-items:center;width:34px;height:34px;background:var(--yellow);color:var(--ink);font-size:14px}
.faq-list details[open] summary{color:var(--ink)}
.faq-list details[open] summary i{background:var(--ink);color:var(--yellow);transform:none}
.faq-list details[open] summary i::before{content:'\f068'}
.faq-list details>div{color:var(--muted)}

/* Guides */
.guides-section{padding-top:90px;padding-bottom:30px}
.guides-section h2{font-size:clamp(40px,4.4vw,64px)}
.guide-card{border:2px solid var(--ink);background:#fff;transition:transform .2s,box-shadow .2s}
.guide-card:hover{transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--yellow)}
.guide-card h3{font-size:28px;line-height:1}
.guide-card h3 a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:4px}
.guide-read{color:var(--ink);font-family:var(--common-font);text-transform:uppercase;letter-spacing:.06em;font-size:16px;font-weight:700}

/* Contact: full yellow call to action */
.contact-section{background:var(--yellow);color:var(--ink);padding:90px 0;position:relative}
.contact-section::before{content:'';position:absolute;left:0;right:0;top:0;height:10px;background:var(--hazard)}
.contact-section .eyebrow{color:var(--ink)}
.contact-section h2{font-size:clamp(46px,4.6vw,72px);line-height:.92}
.contact-section p:not(.eyebrow){color:#2c2c28}
.contact-section .btn-white{background:var(--ink);border-color:var(--ink);color:var(--yellow)}
.contact-section .btn-white:hover{background:#fff;border-color:var(--ink);color:var(--ink)}
.contact-details>a{color:var(--ink);border-bottom:2px solid var(--ink)}
.contact-details>a:hover{color:var(--ink);opacity:1;background:rgba(0,0,0,.06)}
.contact-details>a>i{color:var(--ink)}
.contact-details strong{font-family:var(--common-font);font-size:30px;font-weight:800;text-transform:uppercase}
.contact-details span{font-weight:700;letter-spacing:.14em}

/* Footer */
.expanded-footer{background:var(--ink);color:#bdbdb5}
.footer-assurances{background:var(--hazard) top/100% 10px no-repeat,var(--steel);color:#fff;padding:48px 0 38px;border-bottom:1px solid #333}
.footer-assurances a,.footer-assurances a:hover{color:#fff}
.footer-assurances i{color:var(--yellow)}
.footer-assurances small{color:#a8a8a0}
.footer-assurances strong{font-family:var(--common-font);font-size:18px;letter-spacing:.06em}
.footer-link-columns{text-align:left}
.footer-link-columns a,.footer-link-columns button{margin:6px 0;color:#e2e2dc}
.footer-link-columns a:hover,.footer-link-columns button:hover{color:var(--yellow)}
.expanded-footer h2{font-family:var(--common-font);font-size:22px;font-weight:800;color:var(--yellow);letter-spacing:.06em;text-transform:uppercase}
.footer-link-columns p{color:#9a9a92}
.expanded-footer .footer-bottom{border-top:1px solid #333;color:#9a9a92}
.expanded-footer .footer-bottom a:hover{color:var(--yellow)}
dialog{border-top:6px solid var(--yellow)}
dialog::backdrop{background:rgba(10,10,10,.75)}

/* Product pages */
.product-page{background:var(--concrete)}
.product-trust-strip{background:var(--ink);border-bottom:4px solid var(--yellow)}
.product-trust-strip a,.product-trust-strip a:hover{color:#e8e8e2}
.product-trust-strip i{color:var(--yellow)}
.product-trust-strip small{color:#a8a8a0}
.product-trust-strip strong{font-family:var(--common-font);letter-spacing:.06em}
.product-gallery-main{border:2px solid var(--ink)}
.product-tag,.product-label{background:var(--yellow);color:var(--ink)}
.product-summary h1{font-size:clamp(48px,5vw,80px)}
.product-lead{font-family:var(--common-font);font-size:24px;font-weight:700;text-transform:uppercase}
.product-highlights i{color:var(--ink)}
.order-price-panel,.product-help-box{background:#fff;border:2px solid var(--ink)}
.order-green-label{background:var(--ink);color:var(--yellow)}
.order-action-panel{background:var(--yellow);border:2px solid var(--ink)}
.order-submit{box-shadow:none;background:var(--ink);color:var(--yellow);border:0}
.order-submit:hover{background:#fff;color:var(--ink)}
.service-options input:checked+span,.product-order-redesign .service-options input:checked+span,.size-options input:checked+span{background:var(--yellow);border-color:var(--ink);color:var(--ink)}
.product-order-redesign .service-options label>span,.size-options label>span{border:2px solid var(--line)}
.product-promise{border:2px solid var(--ink)}
.product-trust-image img{filter:grayscale(1) contrast(1.1)}
.product-info-block{border-left:6px solid var(--yellow)}
.product-info-heading{font-size:24px}
.product-reviews{border:2px solid var(--ink);background:#fff}
.product-reviews a{font-family:var(--common-font);text-transform:uppercase;font-weight:700;letter-spacing:.06em}
.related-shop,.product-final-cta,.guides-hero,.guide-footer{background:var(--ink)}
.related-shop{position:relative}
.related-shop::before,.product-final-cta::before{content:'';display:block;height:10px;background:var(--hazard);position:absolute;left:0;right:0;top:0}
.product-final-cta{position:relative}
.related-heading h2,.product-final-cta h2{color:#fff}
.related-shop .related-heading>a{color:var(--yellow)}
.suggestion-card{border-bottom:6px solid var(--yellow)}
.suggestion-green{background:var(--ink);color:var(--yellow)}
.suggestion-button{box-shadow:none}
.support-copy{border:2px solid var(--ink)}
.product-final-cta h2 span{color:var(--yellow)}
.product-final-cta .btn-white:hover{background:var(--yellow)}

/* Guide pages */
.guides-hero h1{font-size:clamp(52px,6vw,96px);line-height:.9}
.guides-hero h1 span{color:var(--yellow)}
.guide-hero-links a{border:2px solid var(--yellow);color:var(--yellow);font-family:var(--common-font);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.guide-hero-links a:hover{background:var(--yellow);color:var(--ink)}
.area-group,.guide-contact,.article-checklist{background:#fff;border:2px solid var(--ink)}
.area-group h3{font-size:32px}
.area-group a:hover{color:var(--ink);background:var(--yellow)}
.article-heading h1{font-size:clamp(40px,4.6vw,72px)}
.article-copy h2{font-size:34px}
.article-copy p,.article-copy li{color:#2b2b27}
.article-copy a{color:var(--ink);text-decoration-color:var(--yellow);text-decoration-thickness:3px}
.article-sidebar nav{border:2px solid var(--ink);background:#fff}
.article-sidebar nav a:hover{background:var(--yellow)}
.guide-contact .btn{box-shadow:4px 4px 0 var(--ink)}
.article-reference{border-left:6px solid var(--yellow);padding-left:20px}
.guide-footer{background:var(--hazard) top/100% 10px no-repeat,var(--ink);padding-top:40px}
.guide-footer a:hover{color:var(--yellow)}
.guide-footer p{color:#9a9a92}
.guide-breadcrumb a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow)}
