/* One shared content width for navigation, headings and body content. */
:root{--content-width:1280px}
body>.site-header,.library-page,.content-page{max-width:var(--content-width)!important;margin-left:auto;margin-right:auto;width:100%}
/* Only the hero bleeds to viewport edges; every other home section sits in the centered content grid. */
body>.new-home{max-width:none!important;width:100%;margin-left:0;margin-right:0}
.new-home>.home-section,.new-home>.brand-intro{width:100%;max-width:var(--content-width);margin-left:auto;margin-right:auto}
body>.site-header{padding-inline:24px;gap:22px}
/* Full-bleed footer color, independently constrained footer content. */
body>.site-footer{width:100%;max-width:none!important;margin:0;padding:0!important;display:block!important;background:#fff}
.site-footer .footer-inner{width:100%;max-width:var(--content-width);margin:0 auto;padding:28px 24px;display:flex;flex-direction:row;align-items:center;gap:25px}
.site-footer .footer-inner>div{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#74899b}
.site-footer .footer-inner>small{font-size:8px;color:#9aa9b5}
.site-header nav{gap:17px}
.site-header .nav-home{background:none;color:inherit;padding:10px 0}
.site-header nav a[aria-current="page"]{background:#e9f7ff;color:#0082ac;padding:10px 14px;border-radius:6px}
.library-title{padding:42px 24px}
.library-title .shortlist-trigger{right:24px;top:55px}
.library-page .catalog{padding:32px 24px 60px;max-width:none}
.library-page .catalog-layout{grid-template-columns:225px minmax(0,1fr);gap:32px}
.catalog-main{min-width:0}
/* Banner artwork stretches edge-to-edge, copy is aligned to the page grid. */
.new-home .oem-hero{width:100%;max-width:none;margin-left:0;margin-right:0}
.new-home .hero-inner{width:100%;max-width:var(--content-width);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.new-home .home-section{padding-left:24px;padding-right:24px}
.new-home .ingredient-section{max-width:var(--content-width);padding-left:24px;padding-right:24px}
.new-home .home-contact{width:calc(100% - 48px);max-width:1188px;margin:0 auto 45px}
.brand-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 24px}
.brand-intro h2{font-size:29px;font-weight:500}
.brand-intro p{font-size:12px;color:#7a8da1;margin-top:8px}
.brand-intro>div:last-child{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.page-heading{background:#f1f9ff;padding:35px 24px 40px}
.breadcrumb{display:inline-block;font-size:11px;color:#8095a8;margin-bottom:22px}
.page-heading h1{font-size:38px;font-weight:500;margin:10px 0;line-height:1.5;letter-spacing:-.7px}
.page-heading p{font-size:14px;color:#738aa0;max-width:780px}
.page-body{padding:40px 24px 55px}
.page-body h2{font-size:28px;font-weight:500;line-height:1.5}
.page-body h3{font-size:19px;font-weight:500}
.page-body p,.page-body li{font-size:14px;color:#73859a;line-height:1.95}
.page-body p+p{margin-top:16px}
.editorial-split{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;padding:10px 0 40px}
.page-panel{background:#f7fbfe;border:1px solid #e3eff6;border-radius:12px;padding:28px;margin:20px 0 30px}
.text-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:25px}
.text-columns p{font-size:13px;margin-top:10px}
.page-cta{padding:30px;background:#edf9ff;border-radius:12px;margin-top:35px}
.page-cta p{margin:8px 0 20px}
.service-details article{display:grid;grid-template-columns:58px 1fr;gap:25px;padding:28px 0;border-bottom:1px solid #e3edf4}
.service-details article:first-child{padding-top:0}
.service-details article>span{font:500 20px 'DM Sans',sans-serif;color:#0b9ab6}
.service-details h2{margin-bottom:12px}
.service-details p{max-width:900px}
.service-details ul{padding-left:20px;margin-bottom:0}
.work-steps{list-style:none;padding:0;margin:0;max-width:1000px}
.work-steps li{display:flex;gap:28px;border-bottom:1px solid #e1edf4;padding:25px 0}
.work-steps li:first-child{padding-top:0}
.work-steps li>span{flex:none;width:45px;height:45px;border-radius:50%;background:#e8f7ff;display:grid;place-items:center;color:#098caf;font:500 15px 'DM Sans',sans-serif}
.work-steps h2{font-size:23px;margin-bottom:8px}
.product-pages{display:grid;grid-template-columns:1fr 1fr;gap:23px}
.product-pages article{border:1px solid #deedf5;border-radius:12px;padding:28px;scroll-margin-top:30px}
.product-pages p{margin:12px 0 22px}
.product-pages article>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.product-pages .primary{font-size:12px;padding:10px 18px}
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px}
.contact-grid .page-panel{margin:0}
.contact-grid p{margin:12px 0 22px}
.contact-method{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 15px;padding:20px 0;border-top:1px solid #dcebf4}
.contact-method small{width:100%;color:#8a9dad;font-size:11px}
.contact-method strong{font-weight:500;font-size:18px;overflow-wrap:anywhere}
.contact-method>span{color:#0096b7;font-size:12px}
.contact-prep{padding:15px 0}
.contact-prep ul{padding-left:19px;line-height:2}
@media(max-width:1100px){.site-header nav{gap:12px}.library-page .catalog-layout{grid-template-columns:195px minmax(0,1fr);gap:24px}.editorial-split{gap:35px}.contact-grid{gap:30px}.contact-method strong{font-size:16px}}
@media(max-width:960px){.site-footer .footer-inner{flex-wrap:wrap;gap:15px}.site-footer .footer-inner>small{width:100%;padding-top:10px;text-align:center;border-top:1px solid #edf3f7}body>.site-header{gap:12px}.site-header nav{left:24px;right:24px;padding:15px}.brand-intro{display:block}.brand-intro>div:last-child{margin-top:22px}.text-columns{gap:20px}.page-heading h1{font-size:32px}}
@media(max-width:760px){.library-page .catalog-layout{display:block}.library-title .shortlist-trigger{position:static;margin-top:20px}.editorial-split,.contact-grid{grid-template-columns:1fr;gap:24px}.text-columns{grid-template-columns:1fr;gap:20px}.product-pages{grid-template-columns:1fr}.service-details article{grid-template-columns:32px 1fr;gap:15px}.page-body h2{font-size:25px}.page-body p,.page-body li{font-size:13px}.page-panel{padding:22px}.work-steps li{gap:18px}.work-steps h2{font-size:21px}}
@media(max-width:600px){body>.site-header{padding-inline:18px}.site-footer .footer-inner{padding:23px 18px;gap:14px}.site-footer .footer-inner>div{flex-direction:row;flex-wrap:wrap;gap:7px 15px}.site-footer .footer-inner>small{text-align:left}.library-title{padding:28px 18px}.library-page .catalog{padding:22px 18px 40px}.new-home .hero-inner,.new-home .home-section,.new-home .ingredient-section{padding-left:18px;padding-right:18px}.new-home .home-contact{width:calc(100% - 36px);margin:0 auto 28px}.brand-intro{padding:32px 18px}.brand-intro h2{font-size:25px}.brand-intro>div:last-child{gap:18px}.page-heading{padding:25px 18px 30px}.page-heading h1{font-size:29px}.page-heading p{font-size:12px}.page-body{padding:28px 18px 40px}.page-cta{padding:23px}.page-cta h2{font-size:23px}.product-pages article{padding:23px}.contact-method strong{font-size:16px}}

/* Subpage titles: full-viewport pale blue, text remains in the 1280px container.
   Applies to About, OEM/ODM, Product Categories, Process, Contact and Extracts. */
.content-page .page-heading,
.library-page .library-title {
  --subpage-heading-color: #f1f9ff;
  position: relative;
  isolation: isolate;
  background: transparent;
}
.content-page .page-heading::before,
.library-page .library-title::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--subpage-heading-color);
  z-index: -1;
  pointer-events: none;
}
