:root{--ps-black:#07090b;--ps-panel:#101317;--ps-orange:#ff5a1f;--ps-orange-2:#ff7a24;--ps-white:#fff;--ps-ink:#101218;--ps-muted:#68707b;--ps-line:#dde1e5;--ps-shell:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ps-site-header{position:relative;z-index:1000;background:var(--ps-black);border-bottom:1px solid rgba(255,255,255,.09);color:#fff}
.ps-nav-shell{width:min(var(--ps-shell),calc(100% - 48px));height:76px;margin:auto;display:flex;align-items:center;gap:34px}
.ps-brand{display:inline-flex;align-items:center;gap:11px;color:#fff!important;text-decoration:none!important;white-space:nowrap;line-height:1}
.ps-brand img{width:31px;height:37px;object-fit:contain;display:block}
.ps-brand span{font:800 20px/1 Arial,Helvetica,sans-serif;letter-spacing:-.5px}
.ps-brand strong{color:var(--ps-orange);font-weight:900}
.ps-primary-nav{display:flex;align-items:center;justify-content:center;gap:31px;margin-left:auto}
.ps-primary-nav a{position:relative;color:#fff!important;text-decoration:none!important;text-transform:uppercase;font:800 12px/1 Arial,Helvetica,sans-serif;letter-spacing:.055em;padding:31px 0 29px;opacity:.9}
.ps-primary-nav a:hover,.ps-primary-nav a:focus{opacity:1;color:var(--ps-orange)!important}
.ps-primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--ps-orange);transition:right .2s ease}
.ps-primary-nav a:hover:after{right:0}
.ps-project-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border-radius:2px;background:var(--ps-orange);color:#fff!important;text-decoration:none!important;text-transform:uppercase;font:800 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.04em;white-space:nowrap;box-shadow:0 9px 24px rgba(255,90,31,.18)}
.ps-project-button:hover{background:var(--ps-orange-2)}
.ps-menu-toggle{display:none;margin-left:auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);background:transparent;border-radius:3px;padding:10px}
.ps-menu-toggle span{display:block;height:2px;background:#fff;margin:4px 0}
/* Consistent content width and spacing across the mixed legacy page sets. */
.shell,.container,.page-shell{width:min(var(--ps-shell),calc(100% - 48px));margin-left:auto;margin-right:auto}
.section-title{margin-bottom:34px!important}
.white.services-section,.white.projects-section,.brand-section,.cta-section,.faq-section{padding-top:76px!important;padding-bottom:76px!important}
.service-grid,.project-grid{gap:16px!important}
.service-card{overflow:hidden;border:1px solid #e4e6e8!important;box-shadow:0 10px 28px rgba(15,18,22,.055);transition:transform .2s ease,box-shadow .2s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,18,22,.1)}
.service-card img{width:100%;height:150px!important;object-fit:cover!important;object-position:center!important;display:block}
.service-card .card-body{padding:20px 18px 24px!important}
.project-grid a{overflow:hidden;min-height:154px!important;box-shadow:0 10px 26px rgba(15,18,22,.08)}
.project-grid img{width:100%;height:154px!important;object-fit:cover!important;object-position:center!important;display:block;transition:transform .3s ease}
.project-grid a:hover img{transform:scale(1.035)}
.brand-layout{gap:18px!important}.brand-panel{padding:35px!important;min-height:210px}
.process-section{padding-top:56px!important;padding-bottom:58px!important}.steps{gap:28px!important}
.safety-section{min-height:300px}.safety-inner{padding-top:62px!important;padding-bottom:62px!important}
.cta-grid{gap:18px!important}.cta{min-height:240px!important;padding:38px!important}
.faq-layout{gap:30px!important}
footer{padding-top:56px!important}
/* Inner pages */
.inner-hero,.simple-hero,.state-hero,.hero-section{padding-top:76px!important;padding-bottom:76px!important}
.inner-hero h1,.simple-hero h1,.state-hero h1{max-width:900px;letter-spacing:-.035em}
.simple-content,.content-section,.state-content,.service-detail-list{padding-top:68px!important;padding-bottom:82px!important}
.simple-card-grid,.academy-card-grid,.resource-grid,.cards-grid{gap:20px!important}
.simple-card,.academy-card,.resource-card{border-radius:4px!important;box-shadow:0 12px 30px rgba(15,18,22,.065)!important}
/* Hide legacy navigation shells missed by malformed source markup. */
body>.site-header:not(.ps-site-header),body>.topbar,body>.header:not(.ps-site-header){display:none!important}
@media(max-width:980px){
 .ps-nav-shell{width:min(100% - 30px,var(--ps-shell));height:68px;gap:18px}
 .ps-project-button{display:none}
 .ps-menu-toggle{display:block}
 .ps-primary-nav{display:none;position:absolute;left:0;right:0;top:68px;background:#090b0e;border-top:1px solid rgba(255,255,255,.1);padding:12px 20px 22px;flex-direction:column;align-items:stretch;gap:0}
 .ps-primary-nav.is-open{display:flex}
 .ps-primary-nav a{padding:15px 8px;border-bottom:1px solid rgba(255,255,255,.08)}
 .ps-primary-nav a:after{display:none}
 .shell,.container,.page-shell{width:min(100% - 30px,var(--ps-shell))}
 .white.services-section,.white.projects-section,.brand-section,.cta-section,.faq-section{padding-top:56px!important;padding-bottom:56px!important}
}
@media(max-width:620px){
 .ps-brand span{font-size:17px}.ps-brand img{width:27px;height:32px}
 .service-card img{height:180px!important}.project-grid img{height:190px!important}.project-grid a{min-height:190px!important}
 .inner-hero,.simple-hero,.state-hero,.hero-section{padding-top:54px!important;padding-bottom:56px!important}
}

/* v1.9 design cleanup */
:root{
  --ps-shell:1200px;
  --ps-orange:#ff5a1f;
  --ps-paper:#f4f4f1;
  --ps-white:#ffffff;
  --ps-charcoal:#0a0c0f;
  --ps-text:#15171b;
  --ps-muted:#696f77;
  --ps-border:#dedfdf;
  --ps-radius:8px;
}
body{background:var(--ps-paper);color:var(--ps-text);font-family:Arial,Helvetica,sans-serif}
.ps-site-header{position:sticky;top:0;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.ps-nav-shell{height:78px}
.ps-primary-nav{gap:28px}
.ps-primary-nav a{font-size:11px;letter-spacing:.075em}
.ps-project-button{min-height:44px;border-radius:4px;padding-inline:22px}
.hero{min-height:570px}
.hero-inner{min-height:570px}
.hero-copy{max-width:610px}
.hero-copy h1{font-size:clamp(58px,6vw,90px)!important;line-height:.93!important;letter-spacing:-.06em!important}
.hero-copy p{max-width:560px;font-size:17px!important;line-height:1.55!important}
.section-title{max-width:760px;margin-bottom:42px!important}
.section-title span{letter-spacing:.13em!important}
.section-title h2{font-size:clamp(35px,4vw,58px)!important;line-height:1.02!important;letter-spacing:-.045em!important}
.white.services-section,.white.projects-section,.brand-section,.cta-section,.faq-section{padding-top:92px!important;padding-bottom:92px!important}
.projects-section{background:#fff!important}
.services-section{background:#f3f3f0!important}
.project-grid,.service-grid{gap:18px!important}
.project-grid a,.service-card{border-radius:var(--ps-radius)!important}
.project-grid a{min-height:205px!important;background:#111!important}
.project-grid img{height:205px!important;filter:saturate(.95) contrast(1.02)}
.project-grid a>span{padding:17px 16px!important;font-size:12px!important;letter-spacing:.01em!important}
.service-card{background:#fff!important;border:1px solid var(--ps-border)!important;box-shadow:0 12px 34px rgba(22,25,29,.06)!important}
.service-card img{height:180px!important}
.service-card .card-body{padding:24px 21px 28px!important}
.service-card h3{font-size:21px!important;letter-spacing:-.025em!important;margin:13px 0 10px!important}
.service-card p{font-size:12px!important;line-height:1.6!important;color:#6a6f75!important}
.service-card .icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff0e9;color:var(--ps-orange);font-size:17px!important}
.brand-section{background:#e9e9e6!important}
.brand-layout{gap:22px!important}
.brand-copy{padding-right:24px}
.brand-panel{border-radius:var(--ps-radius)!important;min-height:235px!important;padding:38px!important;box-shadow:0 18px 38px rgba(0,0,0,.08)}
.process-section{padding:72px 0!important}
.steps{gap:0!important;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.steps article{padding:30px 24px!important;border-right:1px solid rgba(255,255,255,.1)}
.steps article:last-child{border-right:0}
.safety-section{min-height:390px}
.safety-inner{padding-top:82px!important;padding-bottom:82px!important}
.safety-copy{max-width:560px}
.cta-grid{gap:22px!important}
.cta{min-height:300px!important;border-radius:var(--ps-radius)!important;padding:46px!important;overflow:hidden}
.cta h2{font-size:clamp(34px,4vw,54px)!important;line-height:1!important}
.faq-layout{align-items:start!important}
.faq-photo{border-radius:var(--ps-radius)!important;min-height:300px!important}
.faq-list a{padding:18px 0!important;font-size:13px!important}
footer{padding-top:70px!important;background:#07090b!important}
.footer-grid{gap:44px!important}
/* Inner pages */
.inner-hero,.simple-hero,.state-hero,.hero-section{background:radial-gradient(circle at 82% 20%,rgba(255,90,31,.16),transparent 30%),#090b0e!important;padding-top:92px!important;padding-bottom:86px!important}
.inner-hero h1,.simple-hero h1,.state-hero h1,.hero-section h1{font-size:clamp(48px,6vw,82px)!important;line-height:.96!important;letter-spacing:-.055em!important}
.simple-content,.content-section,.state-content,.service-detail-list{padding-top:86px!important;padding-bottom:96px!important}
.simple-card,.academy-card,.resource-card,.state-card,.test-card{border:1px solid var(--ps-border)!important;border-radius:var(--ps-radius)!important;box-shadow:0 12px 34px rgba(18,22,28,.06)!important;background:#fff!important}
button,.button,.line-button,input,select,textarea{border-radius:4px!important}
/* eliminate legacy duplicate bars and spacing artifacts */
body>.ps-site-header+header,body>.ps-site-header+.site-header,body>.ps-site-header+.topbar{display:none!important}
main>section:first-child{margin-top:0!important}
@media(max-width:980px){
 .ps-site-header{position:sticky}
 .ps-primary-nav{gap:0}
 .project-grid,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .steps{grid-template-columns:repeat(2,1fr)!important}
 .steps article{border-bottom:1px solid rgba(255,255,255,.1)}
}
@media(max-width:620px){
 .ps-nav-shell{height:66px}
 .hero,.hero-inner{min-height:610px}
 .hero-copy h1{font-size:52px!important}
 .white.services-section,.white.projects-section,.brand-section,.cta-section,.faq-section{padding-top:66px!important;padding-bottom:66px!important}
 .project-grid,.service-grid{grid-template-columns:1fr!important}
 .project-grid img,.service-card img{height:220px!important}
 .cta{min-height:340px!important;padding:32px 25px!important}
 .steps{grid-template-columns:1fr!important}
}
