/* SBP internal-page system. The approved homepage is intentionally outside this scope. */
.sbp-refined{--sbp-content:1200px;--sbp-copy:820px;--sbp-section:clamp(44px,5vw,68px)}
.sbp-refined .sbp-main .elementor-section>.elementor-container{max-width:1240px}
.sbp-refined .sbp-main .elementor-column{min-width:0}
.sbp-refined .sbp-main .elementor-heading-title{text-wrap:balance}
.sbp-refined .sbp-main .elementor-widget-text-editor{font-size:18px;line-height:1.65}
.sbp-refined .sbp-main .elementor-widget-text-editor p{margin:0 0 16px}
.sbp-refined .sbp-main .sbp-eyebrow{font:700 12px/1.4 Arial,Helvetica,sans-serif!important;letter-spacing:.14em!important;color:#3d6d48!important;margin:0;text-transform:none}
/* Clear titles and the homepage's dark-green / bright-image contrast. */
.sbp-refined .sbp-main .sbp-page-hero{background:#143623;padding:64px 0!important;color:#fff}
.sbp-refined .sbp-main .sbp-page-hero .elementor-heading-title{color:#fff!important}
.sbp-refined .sbp-main .sbp-page-hero .sbp-eyebrow{color:#e0efb7!important}
.sbp-refined .sbp-main .sbp-page-hero h1.elementor-heading-title{font-size:clamp(36px,4.2vw,58px)!important;line-height:1.1;letter-spacing:-.035em;max-width:1000px}
.sbp-refined .sbp-hero-summary{font-size:20px;line-height:1.55;color:#e6eee7;max-width:780px;margin:24px 0 0;text-wrap:pretty}
.sbp-refined .sbp-main .sbp-page-hero:not(.sbp-page-hero-image)>.elementor-container{max-width:1240px;text-align:left}
.sbp-refined .sbp-main .sbp-page-hero:not(.sbp-page-hero-image) .elementor-column:first-child{width:100%!important}
.sbp-refined .sbp-main .sbp-page-hero:not(.sbp-page-hero-image) .elementor-column:last-child:not(:first-child){display:none}
.sbp-refined .sbp-main .sbp-page-hero-image{padding:0!important}
.sbp-refined .sbp-main .sbp-page-hero-image>.elementor-container{max-width:none!important;padding:0!important;display:grid!important;grid-template-columns:46% 54%;align-items:stretch;gap:0;min-height:420px}
.sbp-refined .sbp-main .sbp-page-hero-image>.elementor-container>.elementor-column{width:100%!important}
.sbp-refined .sbp-page-hero-image .elementor-column:first-child{padding:64px clamp(28px,4vw,64px) 64px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center}
.sbp-refined .sbp-page-hero-image .elementor-column:last-child .elementor-widget-wrap,.sbp-refined .sbp-page-hero-image .elementor-widget-image,.sbp-refined .sbp-page-hero-image .elementor-widget-image .elementor-widget-container{height:100%}
.sbp-refined .sbp-page-hero-image .elementor-column:last-child img{display:block;width:100%;height:100%;max-height:none;min-height:420px;object-fit:cover}
.sbp-refined.sbp-view-who-we-are .sbp-page-hero-image h1.elementor-heading-title{font-size:clamp(34px,3.1vw,44px)!important;line-height:1.17}
/* Secondary headings stay subordinate to the page title. */
.sbp-refined .sbp-main .sbp-article{padding:var(--sbp-section) 0}
.sbp-refined .sbp-main .sbp-article>.elementor-container{max-width:860px!important}
.sbp-refined .sbp-main .sbp-article .elementor-widget-heading{margin-top:18px}
.sbp-refined .sbp-main .sbp-article h2.elementor-heading-title{font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:-.025em}
.sbp-refined .sbp-main .sbp-article .elementor-widget-heading:first-child{margin-top:0}
.sbp-refined .sbp-main .elementor-widget-text-editor a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.sbp-refined .sbp-main .elementor-widget-button{margin:4px 12px 12px 0!important}
.sbp-refined .sbp-main .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:4px;padding:15px 26px;font-size:16px;font-weight:500;line-height:1.25;white-space:normal}
/* One careers band mirrors the pale-green homepage section. */
.sbp-refined .sbp-main .sbp-careers{background:#e0efb7;text-align:left;padding:64px 0!important}
.sbp-refined .sbp-main .sbp-careers .elementor-heading-title{color:#214c30!important}
.sbp-refined .sbp-main .sbp-careers h2.elementor-heading-title{font-size:clamp(30px,3.5vw,48px);line-height:1.15}
.sbp-refined .sbp-main .sbp-careers .elementor-button{background:#214c30!important;color:#fff!important}
.sbp-refined .sbp-main .sbp-careers .elementor-button:hover{background:#153525!important}
.sbp-refined .sbp-main .sbp-careers .elementor-widget-wrap{justify-content:flex-start!important}
.sbp-refined .sbp-main .sbp-careers .elementor-widget-button{width:auto!important}
.sbp-refined .sbp-main .sbp-careers .elementor-button-wrapper{text-align:left}
/* Product collections use the homepage's generous content width. */
.sbp-view-what-we-sell .sbp-main .sbp-article>.elementor-container,.sbp-view-branch-line-cards .sbp-main .sbp-article>.elementor-container{max-width:1240px!important}
.sbp-view-what-we-sell .sbp-article .elementor-widget-text-editor,.sbp-view-branch-line-cards .sbp-article>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-text-editor{max-width:820px}
.sbp-refined .sbp-product-grid{gap:18px;margin-top:28px}
.sbp-refined .sbp-product-grid a{display:flex;flex-direction:column;border-radius:4px;overflow:hidden}
.sbp-refined .sbp-product-grid span{padding:17px 16px;line-height:1.45;min-height:78px;align-items:center}
.sbp-refined .sbp-main .sbp-duo{background:#f6f8f4}
.sbp-refined .sbp-duo>.elementor-container{gap:56px;align-items:stretch}
.sbp-refined .sbp-duo .elementor-widget-wrap{display:flex;flex-direction:column;align-items:flex-start}
.sbp-refined .sbp-duo .elementor-widget-button{margin-top:auto!important;padding-top:12px}
.sbp-refined .sbp-main .sbp-duo h2.elementor-heading-title{font-size:clamp(28px,3vw,38px);line-height:1.2}
.sbp-refined .sbp-main .sbp-related{background:#f6f8f4;padding:56px 0}
.sbp-refined .sbp-main .sbp-related h2.elementor-heading-title{font-size:clamp(30px,3vw,42px)}
/* Supplier marks stay smaller than their source artwork, with balanced incomplete rows. */
.sbp-refined .sbp-main .elementor .sbp-supplier-heading{background:#f6f8f4;padding:52px 0 12px;text-align:left}
.sbp-refined .sbp-main .elementor .sbp-supplier-heading h2.elementor-heading-title{font-size:clamp(30px,3vw,42px)}
.sbp-refined .sbp-main .elementor .sbp-supplier-logos{background:#f6f8f4;padding:16px 0 56px}
.sbp-refined .sbp-main .elementor .sbp-supplier-logos>.elementor-container{display:flex!important;flex-wrap:wrap;justify-content:flex-start;gap:18px}
.sbp-refined .sbp-main .elementor .sbp-supplier-logos .elementor-column{width:calc((100% - 72px)/5)!important;max-width:222px;border-color:#dce5dc}
.sbp-refined .sbp-main .elementor .sbp-supplier-logos img{aspect-ratio:222/155;object-fit:contain}
.sbp-refined .sbp-partner-completion{background:#f6f8f4;padding:52px 0 56px}
.sbp-refine-container{max-width:1240px;padding:0 20px;margin:auto}
.sbp-refined .sbp-partner-completion h2{font-size:clamp(30px,3vw,42px);line-height:1.15;letter-spacing:-.025em;margin:0 0 18px}
.sbp-refined .sbp-partner-completion p{color:#344c3c;font-size:17px;line-height:1.65;margin:0 0 30px}
.sbp-partner-grid{display:flex;flex-wrap:wrap;gap:18px}
.sbp-partner-tile{width:calc((100% - 72px)/5);max-width:222px;background:#fff;border:1px solid #dce5dc;border-radius:4px;overflow:hidden}
.sbp-partner-tile img{display:block;width:100%;aspect-ratio:222/155;object-fit:contain}
/* A compact, scannable mySBP features grid with the same flush-right device as home. */
.sbp-view-about-mysbp .sbp-main>.elementor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:none;padding:0 max(20px,calc((100vw - 1200px)/2)) 72px;margin:auto;overflow:visible}
.sbp-view-about-mysbp .sbp-main>.elementor>.elementor-section:not(.sbp-feature){grid-column:1/-1}
.sbp-view-about-mysbp .sbp-main .sbp-mysbp-hero{width:auto;margin-left:calc(-1 * max(20px,calc((100vw - 1200px)/2)));margin-right:calc(-1 * max(20px,calc((100vw - 1200px)/2)));padding:64px 0;background:#f6f8f4}
.sbp-view-about-mysbp .sbp-mysbp-hero>.elementor-container{max-width:none!important;padding:0 0 0 max(24px,calc((100vw - 1200px)/2));display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,42%);gap:64px;align-items:center}
.sbp-view-about-mysbp .sbp-mysbp-hero .elementor-column{width:100%!important}
.sbp-view-about-mysbp .sbp-mysbp-hero .portal-logo{text-align:left}
.sbp-view-about-mysbp .sbp-main .sbp-mysbp-hero h1.elementor-heading-title{font-size:clamp(34px,3.5vw,48px)!important;line-height:1.15}
.sbp-view-about-mysbp .sbp-mysbp-hero .elementor-column:last-child img{display:block;width:100%;height:480px;max-height:480px;object-fit:contain;object-position:right center}
.sbp-view-about-mysbp .sbp-main .sbp-intro{padding:32px 0 12px}
.sbp-view-about-mysbp .sbp-intro>.elementor-container{padding:0!important;max-width:820px!important}
.sbp-view-about-mysbp .sbp-intro .elementor-column{width:100%!important}
.sbp-view-about-mysbp .sbp-main .sbp-section-heading{padding:20px 0 12px}
.sbp-view-about-mysbp .sbp-section-heading>.elementor-container{padding:0!important}
.sbp-view-about-mysbp .sbp-section-heading .elementor-widget-text-editor{max-width:820px}
.sbp-view-about-mysbp .sbp-main .sbp-feature{padding:28px!important;background:#f6f8f4;border:1px solid #dce5dc;border-top:3px solid #214c30;border-radius:4px}
.sbp-view-about-mysbp .sbp-feature>.elementor-container{padding:0!important;background:transparent;border:0;max-width:none!important}
.sbp-view-about-mysbp .sbp-feature .elementor-column{width:100%!important}
.sbp-view-about-mysbp .sbp-main .sbp-feature h3.elementor-heading-title{font-size:23px;line-height:1.25}
.sbp-view-about-mysbp .sbp-feature .elementor-widget-text-editor{font-size:17px;line-height:1.6}
.sbp-view-about-mysbp .sbp-feature .elementor-widget:last-child p{margin-bottom:0}
/* Leadership uses a full-width title band while keeping its existing three-column profiles. */
.sbp-refined.sbp-leadership-page .sbp-main>.elementor{max-width:none;padding:0 max(20px,calc((100vw - 1200px)/2));gap:28px;overflow:visible}
.sbp-refined.sbp-leadership-page .sbp-main .sbp-page-hero,.sbp-refined.sbp-leadership-page .sbp-main .sbp-careers{width:auto;margin:0 calc(-1 * max(20px,calc((100vw - 1200px)/2))) 24px;padding:64px 0!important}
.sbp-refined.sbp-leadership-page .sbp-main .sbp-careers{margin-top:24px;margin-bottom:0}
.sbp-refined.sbp-leadership-page .sbp-page-hero>.elementor-container{padding:0 20px!important}
.sbp-refined.sbp-leadership-page .sbp-leader .elementor-widget-text-editor{font-size:16px;line-height:1.6}
.sbp-refined.sbp-leadership-page .sbp-leader img{background:#e8eee8}
/* Values and sustainability retain official content and balanced card geometry. */
.sbp-refined.sbp-view-our-core-values .sbp-intro>.elementor-container{max-width:860px!important}
.sbp-refined.sbp-view-our-core-values .sbp-values .elementor-widget-wrap{grid-template-rows:auto 76px repeat(3,1fr)}
.sbp-refined.sbp-view-our-core-values .sbp-main .sbp-values h2.elementor-heading-title{text-transform:none;font-size:29px}
.sbp-refined .sbp-main .sbp-sustain-intro{background:#fff}
.sbp-refined .sbp-main .sbp-sustain-intro .elementor-widget-text-editor{font-size:21px;line-height:1.6}
.sbp-refined .sbp-sustain-standards .elementor-button{font-size:15px;padding:13px 16px;min-height:48px}
.sbp-refined .sbp-sustain-standards .elementor-widget-button{padding-top:12px}
.sbp-refined .sbp-sustain-standards .elementor-column,.sbp-refined .sbp-sustain-programs .elementor-column{border-radius:4px;overflow:hidden}
/* Useful directories need working room, not a narrow article column. */
.sbp-refined .sbp-directory{margin-top:12px}
.sbp-refined .sbp-directory-grid{gap:20px}
.sbp-refined .sbp-directory-grid article{background:#f6f8f4;padding:24px;line-height:1.6}
.sbp-refined .sbp-directory-grid h3{font-size:21px;line-height:1.25;min-height:52px}
.sbp-refined .sbp-directory-grid p{font-size:16px;min-height:76px}
.sbp-refined .sbp-directory-grid a{display:inline-block;min-height:32px;line-height:1.5;text-underline-offset:3px;padding:4px 0}
.sbp-refined .sbp-directory input{max-width:580px;min-height:50px}
.sbp-view-our-locations .sbp-main .sbp-intro{padding:36px 0}
.sbp-view-our-locations .sbp-intro .elementor-column{width:100%!important}
.sbp-view-our-locations .sbp-intro .elementor-widget-text-editor{max-width:820px}
.sbp-view-our-locations .sbp-main .sbp-map-section>.elementor-container{max-width:1400px!important}
/* Editorial cards and articles maintain clear hierarchy and complete images. */
.sbp-refined .sbp-blog-grid{gap:24px}
.sbp-refined .sbp-blog-grid article{display:flex;flex-direction:column;border-radius:4px;overflow:hidden}
.sbp-refined .sbp-blog-grid article[hidden]{display:none}
.sbp-refined .sbp-blog-card-body{display:flex;flex-direction:column;flex:1;padding:24px}
.sbp-refined .sbp-blog-card-body h2{font-size:23px;line-height:1.28}
.sbp-refined .sbp-blog-card-body p{font-size:16px;line-height:1.6}
.sbp-refined .sbp-blog-more{margin-top:auto;padding-top:16px;min-height:44px}
.sbp-refined .sbp-blog-filters{gap:14px;margin-bottom:20px}
.sbp-refined .sbp-blog-filters input,.sbp-refined .sbp-blog-filters select{min-height:50px}
.sbp-refined .sbp-main .sbp-blog-article{padding:60px 0 72px}
.sbp-refined .sbp-main .sbp-blog-article>.elementor-container{max-width:860px!important}
.sbp-refined .sbp-main .sbp-blog-article h1.elementor-heading-title{font-size:clamp(34px,4vw,52px);line-height:1.12}
.sbp-refined .sbp-blog-article .elementor-widget-image{margin:10px 0 32px!important}
.sbp-refined .sbp-blog-article .elementor-widget-image img{display:block;max-height:none;height:auto;width:100%}
.sbp-refined .sbp-main .sbp-blog-article h2.elementor-heading-title{font-size:28px;line-height:1.25;margin-top:16px}
/* Legal wording is preserved; only reading rhythm and link visibility change. */
.sbp-refined .sbp-main .sbp-legal>.elementor-container{max-width:860px!important}
.sbp-refined .sbp-main .sbp-legal .elementor-widget-text-editor{font-size:17px;line-height:1.7;overflow-wrap:anywhere}
.sbp-refined .sbp-legal .elementor-widget-text-editor:not(:last-child){margin-bottom:8px}
.sbp-refined .sbp-main .sbp-legal .elementor-heading-title{font-size:26px;line-height:1.25}
/* Preserve the job-first workflow; unify feedback with the rest of SBP. */
.sbp-refined .sbp-jobs-filters input,.sbp-refined .sbp-jobs-filters select{font-weight:400;min-height:48px}
.sbp-refined .sbp-jobs a:focus-visible,.sbp-refined .sbp-jobs button:focus-visible,.sbp-refined .sbp-jobs input:focus-visible,.sbp-refined .sbp-jobs select:focus-visible{outline:3px solid #153525;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.sbp-refined .sbp-jobs tbody tr:hover{background:#f6f8f4}
.sbp-refined .sbp-footer-legal a{padding:6px 0}
@media(max-width:1024px){
 .sbp-view-about-mysbp .sbp-main>.elementor{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sbp-view-about-mysbp .sbp-mysbp-hero>.elementor-container{gap:32px}
 .sbp-view-about-mysbp .sbp-mysbp-hero .elementor-column:last-child img{height:430px}
}
@media(max-width:900px){
 .sbp-refined .sbp-main .sbp-page-hero-image>.elementor-container{grid-template-columns:1fr;min-height:0}
 .sbp-refined .sbp-page-hero-image .elementor-column:first-child{padding:48px 24px}
 .sbp-refined .sbp-page-hero-image .elementor-column:last-child img{height:360px;min-height:0;max-height:none;object-position:center}
 .sbp-refined .sbp-main .elementor .sbp-supplier-logos .elementor-column,.sbp-partner-tile{width:calc((100% - 36px)/3);max-width:none}
 .sbp-view-about-mysbp .sbp-mysbp-hero>.elementor-container{grid-template-columns:1fr;padding:0!important;gap:28px}
 .sbp-view-about-mysbp .sbp-mysbp-hero .elementor-column:first-child{padding:0 24px}
 .sbp-view-about-mysbp .sbp-mysbp-hero .elementor-column:last-child{margin:0}
 .sbp-view-about-mysbp .sbp-mysbp-hero .elementor-column:last-child img{height:auto;max-height:480px;object-position:right center}
 .sbp-refined.sbp-view-our-core-values .sbp-values .elementor-widget-wrap{grid-template-rows:none}
}
@media(max-width:650px){
 .sbp-refined .sbp-main .sbp-page-hero{padding:44px 0!important}
 .sbp-refined .sbp-main .sbp-page-hero-image{padding:0!important}
 .sbp-refined .sbp-main .sbp-page-hero h1.elementor-heading-title{font-size:clamp(32px,8vw,42px)!important}
 .sbp-refined .sbp-hero-summary{font-size:18px;margin-top:20px}
 .sbp-refined .sbp-page-hero-image .elementor-column:first-child{padding:42px 20px}
 .sbp-refined .sbp-page-hero-image .elementor-column:last-child{margin:0}
 .sbp-refined .sbp-page-hero-image .elementor-column:last-child img{height:280px}
 .sbp-refined .sbp-main .elementor-widget-text-editor{font-size:17px}
 .sbp-refined .sbp-main .elementor-button{font-size:15px;padding:14px 20px;min-height:48px}
 .sbp-refined .sbp-product-grid{gap:12px}
 .sbp-refined .sbp-product-grid span{padding:14px 12px;font-size:14px;min-height:80px}
 .sbp-refined .sbp-main .elementor .sbp-supplier-logos>.elementor-container,.sbp-partner-grid{gap:12px}
 .sbp-refined .sbp-main .elementor .sbp-supplier-logos .elementor-column,.sbp-partner-tile{width:calc((100% - 12px)/2)}
 .sbp-refined .sbp-main .sbp-duo .elementor-column+.elementor-column{margin-top:36px}
 .sbp-view-about-mysbp .sbp-main>.elementor{grid-template-columns:1fr;gap:18px;padding:0 18px 48px}
 .sbp-view-about-mysbp .sbp-main .sbp-mysbp-hero{padding:44px 0}
 .sbp-view-about-mysbp .sbp-mysbp-hero .elementor-column:first-child{padding:0 20px}
 .sbp-view-about-mysbp .sbp-main .sbp-mysbp-hero h1.elementor-heading-title{font-size:32px!important}
 .sbp-view-about-mysbp .sbp-main .sbp-feature{padding:24px!important}
 .sbp-refined.sbp-leadership-page .sbp-main>.elementor{padding:0 18px;gap:22px}
 .sbp-refined.sbp-leadership-page .sbp-main .sbp-page-hero,.sbp-refined.sbp-leadership-page .sbp-main .sbp-careers{padding:44px 0!important}
 .sbp-refined .sbp-main .sbp-careers{padding:48px 0!important}
 .sbp-refined .sbp-directory-grid article{padding:22px}
 .sbp-refined .sbp-directory-grid h3,.sbp-refined .sbp-directory-grid p{min-height:0}
 .sbp-refined .sbp-blog-card-body{padding:22px}
 .sbp-refined .sbp-blog-card-body h2{font-size:22px}
 .sbp-refined .sbp-main .sbp-blog-article h1.elementor-heading-title{font-size:32px}
 .sbp-refined .sbp-main .sbp-blog-article{padding:42px 0 52px}
 .sbp-refined .sbp-main .sbp-legal .elementor-widget-text-editor{font-size:16px}
}

@media(max-width:650px){.sbp-view-about-mysbp .sbp-main .sbp-mysbp-hero,.sbp-refined.sbp-leadership-page .sbp-main .sbp-page-hero,.sbp-refined.sbp-leadership-page .sbp-main .sbp-careers{margin-left:-18px;margin-right:-18px}}

/* Final visual QA: consistent product heroes regardless of source image ratio. */
@media(min-width:901px){
 .sbp-refined.sbp-product-page .sbp-main .sbp-page-hero-image>.elementor-container{min-height:440px;grid-template-rows:minmax(440px,auto)}
 .sbp-refined.sbp-product-page .sbp-page-hero-image .elementor-column:last-child{position:relative}
 .sbp-refined.sbp-product-page .sbp-page-hero-image .elementor-column:last-child img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
}
