/* Perth Biotech storefront. This is the active stylesheet; no build step is required. */
:root{--pb-ink:#141719;--pb-muted:#5b6368;--pb-blue:#79bee3;--pb-blue-dark:#09669a;--pb-line:#d9dee1;--pb-paper:#fff;--pb-soft:#f0f2f3;--pb-heading:'Chivo',Arial,sans-serif;--pb-body:'Geist',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--pb-ink);background:var(--pb-paper);font:15px/1.65 var(--pb-body);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--pb-blue-dark);outline-offset:4px}h1,h2,h3,h4{font-family:var(--pb-heading);line-height:1.08;letter-spacing:-.04em;margin:0 0 20px;font-weight:700}h1{font-size:clamp(36px,5vw,68px)}h2{font-size:clamp(28px,3.5vw,46px)}h3{font-size:23px}p{margin:0 0 20px}ul,ol{padding-left:22px}.pb-container{width:min(1320px,calc(100% - 96px));margin-inline:auto}.pb-eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px}.pb-dot{display:inline-block;width:8px;height:8px;background:var(--pb-blue-dark);border-radius:50%;flex:none}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pb-skip-link{position:fixed;left:16px;top:-100px;padding:12px 20px;background:#fff;z-index:100000}.pb-skip-link:focus{top:16px}.pb-announcement{background:var(--pb-ink);color:#fff;font-size:11px;letter-spacing:.05em}.pb-announcement .pb-container{display:flex;justify-content:space-between;padding-block:9px}.pb-header{background:#fff;border-bottom:1px solid var(--pb-line)}.pb-header-inner{display:flex;gap:42px;align-items:center;min-height:110px}.pb-logo{display:block;flex:none;line-height:0}.pb-logo img{display:block;width:164px;height:98px;object-fit:contain}.pb-navigation{margin-inline:auto}.pb-nav-list{display:flex;list-style:none;padding:0;margin:0;gap:32px;align-items:center}.pb-nav-list a,.pb-header-actions a{text-decoration:none;font-size:13px;font-weight:500}.pb-nav-list a:hover,.pb-header-actions a:hover{color:var(--pb-blue-dark)}.pb-nav-list li{position:relative}.pb-nav-list .sub-menu{display:none;position:absolute;background:#fff;z-index:20;min-width:210px;padding:16px;list-style:none;box-shadow:0 10px 25px #0001}.pb-nav-list li:hover>.sub-menu,.pb-nav-list li:focus-within>.sub-menu{display:block}.pb-header-actions{display:flex;align-items:center;gap:28px}.pb-cart-link{display:flex;align-items:center;gap:8px;white-space:nowrap}.pb-cart-count{font-size:10px;border-radius:50%;background:#163557;min-width:21px;height:21px;display:grid;place-items:center;color:#fff}.pb-menu-toggle{display:none;background:none;border:1px solid var(--pb-line);padding:8px 10px}.pb-search-bar{border-top:1px solid #edf0f1}.pb-search{display:flex;gap:12px;align-items:center}.pb-search input[type=search]{border:0!important;background:transparent;width:100%;padding:13px 0;font-size:12px;color:var(--pb-ink);border-radius:0;box-shadow:none}.pb-search button{flex:none;background:none;border:0;font-size:11px;font-weight:600}.pb-search button span{margin-left:18px;font-size:17px}.pb-hero{background:#e7eaeb}.pb-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding-block:48px}.pb-hero-copy{padding-block:24px;display:flex;flex-direction:column;justify-content:center}.pb-hero h1{text-transform:uppercase;font-size:clamp(38px,4.6vw,68px);line-height:1.01;max-width:690px;letter-spacing:-.055em}.pb-hero-copy>p{max-width:470px;color:#495359;font-size:16px;margin-bottom:30px}.pb-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.pb-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wp-element-button,.wc-block-components-button:not(.is-link){display:inline-flex;align-items:center;justify-content:center;gap:22px;background:#88c4f0;color:#333;border:1px solid #88c4f0;border-radius:0;padding:16px 23px;font-size:12px;font-weight:600;text-decoration:none;line-height:1.3;min-height:46px;box-shadow:none}.pb-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.wp-element-button:hover,.wc-block-components-button:not(.is-link):hover{background:#72b6e8;border-color:#72b6e8;color:#333}.pb-button span[aria-hidden]{font-size:20px;line-height:1}.pb-text-link{display:inline-flex;gap:12px;align-items:center;font-size:12px;font-weight:600;text-decoration:underline}.pb-hero-footnote{display:flex;gap:20px;justify-content:space-between;font-size:9px;letter-spacing:.1em;color:#697279;border-top:1px solid #c7ced2;margin-top:42px;padding-top:18px}.pb-hero-visual{position:relative;min-height:470px;overflow:hidden;background:#d4dade}.pb-hero-visual>img{position:absolute;width:calc(100% + 5px);height:calc(100% + 5px);max-width:none;object-fit:cover;object-position:center;left:-3px}.pb-image-caption{position:absolute;bottom:22px;left:22px;right:22px;background:#fffffff0;padding:19px 24px;font-family:var(--pb-heading);font-size:21px;line-height:1.2;letter-spacing:-.025em}.pb-image-caption .pb-dot{float:right;margin-top:7px}.pb-principles{border-bottom:1px solid var(--pb-line);background:#86c2ef;padding-top:25px;padding-bottom:25px}.pb-principles-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:29px}.pb-principles-grid>div{display:flex;gap:22px;border-right:1px solid var(--pb-line);padding-inline:30px}.pb-principles-grid>div:first-child{padding-left:0}.pb-principles-grid>div:last-child{border:0;padding-right:0}.pb-principles-grid>div>span{font-size:11px;color:var(--pb-blue-dark);padding-top:2px}.pb-principles h2{font-size:15px;letter-spacing:-.02em;margin-bottom:6px}.pb-principles p{font-size:12px;color:var(--pb-muted);margin:0;max-width:240px}.pb-section{padding-block:80px}.pb-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:35px}.pb-section-heading h2{margin:0}.pb-section-heading .pb-eyebrow{margin-bottom:15px}.pb-quality{background:#171b1e;color:#fff;padding-block:75px}.pb-quality-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;align-items:center}.pb-quality .pb-eyebrow{color:var(--pb-blue)}.pb-quality h2{max-width:530px;font-size:clamp(34px,4vw,54px)}.pb-quality p{color:#b8c1c6;max-width:510px}.pb-button--light{background:#fff;color:var(--pb-ink);border-color:#fff;margin-top:12px}.pb-button--light:hover{background:var(--pb-blue);color:var(--pb-ink)}.pb-quality-card{background:#fff;color:var(--pb-ink);padding:34px}.pb-quality-logos{display:flex;align-items:center;gap:34px;padding-bottom:28px;border-bottom:1px solid var(--pb-line);margin-bottom:28px}.pb-coa-logo{width:95px;height:95px;object-fit:contain}.pb-lab-logo{width:170px;height:72px;object-fit:contain}.pb-quality-card h3{font-size:25px}.pb-quality-card ol{list-style:none;padding:0;margin:0}.pb-quality-card li{display:flex;gap:20px;margin-block:12px;font-size:13px}.pb-quality-card li span{font-size:11px;color:var(--pb-muted)}.pb-quality-card p{color:var(--pb-muted);font-size:11px;margin:22px 0 0}.pb-about{display:grid;grid-template-columns:1fr 2fr;gap:50px;border-bottom:1px solid var(--pb-line)}.pb-about h2{max-width:650px}.pb-about p{max-width:640px;color:var(--pb-muted)}.pb-faq details{border-bottom:1px solid var(--pb-line);padding:20px 0}.pb-faq summary{cursor:pointer;font-weight:600}.pb-faq details>div{padding-top:18px;max-width:850px}.pb-footer{background:#f4f5f5;padding-top:45px}.pb-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:55px;padding-bottom:45px}.pb-footer-brand .pb-logo{margin-top:-20px;margin-bottom:15px}.pb-footer p{font-size:12px;color:var(--pb-muted);max-width:285px}.pb-footer h2{font-size:12px;letter-spacing:0;margin:22px 0}.pb-footer-grid>div>a:not(.pb-logo),.pb-footer li a{display:block;font-size:12px;text-decoration:none;margin-bottom:10px}.pb-footer ul{list-style:none;padding:0}.pb-footer-bottom{border-top:1px solid var(--pb-line);display:flex;justify-content:space-between;gap:30px;padding-block:20px}.pb-footer-bottom p{margin:0;font-size:10px;max-width:none}.pb-shop-main,.pb-page-main{padding-block:50px 80px;min-height:50vh}.pb-page-title{margin-bottom:35px}.entry-content{overflow-wrap:anywhere}.entry-content>p,.entry-content>ul,.entry-content>ol{max-width:850px}.woocommerce .woocommerce-breadcrumb{font-size:11px;margin-bottom:25px;color:var(--pb-muted)}.woocommerce-products-header h1{margin-bottom:35px}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:12px;margin-bottom:30px}.woocommerce .woocommerce-ordering select{padding:10px;border:1px solid var(--pb-line);background:#fff;max-width:100%}.woocommerce ul.products,.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px;clear:both;margin:0 0 35px;padding:0}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto!important;float:none;margin:0!important;display:flex;flex-direction:column;min-width:0}.woocommerce ul.products li.product a img{aspect-ratio:1;object-fit:contain;background:#f2f3f3;margin:0 0 18px;padding:12px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:600 17px/1.3 var(--pb-heading);letter-spacing:-.025em;padding:0 0 9px}.woocommerce ul.products li.product .price{font-size:13px;color:var(--pb-ink);margin-bottom:14px}.woocommerce ul.products li.product .button{margin-top:auto;align-self:flex-start;font-size:11px;padding:11px 17px;min-height:40px}.woocommerce ul.products li.product .added_to_cart{font-size:12px;margin-top:10px}.woocommerce span.onsale{background:var(--pb-blue);color:#13232d;border-radius:0;font-size:10px;font-weight:600;min-height:0;min-width:0;padding:6px 10px;line-height:1.5}.woocommerce div.product .product_title{font-size:clamp(30px,3.6vw,48px);line-height:1.08}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--pb-ink);font-size:23px;margin-block:20px}.woocommerce div.product div.images img{background:transparent;object-fit:contain}.woocommerce div.product div.images .woocommerce-product-gallery__image img{max-height:650px}.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:10px;margin-top:12px}.woocommerce div.product div.images .flex-control-thumbs li{width:20%}.woocommerce div.product div.images .flex-control-thumbs img{aspect-ratio:1;object-fit:contain}.woocommerce div.product div.summary{margin-bottom:45px}.woocommerce div.product form.cart{margin-block:28px}.woocommerce div.product form.cart .button{background:#88c4f0;border-color:#88c4f0;color:#333}.woocommerce div.product form.cart .button:hover{background:#72b6e8;border-color:#72b6e8;color:#333}.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{padding:8px 0;vertical-align:middle}.woocommerce div.product form.cart .variations select{padding:12px;border:1px solid var(--pb-line);background:#fff;border-radius:0;min-width:70%}.woocommerce .quantity .qty{height:48px;width:72px;border:1px solid var(--pb-line);border-radius:0}.woocommerce div.product .product_meta{font-size:11px;color:var(--pb-muted);display:flex;flex-direction:column;gap:6px}.woocommerce-product-details__short-description{font-size:14px;color:var(--pb-muted)}.woocommerce-product-details__short-description ul{padding-left:20px}.pb-product-notice{font-size:11px;color:var(--pb-muted);padding:18px 0;border-top:1px solid var(--pb-line);margin-top:25px}.pb-coa-shortcut{display:inline-flex;gap:22px;align-items:center;color:var(--pb-blue-dark);font-size:13px;font-weight:600;margin:5px 0 15px}.woocommerce div.product .woocommerce-tabs{clear:both;padding-top:20px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid var(--pb-line);display:flex;gap:30px;flex-wrap:wrap}.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;border-radius:0;background:none;margin:0;padding:0}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:13px;font-weight:500;padding:16px 0}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--pb-ink)}.woocommerce div.product .woocommerce-tabs .panel{padding-block:15px}.woocommerce div.product .woocommerce-tabs .panel>h2{font-size:28px}.woocommerce .related.products>h2{font-size:30px;margin-block:35px}.pb-reports-heading{display:flex;gap:22px;align-items:center;margin-bottom:28px}.pb-reports-heading img{object-fit:contain}.pb-reports-heading h2{font-size:28px;margin:0 0 8px}.pb-reports-heading p{font-size:13px;margin:0;color:var(--pb-muted)}.pb-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pb-report{padding:26px;border:1px solid var(--pb-line);background:#f7f8f9}.pb-report h3{font-size:23px}.pb-report dl{margin:20px 0}.pb-report dl>div{display:grid;grid-template-columns:1fr 1.5fr;gap:15px;font-size:12px;margin-bottom:9px}.pb-report dt{color:var(--pb-muted)}.pb-report dd{margin:0;overflow-wrap:anywhere}.pb-button--small{padding:12px 18px}.pb-report .pb-text-link{display:flex;margin-top:15px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--pb-line);border-radius:0;padding:12px;background:#fff;color:var(--pb-ink)}.woocommerce form .form-row label{font-size:12px}.woocommerce table.shop_table{border-radius:0;border-color:var(--pb-line);font-size:13px}.woocommerce table.shop_table th{font-weight:600;padding:15px 12px}.woocommerce table.shop_table td{padding:15px 12px}.woocommerce-cart table.cart img{width:75px}.woocommerce .cart-collaterals .cart_totals h2{font-size:28px}.woocommerce #payment{background:var(--pb-soft);border-radius:0}.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{border-top-color:var(--pb-blue-dark);background:var(--pb-soft);font-size:13px}.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-message::before{color:var(--pb-blue-dark)}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;border:1px solid var(--pb-line)}.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 18px;text-decoration:none;border-bottom:1px solid var(--pb-line)}.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--pb-soft);font-weight:600}.wc-block-components-title,.wc-block-components-product-name{font-family:var(--pb-heading)}.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{padding-top:10px}.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.wc-blocks-components-select .wc-blocks-components-select__select{border-radius:0!important}.woocommerce nav.woocommerce-pagination ul,.woocommerce nav.woocommerce-pagination ul li{border-color:var(--pb-line)}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--pb-ink);color:#fff}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{padding:13px 17px}
@media(min-width:1600px){.pb-hero-grid{gap:95px}.pb-hero h1{font-size:72px}}
@media(max-width:1050px){.pb-container{width:calc(100% - 48px)}.pb-header-inner{gap:22px}.pb-nav-list{gap:20px}.pb-header-actions{gap:18px}.pb-hero-grid{gap:35px}.pb-hero-visual{min-height:430px}.pb-hero h1{font-size:48px}.pb-quality-grid{gap:40px}.pb-principles-grid>div{padding-inline:18px;gap:14px}.pb-footer-grid{gap:25px}.pb-report-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.pb-container{width:calc(100% - 36px)}.pb-announcement .pb-container{justify-content:center}.pb-announcement .pb-container>span:last-child{display:none}.pb-header-inner{min-height:87px;flex-wrap:wrap;gap:12px;position:relative}.pb-logo img{width:130px;height:84px}.pb-menu-toggle{display:flex;gap:7px;font-size:12px;margin-left:auto}.pb-navigation{display:none;order:5;width:100%;margin:0 0 18px}.pb-navigation.is-open{display:block}.pb-nav-list{display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--pb-line)}.pb-nav-list a{display:block;padding:12px 0}.pb-nav-list .sub-menu{position:static;box-shadow:none;display:block;padding:0 0 0 16px}.pb-account-link{display:none}.pb-cart-link>span:not(.pb-cart-count){display:none}.pb-cart-link{gap:5px}.pb-header-actions{gap:0}.pb-search input[type=search]{font-size:11px}.pb-search button{font-size:10px}.pb-search button span{margin-left:4px}.pb-hero-grid{grid-template-columns:1fr;padding-block:30px;gap:28px}.pb-hero-copy{padding:0}.pb-hero h1{font-size:clamp(38px,10vw,58px);max-width:560px}.pb-hero-copy>p{font-size:14px}.pb-eyebrow{font-size:10px;margin-bottom:20px}.pb-hero-footnote{margin-top:28px;font-size:8px;gap:10px}.pb-hero-visual{min-height:300px;max-height:350px}.pb-image-caption{font-size:20px;padding:17px 20px;left:16px;right:16px;bottom:16px}.pb-principles-grid{grid-template-columns:1fr;padding-block:5px}.pb-principles-grid>div{border-right:0;border-bottom:1px solid var(--pb-line);padding:20px 0!important;gap:23px}.pb-principles p{max-width:none}.pb-section{padding-block:50px}.pb-section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}.pb-section-heading h2{font-size:34px}.pb-quality{padding-block:45px}.pb-quality-grid{grid-template-columns:1fr;gap:30px}.pb-quality h2{font-size:38px}.pb-quality-card{padding:25px}.pb-quality-logos{gap:25px}.pb-lab-logo{max-width:50%;height:65px}.pb-coa-logo{width:85px;height:85px}.pb-about{grid-template-columns:1fr;gap:0}.pb-footer-grid{grid-template-columns:1fr 1fr;gap:18px 30px}.pb-footer-brand{grid-column:1/-1;max-width:320px}.pb-footer-bottom{flex-direction:column;gap:12px}.pb-footer-bottom p{font-size:10px}.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px}.woocommerce ul.products li.product a img{padding:8px;margin-bottom:13px}.woocommerce ul.products li.product .button{font-size:10px;padding:10px 12px}.pb-shop-main,.pb-page-main{padding-block:30px 50px}.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%}.woocommerce div.product div.images{margin-bottom:30px}.woocommerce div.product .product_title{font-size:36px}.woocommerce div.product .woocommerce-tabs ul.tabs{gap:20px}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:12px}.pb-report-grid{grid-template-columns:1fr}.pb-reports-heading{align-items:flex-start;gap:16px}.pb-reports-heading img{width:55px;height:55px}.pb-reports-heading h2{font-size:24px}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none;display:block;margin-bottom:15px}.woocommerce .woocommerce-ordering{margin-bottom:30px}.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{padding:18px}.woocommerce table.shop_table{font-size:12px}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}.pb-page-title{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Shopify source copy and laboratory collection presentation. */
.pb-hero {
    position: relative;
    isolation: isolate;
    background: #e9eff5;
}
.pb-hero-background { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.pb-hero-background img { width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.pb-hero-background::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.7) 52%, rgba(255,255,255,.22)), linear-gradient(170deg, rgba(255,255,255,.25), rgba(238,238,238,.3) 45%, rgba(43,61,101,.88));
}
.pb-hero-grid { grid-template-columns: 1.15fr 1fr; padding-block: 48px; }
.pb-hero h1 {
    font-size: clamp(29px, 2.65vw, 40px);
    line-height: 1.16;
    letter-spacing: -.035em;
    text-transform: uppercase;
    max-width: 640px;
    margin-bottom: 22px;
}
.pb-hero-description { max-width: 510px; font-size: 14px; color: #303b42; }
.pb-hero-description p { margin-bottom: 16px; }
.pb-hero-description strong { color: var(--pb-ink); font-weight: 650; }
.pb-hero-logos { display: flex; align-items: center; gap: 14px; margin: 13px 0 22px; }
.pb-hero-logos img:first-child { width: 62px; height: 62px; object-fit: contain; }
.pb-hero-logos img:last-child { width: 165px; height: 62px; object-fit: contain; }
.pb-hero .pb-actions .pb-button { text-transform: uppercase; font-size: 11px; letter-spacing: .04em; }
.pb-hero-visual { min-height: 554px; border-radius: 15px; transform: translate3d(0, var(--pb-hero-shift, 0px), 0); transition: transform .18s ease-out; }
@media(prefers-reduced-motion:reduce) {
    .pb-hero-visual { transform: none; transition: none; }
}
.pb-principles { background: #2b3d65; color: #fff; border-bottom-color: #2b3d65; }
.pb-principles-grid > div { align-items: flex-start; border-color: rgba(255, 255, 255, .65); }
.pb-principles-grid > div > img { width: 40px; height: 40px; flex: none; object-fit: contain; }
.pb-principles h2 { color: #fff; text-transform: uppercase; font-size: 12px; letter-spacing: .015em; line-height: 1.4; }
.pb-principles p { max-width: 295px; color: #edf2fb; }
#products .pb-section-heading h2, .pb-collections > h2 {
    font-size: clamp(21px, 2vw, 27px);
    text-transform: uppercase;
    letter-spacing: -.025em;
    line-height: 1.2;
}
#products { padding-bottom: 45px; }
.pb-collections { padding-block: 15px 55px; }
.pb-collections > h2 { margin-bottom: 27px; }
.pb-collection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pb-collection-tile {
    position: relative; display: flex; align-items: flex-end;
    min-height: 270px; padding: 28px;
    border: 1px solid #a7cde5; border-radius: 16px;
    background: #103a55; overflow: hidden; text-decoration: none;
    isolation: isolate; transition: box-shadow .25s ease, border-color .25s ease;
}
.pb-collection-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pb-collection-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,31,49,.03) 0%, rgba(7,31,49,.35) 35%, rgba(5,28,46,.94) 100%); }
.pb-collection-tile:hover, .pb-collection-tile:focus-visible { border-color: #57a9de; box-shadow: 0 12px 26px #173d5726; }
.pb-collection-tile:hover img, .pb-collection-tile:focus-visible img { transform: scale(1.045); }
.pb-collection-content { position: relative; z-index: 1; width: 100%; color: #fff; }
.pb-collection-content h3 { max-width: 420px; margin: 0 0 18px; font-size: clamp(23px, 2.1vw, 29px); line-height: 1.15; letter-spacing: -.025em; color: #fff; }
.pb-collection-action { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 14px; border-top: 1px solid #ffffff55; color: #e4f3ff; font-size: 12px; font-weight: 500; }
.pb-collection-arrow { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #ffffff80; border-radius: 50%; font-size: 20px; line-height: 1; transition: background .25s ease, color .25s ease; }
.pb-collection-tile:hover .pb-collection-arrow, .pb-collection-tile:focus-visible .pb-collection-arrow { background: #fff; color: #09669a; }
.pb-quality--research { background: linear-gradient(125deg, #e5f3fc 0%, #f5faff 48%, #d5eafa 100%); color: var(--pb-ink); padding-block: 65px; margin-block: 10px 40px; border-block: 1px solid #d0e5f3; }
.pb-quality--research .pb-quality-grid { grid-template-columns: 1fr 1fr; gap: 65px; max-width: 1200px; align-items: center; }
.pb-quality-photo { position: relative; overflow: hidden; border-radius: 18px; box-shadow: 0 18px 40px #164e7520; }
.pb-quality-photo img { display: block; width: 100%; height: 460px; object-fit: cover; object-position: 58% center; }
.pb-quality--research .pb-quality-logos { justify-content: flex-start; border: 0; padding: 0; margin: 0 0 25px; gap: 18px; }
.pb-quality--research .pb-coa-logo { width: 80px; height: 80px; }
.pb-quality--research .pb-lab-logo { width: 155px; height: 70px; }
.pb-quality--research h2 { font-size: clamp(27px, 2.8vw, 39px); text-transform: uppercase; line-height: 1.12; color: #123c59; }
.pb-quality--research p { color: #365970; font-size: 15px; line-height: 1.8; }
.pb-quality--research .pb-button { background: #09669a; border-color: #09669a; color: #fff; border-radius: 5px; }
.pb-quality--research .pb-button:hover { background: #08466b; border-color: #08466b; }
.pb-newsletter { text-align: center; border-top: 1px solid var(--pb-line); padding-block: 45px 55px; }
.pb-newsletter h2 { font-size: 23px; text-transform: uppercase; }
.pb-newsletter > p { max-width: 450px; margin: 0 auto 20px; font-size: 13px; }
.pb-newsletter form { max-width: 620px; margin-inline: auto; }
.pb-newsletter input[type=email] { width: 100%; padding: 15px; border: 1px solid var(--pb-line); }
.pb-newsletter .pb-admin-note { padding: 14px; background: var(--pb-soft); font-size: 11px; }
.pb-footer-disclaimer { background: #fff; border: 1px solid var(--pb-line); border-radius: 8px; padding: 25px; margin-bottom: 25px; }
.pb-footer-disclaimer h2 { text-transform: uppercase; font-size: 11px; letter-spacing: .04em; }
.pb-footer-disclaimer p { max-width: none; font-size: 11px; }
.pb-footer-disclaimer p:last-child { margin-bottom: 0; }

/* Product purchase details: range, options, selected price, stock, then cart. */
.woocommerce div.product.product-type-simple .summary > .price .woocommerce-Price-amount.amount {
    font-family: var(--pb-heading);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.15;
}
.woocommerce div.product .summary > .price { font-size: 13px; margin: 24px 0 30px; }
.woocommerce div.product form.cart .variations { margin-bottom: 24px; }
.woocommerce div.product form.cart .variations th { text-align: left; font-size: 16px; }
.woocommerce div.product form.cart .variations select { font-size: 16px; }
.woocommerce div.product .woocommerce-variation-price .price {
    display: block;
    font-family: var(--pb-heading);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.035em;
    margin: 0 0 12px;
}
.woocommerce div.product .woocommerce-variation-availability .stock { margin: 0 0 20px; }
.woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; align-items: stretch; gap: 4px; flex-wrap: wrap; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce div.product .woocommerce-variation-add-to-cart .button { min-height: 48px; }

.woocommerce div.product p.stock.in-stock,
.woocommerce div.product p.stock.out-of-stock {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 6px 13px;
    border: 1px solid #8dbbff;
    border-radius: 999px;
    background: #c9e2ff;
    color: #142c50;
    font-size: 9px;
    font-weight: bold;
    line-height: 1.7;
    letter-spacing: .12em;
    text-transform: uppercase;
    max-width: 100%;
}
.woocommerce div.product p.stock.in-stock::before,
.woocommerce div.product p.stock.out-of-stock::before {
    content: '';
    width: 11px;
    height: 11px;
    flex: none;
    border-radius: 50%;
    background: #00ca91;
}
.woocommerce div.product p.stock.out-of-stock {
    border-color: #f5ad65;
    background: #ffead4;
    color: #8c410d;
}
.woocommerce div.product p.stock.out-of-stock::before {
    background: #ed8a23;
}

/* The complete product detail stays to the right of the scrolling gallery. */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    padding: 15px; border: 1px solid #4599d0; border-radius: 17px; text-align: center;
    background: #fff; overflow: hidden; transition: border-color .18s, box-shadow .18s;
}
.woocommerce ul.products li.product:hover { border-color: #09669a; box-shadow: 0 8px 24px rgba(9,102,154,.08); }
.woocommerce ul.products li.product a img { padding: 12px; background: transparent; margin-bottom: 18px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.woocommerce ul.products li.product .price { font-size: 14px; margin-bottom: 17px; }
.woocommerce ul.products li.product .button { min-height: 40px; padding: 11px 17px; width: 100%; align-self: stretch; justify-content: center; }
.pb-coa-downloads { margin: 24px 0 18px; padding: 27px; border: 1px solid #398dc1; border-radius: 15px; background: linear-gradient(135deg,#81c0ef 0%,#09669a 30%,#092f55 100%); color: #fff; box-shadow: 0 12px 28px #0c507326; }
.pb-coa-badges { display: flex; gap: 15px; align-items: center; margin-bottom: 20px; }
.pb-coa-badges > img { width: 66px; height: 66px; object-fit: contain; }
.pb-coa-lab-badge { background: #fff; padding: 7px 13px; border-radius: 7px; display: flex; align-items: center; }
.pb-coa-lab-badge img { display: block; width: 148px; height: 44px; object-fit: contain; }
.pb-coa-downloads .pb-eyebrow { color: #fff; margin-bottom: 8px; font-size: 10px; }
.pb-coa-downloads h2 { font-size: 29px; margin-bottom: 8px; color: #fff; }
.pb-coa-downloads > p { font-size: 12px; color: #fff; margin-bottom: 19px; }
.pb-coa-downloads > p a { color: #fff; }
.pb-coa-download { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 14px 15px; margin-top: 9px; background: #062c5066; color: #fff; border: 1px solid #ffffff70; border-radius: 7px; text-decoration: none; font-size: 12px; font-weight: 600; line-height: 1.5; }
.pb-coa-download:hover { border-color: #fff; color: #fff; background: #062c50b3; }
.pb-coa-downloads a:focus-visible { outline-color: #fff; }
.pb-coa-format { flex: none; font-size: 10px; color: #fff; letter-spacing: .06em; }
.pb-coa-format span { font-size: 19px; margin-left: 7px; }
.summary .pb-report { border: 1px solid #b8d4e7; border-radius: 12px; background: #f7fbfe; padding: 23px; }
.summary .pb-report h3 { font-size: 21px; line-height: 1.25; }
.summary .pb-report .pb-eyebrow { color: var(--pb-blue-dark); margin-bottom: 12px; }
@media(max-width:760px) {
    .woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding: 10px; border-radius: 13px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; }
    .pb-coa-downloads, .summary .pb-report { padding: 17px; }
}
.woocommerce.single-product div.product { display: block; }
.woocommerce.single-product .pb-product-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 48px; align-items: start; }
.woocommerce.single-product div.product::before, .woocommerce.single-product div.product::after { display: none; }
.woocommerce.single-product div.product div.images { grid-column: 1; grid-row: 1; float: none; width: 100%; margin: 0; min-width: 0; }
.woocommerce.single-product div.product div.summary { grid-column: 2; grid-row: 1; float: none; width: 100%; min-width: 0; margin-bottom: 0; }
.woocommerce.single-product div.product > .related, .woocommerce.single-product div.product > .upsells { grid-column: 1 / -1; margin-top: 35px; }
.pb-product-description, .pb-product-specifications, .summary .pb-reports { padding-block: 25px; border-top: 1px solid var(--pb-line); }
.pb-product-description > h2, .pb-product-specifications > h2 { font-size: 25px; }
@media (min-width: 1000px) {
    .woocommerce .pb-product-specifications table.shop_attributes th,
    .woocommerce .pb-product-specifications table.shop_attributes td { text-align: left; }
    .woocommerce .pb-product-specifications table.shop_attributes th { padding-left: 0; }
    .woocommerce .pb-product-specifications table.shop_attributes td { padding-left: 20px; }
}
.pb-product-description h3, .pb-product-description h4 { font-size: 18px; line-height: 1.3; margin-top: 26px; }
.pb-product-description { font-size: 14px; line-height: 1.75; }
.pb-product-description img { max-width: 100%; height: auto; }
.pb-product-description table { display: block; overflow-x: auto; }
.pb-product-description iframe { max-width: 100%; }
.pb-product-description ul, .pb-product-description ol { padding-left: 22px; }
.summary .pb-report-grid { grid-template-columns: 1fr; }
.summary .pb-reports-heading h2 { font-size: 25px; }
.summary .pb-reports-heading img { width: 55px; height: 55px; }
.summary .pb-reports-heading { gap: 16px; }
.summary .pb-product-reviews { border-top: 1px solid var(--pb-line); padding: 20px 0; }
.summary .pb-product-reviews > summary { cursor: pointer; font-weight: 600; }
.summary .pb-product-reviews #reviews { padding-top: 20px; }
.summary .pb-product-reviews h2 { font-size: 24px; }
.summary .product_meta { border-top: 1px solid var(--pb-line); padding-top: 20px; margin-top: 20px; }
.woocommerce.single-product div.product .woocommerce-product-gallery__image img { max-height: calc(100vh - 160px); object-fit: contain; }
@media(min-width:1000px) {
    .woocommerce.single-product div.product div.images { position: sticky; top: calc(var(--pb-header-height, 160px) + var(--pb-admin-offset, 0px) + 5px); align-self: start; }
    .woocommerce.single-product div.product .woocommerce-product-gallery__image img { object-position: center top; }
}
@media(max-width:999px) {
    .woocommerce.single-product .pb-product-details { display: block; }
    .woocommerce.single-product div.product div.images { position: static; margin-bottom: 35px; }
    .woocommerce.single-product div.product .woocommerce-product-gallery__image img { max-height: none; }
}
@media(max-width:760px) {
    .pb-hero-grid { grid-template-columns: 1fr; padding-block: 30px; }
    .pb-hero h1 { font-size: 30px; line-height: 1.16; }
    .pb-hero-visual { min-height: 300px; }
    .pb-hero-description { font-size: 13px; }
    .pb-hero-logos { margin-top: 8px; }
    .pb-collection-grid { grid-template-columns: 1fr; }
    .pb-collection-tile { min-height: 235px; padding: 22px; }
    .pb-collection-content h3 { font-size: 24px; }
    .pb-collections { padding-block: 0 35px; }
    .pb-quality--research { padding-block: 35px; margin-bottom: 25px; }
    .pb-quality--research .pb-quality-grid { grid-template-columns: 1fr; gap: 30px; }
    .pb-quality-photo img { height: 350px; }
    .pb-quality--research h2 { font-size: 28px; }
    .pb-newsletter { padding-block: 35px; }
    .pb-newsletter h2 { font-size: 21px; }
    .pb-footer-disclaimer { padding: 20px; }
}

/* Research category navigation, editable in Appearance > Menus. */
.pb-header-inner { position: relative; }
.pb-nav-list li.pb-research-menu { position: static; display: flex; align-items: center; flex-wrap: wrap; }
.pb-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 36px; margin-left: 3px; padding: 0; border: 0; background: transparent; color: var(--pb-blue-dark); line-height: 1; flex-shrink: 0; }
.pb-submenu-toggle svg { display: block; transform-origin: center; transition: transform .22s ease; }
.pb-submenu-toggle[aria-expanded=true] svg { transform: rotate(180deg); }
.pb-nav-list li.pb-research-menu > .sub-menu { display: grid; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s; position: absolute; left: 0; right: 0; top: 100%; z-index: 40; grid-template-columns: 1fr 1fr; gap: 4px 28px; min-width: 0; padding: 24px; margin: 0; border: 1px solid #d9e8f2; border-top: 3px solid #81c0ef; border-radius: 0 0 12px 12px; background: #fff; box-shadow: 0 16px 30px #17364e20; }
.pb-nav-list li.pb-research-menu.is-open > .sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
.pb-nav-list > li > a,
.pb-header-actions a,
.pb-nav-list .pb-research-menu .sub-menu a { font-size: 12px; font-weight: 650; text-transform: uppercase; line-height: 1.5; }
.pb-nav-list .pb-research-menu .sub-menu a { display: block; padding: 13px 15px; border-radius: 5px; }
.pb-nav-list .pb-research-menu .sub-menu a:hover, .pb-nav-list .pb-research-menu .sub-menu a:focus-visible { background: #eef7fd; color: #09669a; }
.woocommerce .term-description { max-width: 900px; margin: 0 0 32px; color: #425767; font-size: 15px; line-height: 1.85; }
.woocommerce .term-description strong { color: #173d57; font-weight: 650; }
@media(max-width:760px) {
    .pb-nav-list li.pb-research-menu > a { flex: 1; }
    .pb-nav-list li.pb-research-menu > .sub-menu { position: static; flex-basis: 100%; grid-template-columns: 1fr; max-height: 0; overflow: hidden; padding: 0 9px; margin-bottom: 0; box-shadow: none; border: 0 solid #d9e8f2; border-radius: 8px; transition: max-height .25s ease, padding .25s ease, margin .25s ease, opacity .2s ease, visibility 0s linear .25s; }
    .pb-nav-list > li > a, .pb-header-actions a, .pb-nav-list .pb-research-menu .sub-menu a { font-size: 11px; }
    .pb-nav-list .pb-research-menu .sub-menu a { padding: 12px 10px; }
    .pb-submenu-toggle { width: 44px; height: 44px; }
}

@media(max-width:760px) {
 .pb-nav-list li.pb-research-menu.is-open > .sub-menu { max-height: 520px; padding: 9px; margin-bottom: 10px; border-width: 1px; transition-delay: 0s; }
}
@media(prefers-reduced-motion:reduce) {
 .pb-submenu-toggle svg, .pb-nav-list li.pb-research-menu > .sub-menu { transition: none; }
}

/* Testing takes the lead in the homepage hero. */
.pb-testing-panel {
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
    padding: 40px; color: #fff; background: linear-gradient(140deg, #174c79, #142945 80%);
    border: 1px solid #709fc4; box-shadow: 0 20px 50px #14294520;
}
.pb-testing-panel .pb-eyebrow { color: #a8d8fa; margin-bottom: 22px; font-size: 10px; }
.pb-testing-panel h2 { color: #fff; font-size: clamp(36px, 3.4vw, 52px); line-height: 1.05; letter-spacing: -.035em; }
.pb-testing-panel h2 span { color: #88c4f0; }
.pb-testing-panel > p { color: #dfeefa; font-size: 14px; max-width: 390px; }
.pb-testing-badges { display: flex; gap: 18px; align-items: center; margin: 4px 0 26px; }
.pb-testing-badges > img { width: 70px; height: 70px; object-fit: contain; }
.pb-testing-badges > span { padding: 5px 14px; border-radius: 8px; background: #fff; }
.pb-testing-badges span img { display: block; width: 165px; height: 55px; object-fit: contain; }
.pb-testing-panel .pb-button { width: 100%; gap: 14px; text-align: center; }
.pb-testing-panel > small { margin-top: 12px; color: #c4d8e9; font-size: 11px; }
.pb-testing-library { padding-block: 35px 65px; scroll-margin-top: 25px; }
.pb-testing-library > .pb-eyebrow { color: #09669a; margin-bottom: 14px; }
.pb-testing-library h2 { font-size: clamp(28px, 3vw, 40px); }
.pb-testing-library > p { max-width: 760px; color: var(--pb-muted); }
.pb-testing-report-list { border-top: 1px solid var(--pb-line); }
.pb-testing-report-list details { border-bottom: 1px solid var(--pb-line); }
.pb-testing-report-list summary { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; font-weight: 700; cursor: pointer; list-style: none; }
.pb-testing-report-list summary::-webkit-details-marker { display: none; }
.pb-testing-report-list summary > span { color: #09669a; transition: transform .2s; }
.pb-testing-report-list details[open] summary > span { transform: rotate(45deg); }
.pb-testing-report-links { display: grid; gap: 10px; padding-bottom: 20px; }
.pb-testing-report-links > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; background: #edf6fd; border-radius: 8px; text-decoration: none; font-size: 13px; }
.pb-testing-report-links > a:hover { background: #dceefd; }
.pb-testing-report-links small { display: block; color: #566575; margin-top: 4px; }
.pb-testing-file { white-space: nowrap; color: #09669a; font-weight: 700; }
.pb-testing-report-links > .pb-testing-product-link { background: none; justify-content: flex-start; text-decoration: underline; padding-left: 0; }
@media(max-width:760px) {
    .pb-hero-visual.pb-testing-panel { min-height: auto; max-height: none; padding: 28px 24px; }
    .pb-testing-panel h2 { font-size: 38px; }
    .pb-testing-badges { gap: 12px; }
    .pb-testing-badges > img { width: 56px; height: 56px; }
    .pb-testing-badges span img { width: 140px; height: 46px; }
    .pb-testing-report-links > a { padding: 14px; gap: 12px; }
}

/* Prominent product search below the main navigation. */
.pb-search-bar { padding-block: 14px; background: #eaf4fc; border-top: 1px solid #d9e8f3; }
.pb-search {
    gap: 14px; padding: 6px 6px 6px 18px;
    background: #fff; border: 1px solid #9fc9e9; border-radius: 10px;
    box-shadow: 0 3px 12px rgba(20, 44, 80, .05);
    transition: border-color .18s, box-shadow .18s;
}
.pb-search:focus-within { border-color: #09669a; box-shadow: 0 0 0 3px rgba(136,196,240,.35); }
.pb-search-icon { flex: none; color: #09669a; }
.pb-search input[type=search] { min-width: 0; padding: 10px 0; font-size: 14px; line-height: 1.5; }
.pb-search input[type=search]::placeholder { color: #596e7e; opacity: 1; }
.pb-search button {
    display: inline-flex; align-items: center; justify-content: center; gap: 16px;
    min-height: 44px; padding: 11px 22px; border: 1px solid #88c4f0;
    border-radius: 6px; background: #88c4f0; color: #142c50;
    font-size: 12px; font-weight: 650; text-transform: uppercase;
    transition: background .18s, border-color .18s;
}
.pb-search button:hover { background: #72b6e8; border-color: #72b6e8; }
.pb-search button span { margin: 0; font-size: 19px; }
@media(max-width:760px) {
    .pb-search-bar { padding-block: 10px; }
    .pb-search { gap: 9px; padding-left: 12px; }
    .pb-search-icon { width: 18px; height: 18px; }
    .pb-search input[type=search] { font-size: 16px; }
    .pb-search button { padding: 10px 12px; font-size: 11px; gap: 6px; }
    .pb-search button span { display: none; }
}

/* Navigation and product search follow the page in a compact sticky header. */
html { scroll-padding-top: calc(var(--pb-header-height, 160px) + var(--pb-admin-offset, 0px) + 20px); }
.pb-header { position: sticky; top: var(--pb-admin-offset, 0px); z-index: 100; transition: box-shadow .25s ease; }
.pb-header-inner { transition: min-height .25s ease; }
.pb-header .pb-logo img { transition: width .25s ease, height .25s ease; }
.pb-search-bar { transition: padding .25s ease; }
.pb-search { transition: padding .25s ease, border-color .18s, box-shadow .18s; }
.pb-header.is-compact { box-shadow: 0 5px 22px rgba(20,44,80,.12); }
.pb-header.is-compact .pb-header-inner { min-height: 72px; }
.pb-header.is-compact .pb-logo img { width: 120px; height: 64px; }
.pb-header.is-compact .pb-search-bar { padding-block: 6px; }
.pb-header.is-compact .pb-search { padding-block: 3px; }
@media(max-width:760px) {
    .pb-header.is-compact .pb-header-inner { min-height: 62px; }
    .pb-header.is-compact .pb-logo img { width: 100px; height: 58px; }
    .pb-header .pb-navigation.is-open { max-height: calc(100dvh - 180px - var(--pb-admin-offset, 0px)); overflow-y: auto; overscroll-behavior: contain; }
}
@media(prefers-reduced-motion:reduce) {
    .pb-header, .pb-header-inner, .pb-header .pb-logo img, .pb-search-bar, .pb-search { transition: none; }
}

/* Readable information pages and Gravity Forms. */
.pb-information-heading { padding: 42px 0 36px; background: linear-gradient(120deg,#eff8ff,#e0edf8); border-bottom: 1px solid #d4e3ef; }
.pb-information-back { display: inline-flex; gap: 15px; font-size: 12px; color: #526d83; margin-bottom: 24px; text-decoration: none; }
.pb-information-heading h1 { font-size: clamp(36px,4.5vw,58px); margin-bottom: 20px; }
.pb-information-heading .pb-eyebrow { margin: 0; color: #386282; }
.pb-information-content { width: min(860px,calc(100% - 96px)); margin: 0 auto; padding: 50px 0 75px; }
.pb-information-content .entry-content { font-size: 16px; line-height: 1.8; color: #3c4c59; }
.pb-information-content .entry-content h2 { margin: 38px 0 16px; color: #163557; font-size: clamp(24px,2.5vw,30px); line-height: 1.2; letter-spacing: -.025em; }
.pb-information-content .entry-content li { padding-left: 5px; margin-bottom: 8px; }
.pb-information-content .entry-content ul, .pb-information-content .entry-content ol { margin-block: 16px 25px; }
.pb-information-content .entry-content hr { border: 0; border-top: 1px solid #dce7ef; margin: 35px 0; }
.pb-page-lead { font-family: var(--pb-heading); font-size: 26px; font-weight: 650; color: #163557; }
.pb-contact-details { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 24px; border: 1px solid #c8deef; border-radius: 12px; background: #f2f8fd; margin-bottom: 24px; }
.pb-contact-details p { margin: 0; }
.pb-contact-note { font-size: 13px; color: #596b78; }
.pb-site .gform_wrapper { --gf-color-primary:#163557; --gf-color-primary-contrast:#fff; --gf-color-in-ctrl-primary:#09669a; --gf-font-family-base:var(--pb-body); text-align: left; }
.pb-site .gform_wrapper .gform_fields { row-gap: 22px; }
.pb-site .gform_wrapper .gfield_label, .pb-site .gform_wrapper .gform-field-label { color: #163557; font-family: var(--pb-body); font-size: 14px; font-weight: 600; }
.pb-site .gform_wrapper input[type=text], .pb-site .gform_wrapper input[type=email], .pb-site .gform_wrapper input[type=tel], .pb-site .gform_wrapper select, .pb-site .gform_wrapper textarea {
    width: 100%; background: #fff; color: #163557; border: 1px solid #b6cddd; border-radius: 7px;
    font-family: var(--pb-body); font-size: 16px; padding: 13px 15px; min-height: 48px; box-shadow: none;
}
.pb-site .gform_wrapper textarea { min-height: 170px; }
.pb-site .gform_wrapper input:focus, .pb-site .gform_wrapper select:focus, .pb-site .gform_wrapper textarea:focus { border-color: #09669a; outline: 2px solid #88c4f0; outline-offset: 2px; }
.pb-site .gform_wrapper .gfield_checkbox label { font-size: 13px; font-weight: 400; line-height: 1.6; }
.pb-site .gform_wrapper input[type=checkbox] { accent-color: #09669a; }
.pb-site .gform_wrapper .gfield_description { color: #5b6e7c; font-size: 12px; line-height: 1.6; }
.pb-site .gform_wrapper .gfield_description a { color: #09669a; }
.pb-site .gform_wrapper .gform_footer input[type=submit], .pb-site .gform_wrapper .gform_footer button[type=submit] {
    background: #88c4f0; border: 1px solid #88c4f0; color: #163557; border-radius: 6px;
    padding: 14px 28px; min-height: 48px; font: 650 13px/1.4 var(--pb-body); cursor: pointer; box-shadow: none;
}
.pb-site .gform_wrapper .gform_footer input[type=submit]:hover, .pb-site .gform_wrapper .gform_footer button[type=submit]:hover { background: #72b6e8; border-color: #72b6e8; }
.pb-site .gform_confirmation_message { background: #e8f5ed; color: #205537; border: 1px solid #aad1b8; border-radius: 10px; padding: 24px; font-size: 16px; }
.pb-site .gform_wrapper .validation_message { color: #9d2727; }
.pb-contact-form { padding: 28px; background: #f6faff; border: 1px solid #d5e5f1; border-radius: 14px; }
.pb-newsletter { padding: 48px; margin-bottom: 65px; border: 1px solid #c5dff2; border-radius: 18px; background: linear-gradient(120deg,#eff8ff,#dfedfa); }
.pb-newsletter h2 { font-size: clamp(25px,3vw,36px); color: #163557; }
.pb-newsletter > p { max-width: 530px; font-size: 15px; color: #4b6579; }
.pb-newsletter .gform_wrapper { max-width: 620px; margin: 26px auto 0; }
.pb-newsletter .gform_footer { margin-bottom: 0; }
.pb-newsletter .gform_wrapper .gform_footer input[type=submit] { width: 100%; }

/* Footer: brand, useful links and research context. */
.pb-footer { background: #132d49; color: #edf6fd; padding-top: 48px; }
.pb-footer-intro { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 14px 30px; padding-bottom: 38px; border-bottom: 1px solid #ffffff26; }
.pb-footer-intro > .pb-eyebrow { grid-column: 1/-1; margin: 0; color: #88c4f0; }
.pb-footer-intro > p { font-family: var(--pb-heading); font-size: clamp(30px,3.4vw,44px); line-height: 1.12; font-weight: 650; letter-spacing: -.035em; max-width: none; color: #fff; margin: 0; }
.pb-footer-intro > p > span { color: #88c4f0; }
.pb-footer-grid { grid-template-columns: 1.15fr 1.2fr .8fr 1fr; gap: 45px; padding-block: 38px; }
.pb-footer-brand .pb-logo { display: inline-block; padding: 0; margin: 0 0 20px; background: transparent; }
/* Offset the asset's transparent left edge to align the visible symbol with the copy. */
.pb-footer-brand .pb-logo img { width: 155px; height: auto; margin-left: -6px; }
.pb-footer p { color: #c7d8e8; }
.pb-footer-intro > p { color: #fff; }
.pb-footer h2 { color: #88c4f0; text-transform: uppercase; font-size: 11px; letter-spacing: .08em; margin: 8px 0 20px; }
.pb-footer-grid > div > a:not(.pb-logo), .pb-footer li a { color: #e1edf7; font-size: 13px; line-height: 1.55; margin-bottom: 12px; }
.pb-footer a:hover { color: #88c4f0; }
.pb-footer .pb-button:hover { color: #163557; }
.pb-footer ul { margin: 0; list-style: none; }
.pb-footer-location { display: flex; gap: 9px; align-items: center; font-size: 11px; color: #a9c4da; }
.pb-footer-location .pb-dot { background: #88c4f0; width: 6px; height: 6px; }
.pb-footer-disclaimer { display: grid; grid-template-columns: 220px 1fr; gap: 28px; padding: 24px; margin-bottom: 28px; background: #ffffff06; border: 1px solid #ffffff26; border-radius: 10px; }
.pb-footer-disclaimer h2 { margin: 0; line-height: 1.6; }
.pb-footer-disclaimer p { color: #b9ccdd; max-width: none; font-size: 11px; margin-bottom: 10px; }
.pb-footer-disclaimer a { color: #e1edf7; }
.pb-footer-bottom { border-top: 1px solid #ffffff26; padding-block: 22px; align-items: center; }
.pb-footer-bottom p { color: #a9c0d4; }
.pb-footer-bottom > div { display: flex; gap: 24px; flex-wrap: wrap; }
.pb-footer-bottom a { font-size: 11px; color: #c7d8e8; }
@media(max-width:1050px) { .pb-footer-grid { gap: 30px; grid-template-columns: 1fr 1fr; } }
@media(max-width:760px) {
    .pb-information-heading { padding-block: 28px; }
    .pb-information-content { width: calc(100% - 36px); padding-block: 30px 45px; }
    .pb-information-content .entry-content { font-size: 15px; }
    .pb-contact-details { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
    .pb-contact-form { padding: 20px 16px; }
    .pb-newsletter { padding: 30px 20px; margin-bottom: 40px; }
    .pb-footer { padding-top: 32px; }
    .pb-footer-intro { grid-template-columns: 1fr; gap: 20px; }
    .pb-footer-intro > .pb-button { justify-self: start; }
    .pb-footer-grid { gap: 30px 22px; }
    .pb-footer-brand { grid-column: 1/-1; }
    .pb-footer-grid > div:last-child { grid-column: 1/-1; }
    .pb-footer-disclaimer { grid-template-columns: 1fr; gap: 12px; padding: 20px; }
    .pb-footer-bottom { align-items: flex-start; gap: 14px; }
}
/* Override Gravity Forms' fixed control line-height for padded theme inputs. */
.pb-site .gform_wrapper input[type=text], .pb-site .gform_wrapper input[type=email], .pb-site .gform_wrapper select, .pb-site .gform_wrapper textarea { line-height: 1.5; }
.pb-site .gform_wrapper form.pb-contact-form { padding: 28px; background: #f6faff; border: 1px solid #d5e5f1; border-radius: 14px; }
.pb-newsletter .gform_wrapper .gform_footer button[type=submit] { width: 100%; }
@media(max-width:760px) { .pb-site .gform_wrapper form.pb-contact-form { padding: 20px 16px; } }
.pb-site .gform_wrapper.gform-theme .gform_footer .gform_button.button {
    background: #88c4f0; border: 1px solid #88c4f0; color: #163557; border-radius: 6px;
    padding: 14px 28px; min-height: 48px; font: 650 13px/1.4 var(--pb-body); cursor: pointer; box-shadow: none;
}
.pb-site .gform_wrapper.gform-theme .gform_footer .gform_button.button:hover { background: #72b6e8; border-color: #72b6e8; }
.pb-site .pb-newsletter .gform_wrapper.gform-theme .gform_footer .gform_button.button { width: 100%; }
.pb-site .gform_wrapper.gform-theme form.pb-contact-form { padding: 28px; background: #f6faff; border: 1px solid #d5e5f1; border-radius: 14px; }
@media(max-width:760px) { .pb-site .gform_wrapper.gform-theme form.pb-contact-form { padding: 20px 16px; } }
.pb-site .gform_wrapper.gform-theme select { background-repeat: no-repeat; background-position: right 15px center; background-size: 12px 12px; padding-right: 40px; }

/* Progressive catalogue loading; native pagination remains the no-JS fallback. */
.pb-infinite-scroll{clear:both;text-align:center;padding:12px 0 24px;min-height:100px}
.pb-infinite-scroll p{font-size:13px;color:var(--pb-muted);margin-bottom:14px}
.pb-infinite-scroll .pb-button:disabled{opacity:.6;cursor:wait}
.pb-infinite-scroll[hidden],.pb-infinite-scroll button[hidden],.woocommerce-pagination[hidden]{display:none!important}

/* Visible progress and research-use acknowledgement. */
.pb-infinite-scroll.is-loading p::before{content:"";display:inline-block;width:18px;height:18px;margin-right:10px;border:2px solid #d5e4ef;border-top-color:var(--pb-blue-dark);border-radius:50%;vertical-align:middle;animation:pb-loading-spin .75s linear infinite}
@keyframes pb-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pb-infinite-scroll.is-loading p::before{animation:none}}
.pb-product-notice{padding:20px 24px;border:1px solid #a9c8df;border-left:4px solid #245b83;background:#edf6fc;color:#163557;font-size:16px;font-weight:600;line-height:1.5;margin:24px 0}
.pb-research-acknowledgement{flex:0 0 100%;width:100%;padding:22px;margin:0 0 20px;border:1px solid #a9c8df;border-left:4px solid #245b83;background:#edf6fc;color:#163557}
.pb-research-heading{display:block;font-family:var(--pb-heading);font-size:18px;margin-bottom:14px}
.research-acknowledgement__label{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.65;cursor:pointer}
.research-acknowledgement__checkbox{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:#245b83;cursor:pointer}
.pb-research-hint{font-size:12px;margin:12px 0 0 32px;color:#456076}
.woocommerce div.product form.cart .single_add_to_cart_button:disabled,
.woocommerce div.product form.cart:has(.research-acknowledgement__checkbox:not(:checked)) .single_add_to_cart_button{opacity:.45;cursor:not-allowed;background:#d5dce1;border-color:#d5dce1;color:#46515b}
.woocommerce div.product form.cart:has(.research-acknowledgement__checkbox:not(:checked)) .single_add_to_cart_button{pointer-events:none}

/* Curated cart recommendations, managed on the Cart page in ACF. */
.pb-cart-upsells{clear:both;margin-top:48px;padding-top:32px;border-top:1px solid var(--pb-line)}
.pb-cart-upsells>h2{font-size:28px;margin:0 0 24px}
.pb-cart-upsells-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
.pb-cart-upsell{display:flex;flex-direction:column;padding:18px;border:1px solid var(--pb-line);border-radius:14px;background:#fff}
.pb-cart-upsell-image{display:block;background:var(--pb-soft);border-radius:8px;margin-bottom:16px}
.pb-cart-upsell-image img{display:block;width:100%;aspect-ratio:1;object-fit:contain;padding:12px}
.pb-cart-upsell h3{font-size:17px;margin:0 0 10px;line-height:1.4}
.pb-cart-upsell h3 a{text-decoration:none}
.pb-cart-upsell .price{font-size:14px;margin-bottom:18px}
.pb-cart-upsell .pb-button{margin-top:auto;text-align:center;justify-content:center}
.pb-cart-upsells[hidden],.pb-cart-upsell[hidden]{display:none!important}
@media(max-width:1000px){.pb-cart-upsells-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.pb-cart-upsells-grid{gap:14px}.pb-cart-upsell{padding:12px}.pb-cart-upsell h3{font-size:15px}.pb-cart-upsell .pb-button{padding:10px;font-size:11px}}
.pb-cart-upsell-image{background:#fff}
.wc-block-cart__sidebar .pb-cart-upsells,.cart_totals .pb-cart-upsells{margin-top:24px;padding-top:24px;width:100%}
.wc-block-cart__sidebar .pb-cart-upsells-grid,.cart_totals .pb-cart-upsells-grid{grid-template-columns:1fr}
.pb-upsell-form .pb-research-acknowledgement{padding:12px;margin-bottom:14px}
.pb-upsell-form .pb-research-heading{font-size:14px}
.pb-upsell-form .research-acknowledgement__label{font-size:12px;line-height:1.5}
.pb-upsell-form .pb-button{width:100%}
.pb-upsell-form .pb-button:disabled{opacity:.45;cursor:not-allowed}
.pb-ajax-cart-status{flex-basis:100%;font-size:13px;margin:12px 0 0}

/* Lift the active slide while scrolling, preserving the gallery's layout height. */
@media(min-width:1000px){
    .woocommerce.single-product .woocommerce-product-gallery__image{margin-top:0;margin-bottom:0;transition:margin-top .4s ease,margin-bottom .4s ease}
    .woocommerce.single-product .pb-gallery-scrolling .woocommerce-product-gallery__image.flex-active-slide,
    .woocommerce.single-product .pb-gallery-scrolling .woocommerce-product-gallery__image:only-child{margin-top:-50px;margin-bottom:50px}
}
@media(prefers-reduced-motion:reduce){
    .woocommerce.single-product .woocommerce-product-gallery__image{transition:none}
}

/* Consistent button corners across the storefront, WooCommerce and forms. */
body.pb-site button,
body.pb-site input[type="submit"],
body.pb-site input[type="button"],
body.pb-site input[type="reset"],
body.pb-site [role="button"],
body.pb-site .button,
body.pb-site .pb-button,
body.pb-site .wp-element-button,
body.pb-site .wp-block-button__link,
body.pb-site .wc-block-components-button,
body.pb-site .gform_button { border-radius: 10px !important; }

