.announcement{text-align:center;background:var(--ink);color:white;font-size:9px;letter-spacing:.15em;padding:12px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:15px;border-radius:15px}.skip-link:focus{top:10px}.nav a svg{width:12px;height:12px}.nav a[aria-current=page]{border-bottom:1px solid var(--accent)}.bag-button{display:flex;align-items:center;gap:8px}.bag-button svg{width:20px;height:20px}.loading-state{padding:100px 30px;text-align:center}.store-notice{background:var(--surface);border:1px solid var(--line);padding:18px 22px;border-radius:20px;font-size:12px;line-height:1.7;margin-bottom:25px}.catalog-row{grid-template-columns:85px minmax(150px,1fr) 150px 85px 32px}.catalog-grid .card-overline{min-height:26px;line-height:1.5}.account-grid,.bag-layout,.checkout-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:25px}.account-panel{padding:32px;border:1px solid var(--line);border-radius:30px;background:white;min-width:0}.account-panel h2{font-size:30px!important;margin:16px 0 22px;overflow-wrap:anywhere}.account-panel p{font-size:12px;color:var(--muted);margin:15px 0}.account-panel>.btn,.account-panel>.text-link{margin-top:15px;margin-right:10px}.account-panel label{display:block;font-size:12px;line-height:1.6}.account-panel input,.account-panel select{width:100%;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);padding:14px;font:inherit;margin:7px 0 18px}.account-panel .check-label{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:11px;margin:20px 0}.check-label input{width:auto;margin:0}.auth-shell{max-width:1000px}.auth-panel{max-width:560px;margin:0 auto}.auth-tabs{display:flex;gap:24px;margin-bottom:25px}.auth-tabs a{padding:10px;border-radius:99px}.auth-tabs a.active{background:var(--surface)}.auth-links{display:flex;justify-content:space-between;gap:15px;font-size:11px;margin-top:25px}.auth-panel small{font-size:11px;color:var(--muted);display:block;margin-bottom:20px}.account-panel .btn{width:fit-content}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.bag-line{display:grid;grid-template-columns:1fr 80px 90px 25px;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.bag-line h3{font-size:21px}.bag-line a{font-size:11px}.bag-line input{padding:10px;margin-bottom:0}.bag-line strong{font-size:13px}.bag-line>button{font-size:25px}.order-row{display:grid;grid-template-columns:1fr 180px 100px 100px;align-items:center;gap:20px;border:1px solid var(--line);border-radius:24px;padding:25px;margin-bottom:15px;background:white}.order-row h3{font-size:24px;margin-top:10px}.order-row>span:last-child{font-size:11px}.payment-destination{padding:20px;background:var(--surface);border-radius:18px;overflow-wrap:anywhere}.payment-destination small{display:block;font-size:9px;margin-bottom:10px}.prose-page{max-width:1100px}.prose-page .account-panel p{font-size:15px;line-height:2}.member-gate .lock-badge svg{width:16px;height:16px;display:inline-block;vertical-align:middle}.footer-help{padding:40px;border-radius:30px;background:var(--surface);display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:55px}.footer-help h2{font-size:38px!important;margin:15px 0}.footer-help p{font-size:12px;color:var(--muted)}.cgb-footer{padding:50px 64px 25px;max-width:1472px;margin:40px auto 0;background:var(--surface);border-radius:32px 32px 0 0}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.footer-brand h3{font-size:23px;margin:25px 0 15px}.footer-brand p{font-size:12px;color:var(--muted);max-width:285px}.footer-top nav{display:flex;flex-direction:column;gap:15px;font-size:12px}.footer-top nav h3{font-size:14px;margin:6px 0 10px}.footer-top nav a{color:var(--muted)}.footer-top a:hover,.footer-bottom a:hover{color:var(--accent);text-decoration:underline}.footer-contact{margin-top:45px;padding:30px;border-radius:28px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;background:white}.footer-contact h3{font-size:24px;margin:12px 0}.footer-contact p{font-size:11px;color:var(--muted)}.footer-contact>a{font-size:13px;overflow-wrap:anywhere}.footer-contact>a>span{display:block;font-size:8px;letter-spacing:.12em;margin-bottom:12px;color:var(--muted)}.footer-research{font-size:10px;color:var(--muted);line-height:1.8;padding:25px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:var(--muted)}.api-error{color:#8d442f}dialog .btn{margin-top:25px}dialog table{overflow-wrap:anywhere}.art .scene text{pointer-events:none}body[data-theme=water] .mauve-pdp .pdp-title h1{font-size:clamp(42px,5vw,75px);overflow-wrap:anywhere}.pdp-title .chapter{margin-top:22px}
@media(max-width:1100px){.catalog-row{grid-template-columns:65px minmax(120px,1fr) 70px 30px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-contact{flex-wrap:wrap}.footer-contact>div{width:100%}.order-row{grid-template-columns:1fr 150px 90px}.order-row>span:last-child{display:none}.cgb-footer{padding-inline:34px}.bag-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
@media(max-width:760px){.cgb-footer{padding:30px 20px 22px;margin-top:20px}.footer-help{padding:27px;align-items:start;flex-direction:column;margin-bottom:35px}.footer-help h2{font-size:34px!important}.footer-top{gap:30px 20px}.footer-brand{grid-column:1/-1}.footer-top nav{gap:15px;font-size:11px}.footer-contact{padding:25px;display:flex;align-items:start;flex-direction:column;gap:25px;margin-top:30px}.footer-contact>a{font-size:13px}.footer-bottom{flex-wrap:wrap;font-size:9px}.account-grid,.checkout-layout{grid-template-columns:1fr}.account-panel{padding:25px}.bag-line{grid-template-columns:1fr 65px 25px;gap:12px}.bag-line strong{grid-column:1;grid-row:2}.bag-line>button{grid-column:3;grid-row:1}.bag-line h3{font-size:19px}.catalog-row{grid-template-columns:55px minmax(95px,1fr) 60px 28px}.order-row{grid-template-columns:1fr auto;padding:22px}.order-row>strong{grid-column:2;grid-row:1}.order-row .pill{grid-column:1/-1}.order-row h3{font-size:20px}.account-panel h2{font-size:28px!important}.auth-links{flex-wrap:wrap}.announcement{font-size:8px}.product-tabs .tablist{overflow-x:auto}.prose-page .account-panel p{font-size:13px}.checkout-layout .btn{width:100%}.hero-actions .btn{white-space:nowrap}}

/* The chosen STP oval badge is shared by the storefront header and footer. */
.logo { align-items: center; line-height: 0; }
.logo .brand-badge { display: block; width: 105px; height: 70px; object-fit: contain; }
.footer-brand .logo { width: fit-content; }
.footer-brand .logo .brand-badge { width: 150px; height: 100px; }
@media (max-width:760px) { .logo .brand-badge { width: 90px; height: 60px; } }

/* Readable navigation and pill links with room around their labels. */
.site-header .nav { font-size: 16px; gap: 26px; }
.site-header .nav a { font-weight: 500; white-space: nowrap; }
.site-header .account-link { font-size: 14px; white-space: nowrap; }
.text-link { padding: 12px 22px; min-height: 44px; max-width: 100%; border: 1px solid var(--line); justify-content: center; text-align: center; overflow-wrap: anywhere; }
.hero-actions { flex-wrap: wrap; gap: 16px; }
@media (max-width:1100px) { .site-header .nav { font-size: 14px; gap: 14px; } }

/* Shop opens a dropdown below the header; the page remains scrollable. */
.shop-menu-trigger { display:inline-flex; flex-wrap:nowrap; align-items:center; gap:7px; padding:9px 0; font:inherit; font-weight:500; white-space:nowrap; }
.shop-menu-trigger .shop-chevron { display:block; width:12px; height:12px; flex:0 0 12px; transition:transform .2s ease; }
.shop-menu-trigger[aria-expanded=true] .shop-chevron { transform:rotate(180deg); }
.mobile-shop-trigger { display:none; }
.shop-menu { position:fixed; inset:auto; margin:0; padding:26px; border:1px solid var(--line); border-radius:28px; background:var(--paper); color:var(--ink); box-shadow:0 18px 45px #243f5626; overflow-y:auto; }
.shop-menu:popover-open { animation:shop-slide-down .2s ease-out; }
.shop-menu-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 8px 20px; border-bottom:1px solid var(--line); }
.shop-menu-heading h2 { font-family:'DM Sans',sans-serif; font-size:26px!important; margin:10px 0 0; }
.shop-menu-heading .text-link { font-size:12px; white-space:nowrap; }
.shop-collections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }
.shop-collections>a { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid transparent; border-radius:18px; font-size:14px; line-height:1.4; }
.shop-collections>a:hover,.shop-collections>a[aria-current] { background:var(--surface); border-color:var(--line); }
.shop-collections small { display:block; font-size:11px; line-height:1.6; color:var(--muted); margin-top:5px; }
.shop-count { margin-left:auto; background:white; border:1px solid var(--line); border-radius:99px; padding:5px 9px; font-size:11px; }
@keyframes shop-slide-down { from { opacity:0; transform:translateY(-14px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1000px) { .shop-collections { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .mobile-shop-trigger { display:flex; font-size:14px; } .shop-menu { padding:18px; border-radius:24px; } .shop-menu-heading { align-items:start; flex-direction:column; gap:12px; } .shop-menu-heading h2 { font-size:24px!important; } .shop-collections { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .shop-menu:popover-open { animation:none; } .shop-menu-trigger .shop-chevron { transition:none; } }
.category-filter button { gap:10px; align-items:center; }
.category-filter button.active::before { display:none; }
.category-filter button .category-name { margin:0; font-size:12px; line-height:1.5; }
.category-filter button .category-count { margin-left:auto; flex-shrink:0; }
.catalog-intro h1 { font-size:clamp(38px,5vw,68px); overflow-wrap:anywhere; }
@media(max-width:760px) { .category-filter button .category-name { font-size:11px; } }

/* Keep the catalog view switch compact instead of stretching with its row. */
.results-header { align-items:center; min-height:54px; }
.view-toggle { width:168px; flex-shrink:0; align-items:center; padding:3px; }
.view-toggle button { flex:1; min-height:36px; padding:6px 18px; line-height:1.2; white-space:nowrap; }

/* The STP Standard uses the same blue line icons as the storefront. */
.ribbon { display:grid; grid-template-columns:auto 1fr 1.4fr 1.15fr; gap:24px; padding:26px; }
.standard-point { display:flex; align-items:center; gap:10px; font-size:13px; line-height:1.5; }
.standard-point svg { flex:0 0 23px; width:23px; height:23px; color:var(--accent); }
@media(max-width:1100px) { .ribbon { grid-template-columns:repeat(3,minmax(0,1fr)); } .ribbon .chapter { grid-column:1/-1; } }
@media(max-width:760px) { .ribbon { grid-template-columns:1fr; gap:18px; padding:24px; } .standard-point { font-size:13px; } }

.mauve-pdp .product-content > .text-link { margin:20px 8px 8px; max-width:calc(100% - 16px); }
.product-tabs .tablist { padding-bottom:14px; }

.hero-product-image { display:block; width:100%; height:490px; object-fit:cover; border-radius:44px 44px 110px 44px; background:var(--surface); }
@media(max-width:1100px) and (min-width:761px) { .hero-product-image { height:420px; } }
@media(max-width:760px) { .hero-product-image { height:auto; aspect-ratio:1; border-radius:30px 30px 70px 30px; } }
.footer-contact + .footer-bottom { margin-top:25px; }

.announcement { overflow-wrap:anywhere; white-space:pre-line; line-height:1.6; }

/* Maintain readable contrast on pale blue cards and keep document icons bounded. */
body[data-theme=water] { --muted:#506575; }
.batch-link { gap:14px; }
.batch-link > div { min-width:0; }
.batch-link > svg { flex:0 0 28px; width:28px; height:28px; }

.lab-record > .text-link { white-space:nowrap; min-width:max-content; }
.lab-record .eyebrow { font-size:10px; }
/* Temporarily hide the lab introduction while reviewing the simpler page layout. */
.lab-intro { display:none; }
@media (min-width:1101px) { .lab-record { grid-template-columns:76px minmax(0,1fr) minmax(0,1fr) max-content; } }
@media (min-width:761px) and (max-width:1100px) { .lab-record { grid-template-columns:76px minmax(0,1fr) max-content; } }
@media (max-width:760px) { .lab-record { grid-template-columns:64px minmax(0,1fr); } }

body[data-page=labs] .utility-heading { display:none; }
body[data-page=labs] .lab-heading { margin-top:36px; }
body[data-page=labs] .lab-heading h1 { font-size:clamp(30px,4vw,48px); line-height:1.15; }
.report-thumbnail { width:76px; height:102px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:white; box-shadow:0 3px 10px #243f560a; }
.report-thumbnail canvas { display:block; max-width:100%; max-height:100%; width:auto; height:auto; }
.report-thumbnail span { padding:6px; text-align:center; font-size:10px; color:var(--muted); }
@media (max-width:760px) { .report-thumbnail { width:64px; height:86px; } }

.product-tabs .tab-content p { white-space:pre-line; }
.mauve-pdp > *, .product-tabs .tab-content > * { min-width:0; }
.mauve-pdp .variant-options { flex-wrap:wrap; }
.product-tabs .tab-content h3 { overflow-wrap:anywhere; }
.product-tabs { background:linear-gradient(to top,#edf4f8 0%,#f8fbfd 42%,#fff 82%); }

.product-documentation .text-link { margin-top:20px; white-space:nowrap; }

.product-specifications .spec-list { margin:0; }
.product-specifications .spec-row { gap:20px; font-size:12px; }
.product-specifications dt { color:var(--muted); }
.product-specifications dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.product-documentation .research-disclaimer { margin-top:20px; font-size:11px; }

.product-specifications .cas-number { white-space:pre-line; min-width:0; }
.product-specifications .spec-row dt { flex-shrink:0; }

/* Rounded ends and straight sides for the cart control. */
.bag-button { border-radius:999px; padding:10px 14px; flex-shrink:0; }

.photographic-vial { isolation:isolate; }
.vial-label-ink { mix-blend-mode:multiply; }

/* A soft wash starts at the page top (beneath the optional announcement). */
body[data-theme=water] { isolation:isolate; }
#site-header { position:relative; display:flow-root; }
#site-header::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:360px;
  background:linear-gradient(to bottom,#e3eef5 0%,#edf4f8 42%,var(--paper) 100%);
  pointer-events:none;
  z-index:-1;
}
body[data-theme=water] .site-header { background:rgba(255,255,255,.28); }
@media(max-width:760px) { #site-header::before { height:280px; } }

/* Current navigation is a rounded pill, with no underline or layout shift. */
.site-header .nav { gap:6px; }
.site-header .nav > a,
.site-header .nav > .shop-menu-trigger,
.site-header .account-link,
.site-header .mobile-shop-trigger { padding:10px 12px; border-radius:999px; border-bottom:0; }
.site-header .nav > [aria-current],
.site-header .account-link[aria-current],
.site-header .mobile-shop-trigger[aria-current] { background:var(--surface); border:0; box-shadow:inset 0 0 0 1px var(--line); text-decoration:none; }
@media (min-width:761px) and (max-width:1100px) {
  .site-header .nav { gap:2px; }
  .site-header .nav > a,.site-header .nav > .shop-menu-trigger,.site-header .account-link { padding-inline:8px; }
}
@media (max-width:760px) { .site-header .mobile-shop-trigger { padding-inline:8px; } }

/* Collection filters share one breakpoint; phones use a compact select. */
.collection-dropdown { display:none; }
.category-filter { gap:8px; }
.category-filter button { border:1px solid var(--line); border-radius:999px; padding:10px 14px; background:var(--white); min-width:0; }
.category-filter button.active { background:var(--ink); color:var(--white); border-color:var(--ink); }
.category-filter .category-name { min-width:0; overflow-wrap:anywhere; }
@media(min-width:761px) {
  body[data-theme=water] .catalog-layout { grid-template-columns:230px minmax(0,1fr); }
  body[data-theme=water] .catalog-sidebar { padding:16px; }
}
@media(max-width:760px) {
  body[data-theme=water] .catalog-layout { grid-template-columns:minmax(0,1fr); gap:12px; }
  .catalog-sidebar .category-filter,.catalog-sidebar > .eyebrow,.catalog-sidebar .side-note { display:none; }
  .collection-dropdown { display:flex; flex-direction:column; gap:8px; color:var(--muted); font-size:12px; }
  .collection-dropdown select { width:100%; min-width:0; min-height:48px; padding:12px 18px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:var(--white); font:inherit; font-size:16px; }
}
@media(max-width:360px) {
  body[data-theme=water] .site-header { padding-inline:12px; gap:8px; }
  .site-header .logo .brand-badge { width:72px; height:48px; }
  .site-header .header-actions { gap:8px; }
  .site-header .mobile-shop-trigger { font-size:12px; padding-inline:6px; }
  .site-header .bag-button { padding-inline:10px; }
}
@media(max-width:760px) {
  .collection-dropdown { position:relative; }
  .collection-dropdown select { appearance:none; -webkit-appearance:none; padding-right:48px; }
  .collection-dropdown::after { content:""; position:absolute; right:22px; bottom:21px; width:7px; height:7px; border-right:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink); transform:rotate(45deg); pointer-events:none; }
}

/* Compact catalog controls: count above, collection and view on one row. */
.catalog-display-controls { display:flex; align-items:center; justify-content:flex-end; gap:12px; min-width:0; }
.view-toggle button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; }
.view-toggle button svg { width:16px; height:16px; flex-shrink:0; }
@media(max-width:760px) {
  .catalog-sidebar { display:none; }
  .results-header { flex-direction:column; align-items:stretch; gap:12px; min-height:0; }
  .results-header .collection-dropdown { flex:1; min-width:0; }
  .catalog-display-controls { justify-content:flex-start; }
  .collection-dropdown select { text-overflow:ellipsis; }
}
@media(max-width:480px) {
  .catalog-display-controls { gap:10px; }
  .catalog-display-controls .view-toggle { width:100px; gap:4px; }
  .catalog-display-controls .view-toggle button { min-width:44px; padding:6px; }
  .catalog-display-controls .view-toggle .view-label { display:none; }
  .catalog-display-controls .view-toggle svg { width:18px; height:18px; }
}
