/*
Theme Name: Polymer Brands LLC
Theme URI: https://polymerpeptides.com
Author: Polymer Brands LLC
Description: Custom WooCommerce-ready research catalog theme for Polymer Brands LLC.
Version: 1.10.0
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: polymer-peptides
*/

:root {
  --pp-bg: #030810;
  --pp-panel: #07131e;
  --pp-panel-deep: #06101a;
  --pp-ink: #eef5fa;
  --pp-muted: #8090a1;
  --pp-line: rgba(255,255,255,.075);
  --pp-accent: #20d6e9;
  --pp-accent-soft: #86f1f5;
  --pp-copper: #e5a881;
  --pp-mint: #71dbc0;
  --pp-violet: #a19bff;
  --pp-paper: #eef5fa;
  --pp-dark-ink: #030810;
  --pp-max: 1440px;
}

@font-face { font-family:"Geist"; src:url("assets/geist.woff2") format("woff2"); font-weight:100 900; font-display:swap; }
@font-face { font-family:"Geist Mono"; src:url("assets/geist-mono.woff2") format("woff2"); font-weight:100 900; font-display:swap; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--pp-bg);
  color: var(--pp-ink);
  font-family: "Geist", Arial, sans-serif;
  line-height: 1.55;
}
body.pp-light { --pp-bg:#f5feff; --pp-panel:#e8f9fa; --pp-ink:#030810; --pp-muted:#526572; --pp-line:rgba(3,8,16,.12); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
.pp-wrap { width: min(calc(100% - 40px), var(--pp-max)); margin-inline: auto; }
.pp-kicker { color:var(--pp-accent); font-family:"Geist Mono",monospace; font-size:.625rem; font-weight:600; line-height:1.7; letter-spacing:.18em; text-transform:uppercase; }
.pp-display { margin:.4rem 0 1rem; font-size:clamp(3.1rem,8vw,8.7rem); font-weight:470; line-height:.93; letter-spacing:-.078em; max-width:1100px; }
.pp-section-title { margin:.35rem 0 1.25rem; font-size:clamp(2.35rem,5vw,5.5rem); font-weight:470; line-height:.96; letter-spacing:-.065em; max-width:950px; }
.pp-copy { max-width:720px; color:var(--pp-muted); font-size:clamp(1rem,1.7vw,1.25rem); }
.pp-rule { border:0; border-top:1px solid var(--pp-line); margin:0; }

.pp-ruo-bar { border-bottom:1px solid var(--pp-line); font-family:"Geist Mono",monospace; font-size:.68rem; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.pp-ruo-bar .pp-wrap { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.pp-ruo-bar strong { color:var(--pp-accent); }
.pp-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--pp-line); background:color-mix(in srgb,var(--pp-bg) 92%,transparent); backdrop-filter:blur(15px); }
.pp-nav { min-height:76px; display:flex; align-items:center; gap:32px; }
.pp-brand { display:flex; align-items:center; gap:13px; margin-right:auto; font-weight:850; letter-spacing:.08em; }
.pp-brand-copy { display:grid; gap:4px; min-width:0; line-height:1.05; }
.pp-brand-copy > span { display:block; white-space:nowrap; }
.pp-brand-copy small { display:block; color:var(--pp-muted); font:550 .58rem/1.2 "Geist Mono",monospace; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.pp-mark { width:41px; height:41px; display:grid; place-items:center; border:1px solid rgba(32,214,233,.47); box-shadow:inset 0 0 20px rgba(32,214,233,.11); color:var(--pp-accent); font-family:"Geist",sans-serif; font-size:1.35rem; }
.pp-links { display:flex; align-items:center; gap:24px; font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; }
.pp-toggle { border:1px solid var(--pp-line); color:var(--pp-ink); background:transparent; padding:9px 12px; cursor:pointer; font-family:"Geist Mono",monospace; font-size:.69rem; letter-spacing:.1em; }
.pp-cart { border:1px solid var(--pp-accent); color:var(--pp-accent); padding:9px 13px; font-size:.69rem; letter-spacing:.1em; text-transform:uppercase; }
.pp-menu-toggle,.pp-mobile-menu { display:none; }
.pp-menu-toggle { align-items:center; gap:8px; min-height:40px; border:1px solid var(--pp-line); color:var(--pp-ink); background:transparent; padding:9px 12px; cursor:pointer; font-family:"Geist Mono",monospace; font-size:.69rem; letter-spacing:.1em; text-transform:uppercase; }
.pp-menu-icon,.pp-menu-icon:before,.pp-menu-icon:after { display:block; width:16px; height:1px; background:currentColor; transition:transform .2s ease,opacity .2s ease; }
.pp-menu-icon { position:relative; }
.pp-menu-icon:before,.pp-menu-icon:after { content:""; position:absolute; left:0; }
.pp-menu-icon:before { top:-5px; }
.pp-menu-icon:after { top:5px; }
.pp-menu-toggle[aria-expanded="true"] .pp-menu-icon { background:transparent; }
.pp-menu-toggle[aria-expanded="true"] .pp-menu-icon:before { top:0; transform:rotate(45deg); }
.pp-menu-toggle[aria-expanded="true"] .pp-menu-icon:after { top:0; transform:rotate(-45deg); }

.pp-hero { min-height:76vh; display:grid; align-items:center; padding:95px 0; position:relative; overflow:hidden; }
.pp-hero:after { content:"Pp"; position:absolute; right:-.04em; bottom:-.36em; color:transparent; -webkit-text-stroke:1px rgba(32,214,233,.176); font:470 clamp(18rem,40vw,42rem)/1 "Geist",sans-serif; pointer-events:none; }
.pp-hero-lead { position:relative; z-index:1; }
.pp-hero-copy { min-width:0; }
.polymer-logo { isolation:isolate; border:1px solid var(--pp-accent); background:linear-gradient(145deg,#0c2837,#030b12 72%); position:relative; overflow:hidden; box-shadow:rgba(32,214,233,.192) 0 0 12px,rgba(32,214,233,.07) 0 0 18px inset; }
.peptide-chain { z-index:0; pointer-events:none; opacity:.24; perspective:420px; transform-style:preserve-3d; filter:drop-shadow(7px 9px 8px rgba(0,0,0,.733)); display:block; position:absolute; inset:-3%; transform:rotateX(18deg) rotateY(-12deg) rotate(-2deg); }
.peptide-chain i { transform-origin:0 center; background:linear-gradient(#c5fbff 0%,#39c8d8 25%,#0c687c 58%,#052e3d 100%); border-radius:999px; height:4px; position:absolute; box-shadow:rgba(185,251,255,.5) 0 1px 1px,rgba(0,0,0,.667) 0 3px 5px,rgba(32,214,233,.36) 0 0 7px; }
.peptide-chain i:before,.peptide-chain i:after { content:""; background:radial-gradient(circle at 30% 24%,#e9ffff 0,#e9ffff 7%,#64dce6 20%,#167b91 50%,#082d3b 76%); border-radius:50%; width:13px; height:13px; position:absolute; top:50%; transform:translate(-50%,-50%); box-shadow:rgba(0,20,28,.72) -3px -4px 5px inset,rgba(232,255,255,.51) 2px 2px 3px inset,rgba(0,0,0,.733) 2px 5px 7px,rgba(32,214,233,.3) 0 0 9px; }
.peptide-chain i:after { left:100%; }
.peptide-chain i:nth-child(1){width:14%;top:59%;left:7%;transform:rotate(-28deg) rotateY(24deg)}
.peptide-chain i:nth-child(2){width:14%;top:53%;left:19%;transform:rotate(27deg) rotateY(-28deg)}
.peptide-chain i:nth-child(3){width:14%;top:59%;left:31%;transform:rotate(-28deg) rotateY(18deg)}
.peptide-chain i:nth-child(4){width:14%;top:53%;left:43%;transform:rotate(27deg) rotateY(-30deg)}
.peptide-chain i:nth-child(5){width:14%;top:59%;left:55%;transform:rotate(-28deg) rotateY(26deg)}
.peptide-chain i:nth-child(6){width:14%;top:53%;left:67%;transform:rotate(27deg) rotateY(-20deg)}
.peptide-chain i:nth-child(7){width:13%;top:59%;left:79%;transform:rotate(-28deg) rotateY(28deg)}
.peptide-chain i:nth-child(8){width:13%;top:59%;left:31%;transform:rotate(-78deg) rotateY(35deg)}
.peptide-chain i:nth-child(9){width:12%;height:2px;top:58%;left:32.5%;transform:rotate(-78deg) rotateY(35deg) translateY(5px)}
.peptide-chain i:nth-child(10){width:13%;top:59%;left:55%;transform:rotate(-78deg) rotateY(-32deg)}
.peptide-chain i:nth-child(11){width:12%;height:2px;top:58%;left:56.5%;transform:rotate(-78deg) rotateY(-32deg) translateY(5px)}
.peptide-chain i:nth-child(12){width:15%;top:53%;left:19%;transform:rotate(-92deg) rotateY(28deg)}
.peptide-chain i:nth-child(even):before,.peptide-chain i:nth-child(even):after { filter:saturate(.72); transform:translate(-50%,-50%) scale(.82); }
.peptide-chain b { color:#baf8fc; font:600 8px/1 "Geist Mono",monospace; text-shadow:#000 0 1px 2px,var(--pp-accent) 0 0 7px; background:rgba(13,92,109,.6); border-radius:50%; padding:2px 4px; position:absolute; box-shadow:rgba(213,255,255,.45) 1px 1px 2px inset,rgba(0,0,0,.6) 2px 4px 6px; }
.peptide-chain b:nth-of-type(1){top:55%;left:6%}.peptide-chain b:nth-of-type(2){top:39%;left:32%}.peptide-chain b:nth-of-type(3){top:55%;left:54%}.peptide-chain b:nth-of-type(4){top:39%;left:56%}
.polymer-logo>strong,.polymer-logo-number,.polymer-logo-name,.polymer-logo>small { z-index:2; position:relative; }
.polymer-logo--display { aspect-ratio:1; width:min(380px,78vw); box-shadow:0 0 18px var(--pp-accent),0 0 85px rgba(32,214,233,.23),inset 0 0 42px rgba(32,214,233,.094); border-width:3px; flex-direction:column; justify-content:center; margin:0 0 48px; padding:24px; display:flex; }
.polymer-logo--display:before { content:""; border:1px solid rgba(32,214,233,.37); position:absolute; inset:12px; }
.polymer-logo--display:after { content:""; background:#efffff; width:3px; height:68%; position:absolute; top:16%; right:-3px; box-shadow:#fff 0 0 18px; }
.polymer-logo--display .polymer-logo-number { color:var(--pp-accent); font:500 10px/1 "Geist Mono",monospace; letter-spacing:.12em; position:absolute; top:28px; left:29px; }
.polymer-logo--display>strong { color:#f5feff; font-size:clamp(95px,15vw,185px); font-weight:700; line-height:.82; letter-spacing:-.11em; text-shadow:rgba(255,255,255,.333) 0 0 18px; }
.polymer-logo--display .polymer-logo-name { color:#e8f9fa; letter-spacing:.12em; text-transform:uppercase; margin-top:28px; font-size:12px; }
.polymer-logo--display>small { color:#7295a2; letter-spacing:.12em; text-transform:uppercase; margin-top:7px; font-size:8px; }
.pp-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.pp-landing-hero { min-height:calc(100vh - 114px); display:grid; align-items:center; padding:90px 0; position:relative; overflow:hidden; }
.pp-landing-hero:after { content:"Pp"; position:absolute; right:-.05em; bottom:-.42em; color:transparent; -webkit-text-stroke:1px rgba(32,214,233,.13); font:470 clamp(20rem,43vw,46rem)/1 "Geist",sans-serif; pointer-events:none; }
.pp-landing-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,430px); align-items:center; gap:clamp(50px,8vw,130px); position:relative; z-index:1; }
.pp-landing-copy .pp-display { max-width:900px; }
.pp-landing-copy .pp-display span { color:var(--pp-accent); }
.pp-landing-logo { width:min(430px,100%); margin:0; }
.pp-landing-standard { border-top:1px solid var(--pp-line); }
.pp-landing-ruo .pp-copy { margin-bottom:32px; }
.pp-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px!important;
  background:var(--pp-accent)!important; color:#fff!important; border:1px solid var(--pp-accent)!important; border-radius:0!important;
  font-family:"Geist Mono",monospace; font-size:.7rem!important; font-weight:650!important; letter-spacing:.1em; text-transform:uppercase;
}
.pp-button--ghost { background:transparent!important; color:var(--pp-ink)!important; border-color:var(--pp-line)!important; }
.pp-molecule { margin-top:65px; display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid var(--pp-line); border-left:1px solid var(--pp-line); max-width:650px; }
.pp-molecule span { min-height:82px; display:grid; place-items:center; border-right:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); color:var(--pp-muted); font:500 1.1rem "Geist Mono",monospace; }
.pp-molecule .main { color:var(--pp-accent); font-size:2rem; }

.pp-section { padding:110px 0; }
.pp-grid3 { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--pp-line); border-left:1px solid var(--pp-line); margin-top:55px; }
.pp-feature { min-height:280px; padding:30px; border-right:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); }
.pp-feature .num { color:var(--pp-accent); font-size:.72rem; letter-spacing:.14em; }
.pp-feature h3 { margin:70px 0 10px; font-size:1.45rem; }
.pp-feature p { color:var(--pp-muted); margin:0; }

.pp-catalog-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.pp-filters { display:flex; flex-wrap:wrap; gap:8px; }
.pp-filter, .pp-search { border:1px solid var(--pp-line); color:var(--pp-ink); background:transparent; padding:11px 13px; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.pp-search { min-width:220px; text-transform:none; }
.pp-periodic-shell { position:relative; margin-top:72px; }
.pp-periodic-shell:before { content:"Pp / RESEARCH COLLECTION"; display:block; margin-bottom:12px; color:var(--pp-muted); font:600 .62rem/1.4 "Geist Mono",monospace; letter-spacing:.16em; }
.pp-periodic-grid { display:grid; grid-template-columns:repeat(8,minmax(105px,1fr)); gap:8px; }
.pp-periodic-grid .pp-element-tile:nth-child(1) { grid-column:1; grid-row:1; }
.pp-periodic-grid .pp-element-tile:nth-child(2) { grid-column:8; grid-row:1; }
.pp-periodic-grid .pp-element-tile:nth-child(3) { grid-column:1; grid-row:2; }
.pp-periodic-grid .pp-element-tile:nth-child(4) { grid-column:2; grid-row:2; }
.pp-periodic-grid .pp-element-tile:nth-child(5) { grid-column:3; grid-row:2; }
.pp-periodic-grid .pp-element-tile:nth-child(6) { grid-column:4; grid-row:2; }
.pp-periodic-grid .pp-element-tile:nth-child(7) { grid-column:5; grid-row:2; }
.pp-periodic-grid .pp-element-tile:nth-child(8) { grid-column:6; grid-row:2; }
.pp-periodic-grid .pp-element-tile:nth-child(9) { grid-column:7; grid-row:2; }
.pp-periodic-grid .pp-element-tile:nth-child(10) { grid-column:8; grid-row:2; }
.pp-periodic-grid .pp-element-tile:nth-child(11) { grid-column:1; grid-row:3; }
.pp-periodic-grid .pp-element-tile:nth-child(12) { grid-column:2; grid-row:3; }
.pp-periodic-grid .pp-element-tile:nth-child(13) { grid-column:5; grid-row:3; }
.pp-periodic-grid .pp-element-tile:nth-child(14) { grid-column:6; grid-row:3; }
.pp-periodic-grid .pp-element-tile:nth-child(15) { grid-column:7; grid-row:3; }
.pp-periodic-grid .pp-element-tile:nth-child(16) { grid-column:8; grid-row:3; }
.pp-element-tile { min-height:164px; padding:11px 9px 12px; position:relative; overflow:hidden; border:1px solid rgba(32,214,233,.38); background:linear-gradient(145deg,#0a1823,#061019); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.pp-element-tile:hover { transform:translateY(-3px); border-color:var(--pp-accent); box-shadow:0 12px 35px rgba(0,0,0,.32),inset 0 0 28px rgba(32,214,233,.06); }
.pp-element-top { display:flex; justify-content:space-between; color:var(--pp-muted); font:600 .55rem/1 "Geist Mono",monospace; letter-spacing:.08em; }
.pp-element-symbol { display:block; margin:16px 0 14px; color:var(--pp-accent); font-size:clamp(1.75rem,2.7vw,2.55rem); font-weight:470; line-height:1; letter-spacing:-.055em; }
.pp-element-name { display:block; color:var(--pp-ink); font-size:.73rem; font-weight:620; line-height:1.15; }
.pp-element-family,.pp-element-category { display:block; margin-top:4px; color:var(--pp-muted); font:500 .52rem/1.15 "Geist Mono",monospace; }
.pp-element-category { color:var(--pp-accent-soft); text-transform:uppercase; letter-spacing:.08em; }
.pp-accent-mint { border-color:rgba(113,219,192,.4); } .pp-accent-mint .pp-element-symbol,.pp-accent-mint .pp-element-category { color:var(--pp-mint); }
.pp-accent-violet { border-color:rgba(161,155,255,.4); } .pp-accent-violet .pp-element-symbol,.pp-accent-violet .pp-element-category { color:var(--pp-violet); }
.pp-accent-copper { border-color:rgba(229,168,129,.45); } .pp-accent-copper .pp-element-symbol,.pp-accent-copper .pp-element-category { color:var(--pp-copper); }
.pp-element-ghost { opacity:.2; border-style:dashed; }
.pp-doc-hover { position:fixed; z-index:200; width:330px; height:285px; padding:8px; visibility:hidden; opacity:0; pointer-events:none; border:1px solid rgba(32,214,233,.55); background:var(--pp-panel-deep); box-shadow:0 24px 70px rgba(0,0,0,.68),0 0 30px rgba(32,214,233,.14); transition:opacity .16s ease,visibility .16s ease; }
.pp-doc-hover.is-visible { visibility:visible; opacity:1; }
.pp-doc-hover-label { height:30px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--pp-ink); font:600 .58rem/1 "Geist Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.pp-doc-hover-label span:last-child { color:var(--pp-accent); }
.pp-doc-hover-frame { display:block; width:100%; height:calc(100% - 30px); border:0; background:#fff; }

.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(8,minmax(105px,1fr)); gap:8px!important; border:0; }
.woocommerce ul.products:before,.woocommerce ul.products:after { display:none!important; }
.woocommerce ul.products li.product { float:none!important; width:auto!important; margin:0!important; padding:11px 9px 12px!important; min-height:190px; position:relative; border:1px solid rgba(32,214,233,.38); background:linear-gradient(145deg,#0a1823,#061019); display:flex; flex-direction:column; transition:transform .2s ease,border-color .2s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-3px); border-color:var(--pp-accent); }
.woocommerce ul.products li.product img { display:none!important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--pp-ink); font-size:.76rem!important; line-height:1.15; padding:0!important; margin-top:auto!important; }
.woocommerce ul.products li.product .price { color:var(--pp-accent)!important; font:600 .65rem/1.2 "Geist Mono",monospace; margin:.65rem 0!important; }
.woocommerce ul.products li.product .button { min-height:32px!important; padding:0 8px!important; font-size:.52rem!important; width:100%; }
.pp-wc-element-top { display:flex; justify-content:space-between; color:var(--pp-muted); font:600 .55rem/1 "Geist Mono",monospace; }
.pp-wc-symbol { display:block; margin:16px 0 12px; color:var(--pp-accent); font-size:2.35rem; font-weight:470; line-height:1; letter-spacing:-.06em; }
.pp-wc-category { color:var(--pp-accent-soft); font:500 .52rem/1.2 "Geist Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce ul.products li.pp-cat-structural { border-color:rgba(32,214,233,.38); }
.woocommerce ul.products li.pp-cat-signaling { border-color:rgba(113,219,192,.4); } .woocommerce ul.products li.pp-cat-signaling .pp-wc-symbol,.woocommerce ul.products li.pp-cat-signaling .pp-wc-category { color:var(--pp-mint); }
.woocommerce ul.products li.pp-cat-copper { border-color:rgba(161,155,255,.4); } .woocommerce ul.products li.pp-cat-copper .pp-wc-symbol,.woocommerce ul.products li.pp-cat-copper .pp-wc-category { color:var(--pp-violet); }
.woocommerce ul.products li.pp-cat-emerging { border-color:rgba(229,168,129,.45); } .woocommerce ul.products li.pp-cat-emerging .pp-wc-symbol,.woocommerce ul.products li.pp-cat-emerging .pp-wc-category { color:var(--pp-copper); }
.woocommerce div.product .product_title,.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--pp-ink); }
.woocommerce div.product { padding:60px 0; }
.woocommerce-message,.woocommerce-info { border-top-color:var(--pp-accent); background:var(--pp-panel); color:var(--pp-ink); }
.woocommerce-message:before,.woocommerce-info:before { color:var(--pp-accent); }

.pp-ruo { background:var(--pp-panel); color:var(--pp-ink); border-block:1px solid rgba(32,214,233,.28); }
.pp-research-approach { position:relative; isolation:isolate; overflow:hidden; min-height:430px; display:flex; align-items:center; }
.pp-research-approach .pp-wrap { position:relative; z-index:2; }
.pp-research-approach .pp-copy { max-width:720px; }
.pp-approach-ambient { position:absolute; z-index:1; inset:0; pointer-events:none; opacity:.42; color:var(--pp-accent); }
.pp-approach-ambient:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--pp-bg) 0%,color-mix(in srgb,var(--pp-bg) 86%,transparent) 37%,transparent 72%); }
.pp-approach-ambient svg { position:absolute; width:112%; height:112%; left:-4%; top:-6%; overflow:visible; filter:drop-shadow(0 0 13px color-mix(in srgb,currentColor 38%,transparent)); animation:ppApproachDrift 13s ease-in-out infinite alternate; }
.pp-approach-bond { fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-dasharray:8 12; opacity:.65; animation:ppApproachTrace 16s linear infinite; }
.pp-approach-bond--echo { stroke-width:.8; stroke-dasharray:2 16; opacity:.28; animation-duration:24s; animation-direction:reverse; }
.pp-approach-nodes circle { fill:color-mix(in srgb,currentColor 55%,var(--pp-bg)); stroke:color-mix(in srgb,currentColor 88%,white); stroke-width:1.1; transform-box:fill-box; transform-origin:center; animation:ppApproachPulse 4.8s ease-in-out infinite; }
.pp-approach-nodes circle:nth-child(3n+2) { animation-delay:-1.6s; }
.pp-approach-nodes circle:nth-child(3n) { animation-delay:-3.2s; }
.pp-light .pp-approach-ambient { opacity:.27; color:#007d94; }
.pp-light .pp-approach-ambient:after { background:linear-gradient(90deg,var(--pp-bg) 0%,color-mix(in srgb,var(--pp-bg) 88%,transparent) 40%,transparent 76%); }
@keyframes ppApproachDrift { from { transform:translate3d(-1.5%,1%,0) scale(1); } to { transform:translate3d(1.5%,-1%,0) scale(1.025); } }
@keyframes ppApproachTrace { to { stroke-dashoffset:-240; } }
@keyframes ppApproachPulse { 0%,100% { transform:scale(.86); opacity:.5; } 50% { transform:scale(1.16); opacity:1; } }
.pp-ruo-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:start; }
.pp-ruo .pp-kicker { color:var(--pp-accent); }
.pp-ruo .pp-copy { color:var(--pp-muted); }
.pp-ruo-cards { border-top:1px solid var(--pp-line); }
.pp-ruo-card { padding:22px 0; border-bottom:1px solid var(--pp-line); color:var(--pp-muted); }
.pp-ruo-card strong { display:block; font-size:.73rem; letter-spacing:.12em; margin-bottom:8px; }
.pp-footer { padding:55px 0; border-top:1px solid var(--pp-line); }
.pp-footer-row { display:flex; justify-content:space-between; gap:30px; color:var(--pp-muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }

.pp-gate { position:fixed; inset:0; z-index:99999; background:var(--pp-bg); color:var(--pp-ink); display:none; overflow:auto; }
.pp-gate.is-open { display:grid; place-items:center; }
.pp-gate-card { width:min(calc(100% - 36px),760px); padding:70px 0; }
.pp-gate h2 { font-size:clamp(2.8rem,7vw,5.8rem); line-height:.92; letter-spacing:-.06em; margin:25px 0; }
.pp-gate-field { display:grid; gap:8px; padding:18px 0; border-top:1px solid var(--pp-line); color:var(--pp-muted); }
.pp-gate-field strong { color:var(--pp-ink); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }
.pp-gate-field select { width:100%; border:1px solid var(--pp-line); background:var(--pp-bg); color:var(--pp-ink); padding:13px 14px; }
.pp-check { display:grid; grid-template-columns:24px 1fr; gap:14px; padding:18px 0; border-top:1px solid var(--pp-line); color:var(--pp-muted); }
.pp-check input { width:18px; height:18px; accent-color:var(--pp-accent); }
.pp-gate-actions { display:flex; gap:10px; margin-top:24px; }
.pp-gate-error { color:var(--pp-accent); min-height:1.5em; font-size:.78rem; }

@media(max-width:900px){
  .pp-links { display:none; }
  .pp-nav { gap:12px; }
  .pp-brand-copy small { display:none; }
  .pp-menu-toggle { display:inline-flex; }
  .pp-mobile-menu { display:block; border-top:1px solid var(--pp-line); background:color-mix(in srgb,var(--pp-bg) 97%,transparent); }
  .pp-mobile-menu[hidden] { display:none; }
  .pp-mobile-menu .pp-wrap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:8px; padding-bottom:8px; }
  .pp-mobile-menu a { display:flex; align-items:center; min-height:48px; border-bottom:1px solid var(--pp-line); padding:10px 8px; color:var(--pp-ink); font:650 .72rem/1.3 "Geist Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
  .pp-mobile-menu a:nth-last-child(-n+2) { border-bottom:0; }
  .pp-grid3 { grid-template-columns:repeat(2,1fr)!important; }
  .pp-periodic-grid,.woocommerce ul.products { grid-template-columns:repeat(4,1fr)!important; }
  .pp-periodic-grid .pp-element-tile { grid-column:auto!important; grid-row:auto!important; }
  .polymer-logo--display { width:min(90vw,360px); }
  .pp-ruo-grid { grid-template-columns:1fr; }
  .pp-catalog-head { display:block; }
  .pp-landing-grid { grid-template-columns:1fr; }
  .pp-landing-logo { width:min(90vw,360px); }
  .pp-filters { margin-top:25px; }
}
@media(max-width:600px){
  .pp-wrap { width:min(calc(100% - 24px),var(--pp-max)); }
  .pp-header .pp-cart { display:none; }
  .pp-nav { min-height:66px; gap:8px; }
  .pp-brand { gap:8px; }
  .pp-mark { width:36px; height:36px; font-size:1.15rem; }
  .pp-brand-copy small { display:none; }
  .pp-brand-copy > span { font-size:.72rem; letter-spacing:.06em; }
  .pp-toggle,.pp-menu-toggle { min-height:36px; padding:8px 9px; }
  .pp-menu-toggle > span:last-child { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .pp-mobile-menu .pp-wrap { grid-template-columns:1fr; }
  .pp-mobile-menu a,.pp-mobile-menu a:nth-last-child(-n+2) { border-bottom:1px solid var(--pp-line); }
  .pp-mobile-menu a:last-child { border-bottom:0; }
  .pp-grid3 { grid-template-columns:1fr!important; }
  .pp-periodic-grid,.woocommerce ul.products { grid-template-columns:repeat(2,1fr)!important; }
  .pp-section { padding:75px 0; }
  .pp-research-approach { min-height:390px; }
  .pp-approach-ambient { opacity:.3; }
  .pp-light .pp-approach-ambient { opacity:.2; }
  .polymer-logo--display { width:min(84vw,320px); margin-bottom:38px; }
  .pp-footer-row { display:block; }
  .pp-doc-hover { display:none; }
}
@media(prefers-reduced-motion:reduce){
  .pp-approach-ambient svg,.pp-approach-bond,.pp-approach-nodes circle { animation:none!important; }
}

.pp-checkout-thumbnail img { width:48px; height:48px; object-fit:contain; vertical-align:middle; margin-right:12px; }
.pp-dev-notice { padding:12px 20px; background:#e9b45b; color:#17212a; font-weight:700; text-align:center; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { padding:12px; border:1px solid #84959d; border-radius:4px; }
.woocommerce table.shop_table { width:100%; border-collapse:collapse; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:14px; border-bottom:1px solid #84959d; }

/* Consumer draft: readable themes, compact discovery, and accessible navigation. */
body.pp-light { --pp-accent:#087d8a; --pp-accent-soft:#066c77; --pp-mint:#14755e; --pp-violet:#6456af; --pp-copper:#935c36; --pp-panel-deep:#e8f9fa; }
:focus-visible { outline:2px solid var(--pp-accent); outline-offset:4px; }
.pp-skip-link { position:fixed; left:16px; top:-100px; z-index:100000; padding:12px 18px; background:var(--pp-bg); border:2px solid var(--pp-accent); }
.pp-skip-link:focus { top:12px; }
.pp-gate-open { overflow:hidden; }
.pp-gate-card { padding:32px 0; }
.pp-gate h2 { font-size:clamp(2.4rem,6vw,4.5rem); }
.pp-gate-actions { flex-wrap:wrap; }
.pp-nav { gap:22px; }
.pp-links { gap:20px; font-size:.68rem; letter-spacing:.06em; white-space:nowrap; }
.pp-links a[aria-current], .pp-mobile-menu a[aria-current] { color:var(--pp-accent); }
.pp-toggle { white-space:nowrap; }
.pp-header a, .pp-toggle { min-height:44px; }
.pp-landing-hero { min-height:650px; padding:80px 0; }
.pp-landing-copy .pp-display { font-size:clamp(3.2rem,6.6vw,6.8rem); }
.pp-landing-copy .pp-copy { max-width:620px; }
.pp-research-intro { display:grid; grid-template-columns:250px minmax(0,1fr); gap:64px; align-items:center; }
.pp-research-intro .polymer-logo { width:250px; margin:0; box-shadow:0 0 35px rgba(32,214,233,.14); }
.pp-research-intro .polymer-logo>strong { font-size:120px; }
.pp-research-intro .pp-display { font-size:clamp(3rem,6vw,6rem); }
.pp-research-intro .polymer-logo-name { font-size:9px; }
.pp-hero { padding:70px 0; min-height:0; }
.pp-discovery-strip { border-top:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); background:var(--pp-panel); }
.pp-discovery-strip .pp-wrap { display:grid; grid-template-columns:repeat(2,1fr); }
.pp-discovery-strip a { display:grid; gap:12px; padding:32px; border-right:1px solid var(--pp-line); }
.pp-discovery-strip a:first-child { border-left:1px solid var(--pp-line); }
.pp-discovery-strip span { font:600 .65rem "Geist Mono",monospace; color:var(--pp-accent); text-transform:uppercase; letter-spacing:.1em; }
.pp-discovery-strip strong { font-size:1.2rem; font-weight:550; }
.pp-discovery-strip small { color:var(--pp-muted); }
.pp-discovery-strip a:hover { background:var(--pp-bg); }
.pp-collection-tools { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:24px 0; }
.pp-collection-tools label { display:grid; gap:8px; font:600 .7rem "Geist Mono",monospace; color:var(--pp-muted); }
.pp-collection-tools input { width:min(460px,100%); min-width:320px; padding:14px; border:1px solid var(--pp-line); background:var(--pp-bg); color:var(--pp-ink); font:400 1rem "Geist",sans-serif; }
.pp-collection-tools p { font:500 .7rem "Geist Mono",monospace; color:var(--pp-muted); }
.pp-periodic-grid .pp-element-tile[hidden] { display:none!important; }
.pp-periodic-grid.pp-search-active .pp-element-tile { grid-column:auto!important; grid-row:auto!important; }
.pp-light .pp-element-tile, .pp-light .woocommerce ul.products li.product { background:linear-gradient(145deg,#fff,var(--pp-panel)); border-color:var(--pp-line); }
.pp-element-tile:hover { border-color:var(--pp-accent); }
.pp-footer-explore { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:48px; }
.pp-footer-explore h2 { font-size:clamp(2rem,4vw,3rem); font-weight:500; letter-spacing:-.05em; margin:12px 0; }
.pp-footer-explore p { max-width:480px; color:var(--pp-muted); }
.pp-footer-explore nav { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; align-content:start; }
.pp-footer-explore nav a { padding:15px 0; border-bottom:1px solid var(--pp-line); font-size:.9rem; }
.pp-footer-explore nav a:hover { color:var(--pp-accent); }
[id] { scroll-margin-top:100px; }
@media (min-width:901px) and (max-width:1150px) {
 .pp-links { display:none; } .pp-menu-toggle { display:inline-flex; }
 .pp-mobile-menu:not([hidden]) { display:block; border-top:1px solid var(--pp-line); padding:12px 0; }
 .pp-mobile-menu .pp-wrap { display:flex; flex-wrap:wrap; gap:24px; }
}
@media(max-width:900px) {
 .pp-research-intro { grid-template-columns:180px minmax(0,1fr); gap:32px; }
 .pp-research-intro .polymer-logo { width:180px; padding:20px; }
 .pp-research-intro .polymer-logo>strong { font-size:90px; }
 .pp-research-intro .polymer-logo-name { margin-top:16px; font-size:7px; }
 .pp-research-intro .polymer-logo>small { font-size:6px; }
 .pp-landing-hero { min-height:0; padding:56px 0; }
 .pp-landing-grid { grid-template-columns:minmax(0,1fr) 240px; gap:32px; }
 .pp-landing-logo { width:240px; }
 .pp-landing-logo>strong { font-size:110px; }
 .pp-discovery-strip a { padding:24px 16px; }
 .pp-footer-explore { gap:32px; }
}
@media(max-width:600px) {
 .pp-ruo-bar { font-size:.52rem; letter-spacing:.04em; }
 .pp-ruo-bar .pp-wrap { gap:8px; }
 .pp-landing-grid { grid-template-columns:1fr; gap:36px; }
 .pp-landing-logo { width:180px; margin:0; }
 .pp-landing-logo>strong { font-size:85px; }
 .pp-landing-logo .polymer-logo-name { font-size:7px; }
 .pp-landing-logo>small { font-size:6px; }
 .pp-research-intro { grid-template-columns:1fr; gap:28px; }
 .pp-research-intro .polymer-logo { display:none; }
 .pp-hero { padding:44px 0; }
 .pp-discovery-strip .pp-wrap { grid-template-columns:1fr; }
 .pp-discovery-strip a { border-left:0!important; border-right:0; border-bottom:1px solid var(--pp-line); }
 .pp-discovery-strip a:last-child { border-bottom:0; }
 .pp-collection-tools { align-items:stretch; flex-direction:column; gap:8px; }
 .pp-collection-tools input { min-width:0; width:100%; }
 .pp-collection-tools p { margin:0; }
 .pp-footer-explore { grid-template-columns:1fr; }
 .pp-gate-card { padding:24px 0; }
 .pp-check { padding:12px 0; font-size:.85rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

.pp-category-legend { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; padding:0; }
.pp-category-legend button { display:flex; align-items:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid var(--pp-line); background:var(--pp-panel); color:var(--pp-ink); cursor:pointer; font:500 .7rem "Geist Mono",monospace; }
.pp-legend-dot { width:8px; height:8px; border-radius:50%; background:var(--legend-color); }
.pp-category-legend button[aria-pressed="true"] { border-color:var(--legend-color); }
.pp-category-active .pp-element-tile:not(.pp-category-match) { opacity:.35; }
.pp-category-active .pp-category-match { border-color:var(--pp-accent); }
.pp-search-active .pp-element-tile { opacity:1; }

[hidden] { display:none!important; }
.pp-product-resources { margin:24px 0; }
.pp-dev-notice { padding:8px 20px; background:var(--pp-panel); color:var(--pp-muted); border-bottom:1px solid var(--pp-line); font:500 .65rem/1.5 "Geist Mono",monospace; }
.pp-header { top:0; }
.admin-bar .pp-header { top:32px; }
@media(max-width:782px) { .admin-bar .pp-header { top:46px; } }
@media(max-width:600px) { .admin-bar .pp-header { top:0; } }
@media(max-width:380px) {
 .pp-toggle { font-size:0; width:40px; flex-shrink:0; }
 .pp-toggle::before { content:'☀'; font-size:16px; }
 .pp-light .pp-toggle::before { content:'☾'; }
 .pp-brand-copy > span { font-size:.65rem; }
 .pp-menu-toggle { flex-shrink:0; }
}

.pp-home-collection-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:40px; }
.pp-home-materials { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.pp-home-material { display:block; border:1px solid var(--pp-line); background:var(--pp-panel); transition:border-color .2s; }
.pp-home-material:hover { border-color:var(--pp-accent); }
.pp-home-material-photo { background:#eef5fa; overflow:hidden; }
.pp-home-material-photo img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; transition:transform .25s; }
.pp-home-material:hover img { transform:scale(1.035); }
.pp-home-material-copy { padding:20px; }
.pp-home-material h3 { display:flex; justify-content:space-between; gap:12px; margin:10px 0; font-size:1.3rem; font-weight:550; }
.pp-home-material h3 span { color:var(--pp-accent); }
.pp-home-material p { color:var(--pp-muted); font:500 .7rem/1.5 "Geist Mono",monospace; margin:0; }
@media(max-width:900px) { .pp-home-materials { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .pp-home-collection-head { display:block; } .pp-home-collection-head .pp-button { margin-top:20px; } .pp-home-material-copy { padding:12px; } .pp-home-material h3 { font-size:1.05rem; } }

.woocommerce div.product .product_title { font-size:clamp(2rem,4vw,3.5rem); font-weight:500; letter-spacing:-.05em; line-height:1.05; }
.woocommerce div.product p.price { color:var(--pp-ink); font:500 1.35rem/1.5 "Geist Mono",monospace; }
.woocommerce div.product form.cart .variations { width:100%; margin:24px 0; }
.woocommerce div.product form.cart .variations tr { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:start; margin:12px 0; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { padding:0; text-align:left; }
.woocommerce div.product form.cart .variations label, #pp-native-testing label { display:block; font:600 .7rem/1.5 "Geist Mono",monospace; text-transform:uppercase; letter-spacing:.07em; padding:13px 0; }
.woocommerce div.product form.cart .variations select, #pp-testing-strength { width:100%; min-height:44px; padding:11px 12px; border:1px solid var(--pp-line); border-radius:0; background:var(--pp-panel); color:var(--pp-ink); font:inherit; }
.woocommerce div.product form.cart .quantity .qty { min-height:48px; padding:10px; border:1px solid var(--pp-line); background:var(--pp-panel); color:var(--pp-ink); }
#pp-native-testing { margin:24px 0; }
#pp-native-testing p { color:var(--pp-muted); font-size:.85rem; }
@media(max-width:600px) { .woocommerce div.product form.cart .variations tr { grid-template-columns:1fr; } .woocommerce div.product form.cart .variations label { padding:0 0 8px; } }

/* Shared consumer catalog: uniform order, visible vial, consistent identity. */
.pp-product-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.pp-product-grid .pp-product-card { grid-column:auto!important; grid-row:auto!important; position:relative; min-height:210px; padding:14px; }
.pp-product-card .pp-element-symbol { margin:22px 0 20px; font-size:36px; padding-right:72px; }
.pp-card-vial { position:absolute; right:10px; top:34px; width:68px; height:88px; object-fit:contain; border-radius:4px; }
.pp-product-card .pp-element-name { font-size:14px; line-height:1.35; padding-bottom:12px; min-height:50px; }
.pp-product-card .pp-element-family { margin-top:auto; font-size:10px; }
.pp-product-card .pp-element-category { margin-top:5px; }
.pp-wc-card-visual { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pp-wc-card-visual img { width:60px!important; height:80px!important; object-fit:contain; margin:0!important; border-radius:4px; }
@media(max-width:1100px) { .pp-product-grid {grid-template-columns:repeat(4,minmax(0,1fr));} }
@media(max-width:650px) { .pp-product-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;} .pp-product-grid .pp-product-card {padding:10px;min-height:210px;} .pp-card-vial {right:8px;width:58px;} .pp-product-card .pp-element-symbol {font-size:30px;padding-right:58px;} }

/* Put the homepage catalog before secondary discovery panels. */
.pp-home-intro {padding:38px 0 20px;}
.pp-home-intro .pp-display {font-size:clamp(32px,3.8vw,54px);max-width:900px;margin:12px 0;line-height:1.08;}
.pp-home-intro .pp-copy {font-size:16px;max-width:740px;margin:0;}
.pp-home-collection {padding:20px 0 64px;}
.pp-home-collection-head {margin-bottom:18px;}
.pp-home-collection-head .pp-section-title {font-size:24px;margin:0;letter-spacing:-.025em;}
.pp-home-collection .pp-periodic-shell {margin-top:0;}
.pp-home-collection .pp-periodic-shell:before {display:none;}
@media(max-width:600px) {.pp-home-intro {padding:24px 0 12px;} .pp-home-intro .pp-display {font-size:32px;} .pp-home-intro .pp-copy {font-size:14px;} .pp-home-collection {padding-top:14px;}}

/* Mobile-first homepage hero. */
.pp-home-hero {
  --pp-hero-ink:#041831;
  --pp-hero-muted:#456789;
  --pp-hero-accent:#0aaebe;
  color:var(--pp-hero-ink);
  background:#eefbff;
  border-bottom:1px solid rgba(10,174,190,.45);
  overflow:hidden;
}
.pp-home-hero-inner {
  width:min(calc(100% - 40px),var(--pp-max));
  min-height:calc(100svh - 114px);
  margin-inline:auto;
  padding:64px 0;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  align-items:center;
  gap:clamp(42px,7vw,110px);
}
.pp-home-hero-visual {
  position:relative;
  min-width:0;
}
.pp-home-hero-visual:after {
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(10,174,190,.42);
  pointer-events:none;
}
.pp-home-hero-visual img {
  display:block;
  width:100%;
  height:auto;
}
.pp-home-hero-copy {
  min-width:0;
}
.pp-home-hero-kicker,
.pp-home-hero-ruo {
  margin:0;
  color:var(--pp-hero-muted);
  font:650 .68rem/1.5 "Geist Mono",monospace;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.pp-home-hero-copy h1 {
  margin:18px 0 20px;
  color:var(--pp-hero-ink);
  font-size:clamp(3.7rem,6.4vw,7.1rem);
  font-weight:780;
  line-height:.88;
  letter-spacing:-.075em;
}
.pp-home-hero-description {
  max-width:600px;
  margin:0;
  color:var(--pp-hero-muted);
  font-size:clamp(1rem,1.45vw,1.22rem);
  line-height:1.55;
}
.pp-home-hero-actions {
  display:grid;
  gap:12px;
  max-width:560px;
  margin-top:32px;
}
.pp-home-hero-primary,
.pp-home-hero-secondary {
  min-height:56px;
  padding:0 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--pp-hero-ink);
  color:var(--pp-hero-ink);
  font:650 .76rem/1 "Geist Mono",monospace;
  letter-spacing:.13em;
  text-align:center;
  text-transform:uppercase;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.pp-home-hero-primary {
  justify-content:space-between;
  color:#fff;
  background:var(--pp-hero-ink);
}
.pp-home-hero-primary:hover,
.pp-home-hero-primary:focus-visible {
  background:#0b3159;
  border-color:#0b3159;
}
.pp-home-hero-secondary:hover,
.pp-home-hero-secondary:focus-visible {
  color:#fff;
  background:var(--pp-hero-accent);
  border-color:var(--pp-hero-accent);
}
.pp-home-hero-primary:focus-visible,
.pp-home-hero-secondary:focus-visible {
  outline:3px solid rgba(10,174,190,.45);
  outline-offset:3px;
}
.pp-home-hero-ruo {
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid rgba(10,174,190,.55);
  font-size:.61rem;
}
@media(max-width:760px) {
  .pp-home-hero-inner {
    min-height:0;
    padding:0 0 34px;
    grid-template-columns:1fr;
    gap:30px;
  }
  .pp-home-hero-visual {
    margin-inline:-20px;
  }
  .pp-home-hero-visual:after {
    border-width:1px 0;
  }
  .pp-home-hero-copy {
    text-align:center;
  }
  .pp-home-hero-copy h1 {
    margin:14px 0 18px;
    font-size:clamp(3.2rem,15vw,4.35rem);
    line-height:.9;
  }
  .pp-home-hero-description {
    max-width:34rem;
    margin-inline:auto;
    font-size:1rem;
  }
  .pp-home-hero-actions {
    max-width:none;
    margin-top:28px;
  }
  .pp-home-hero-primary,
  .pp-home-hero-secondary {
    min-height:58px;
  }
  .pp-home-hero-ruo {
    line-height:1.7;
  }
}
@media(max-width:390px) {
  .pp-home-hero-copy h1 { font-size:3.05rem; }
  .pp-home-hero-primary,
  .pp-home-hero-secondary { padding-inline:16px; letter-spacing:.09em; }
}

.pp-inventory-source-note {grid-column:1/-1; margin:24px 0; padding:18px; border:1px solid var(--pp-line); background:var(--pp-panel); font-size:14px; line-height:1.65;}
.pp-inventory-source-note strong {color:var(--pp-ink);}
.pp-inventory-source-note p {margin:8px 0 0; color:var(--pp-muted);}

/* Approved square header logo — follows the existing theme control. */
.pp-approved-header-mark{display:block;width:69.12px;height:69.12px;flex:0 0 69.12px;overflow:hidden}
.pp-approved-header-mark img{display:block;width:100%;height:100%;object-fit:contain}
.pp-approved-header-mark .pp-header-logo-light{display:none}
.pp-light .pp-approved-header-mark .pp-header-logo-dark{display:none}
.pp-light .pp-approved-header-mark .pp-header-logo-light{display:block}
@media(max-width:600px){.pp-approved-header-mark{width:60.48px;height:60.48px;flex-basis:60.48px}}

/* Keep the cart reachable in the top navigation at every viewport size. */
.pp-header .pp-header-cart{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;box-sizing:border-box;flex-shrink:0;padding:9px 12px}
.pp-header-cart svg{flex-shrink:0}
.pp-header-cart-count{font-variant-numeric:tabular-nums}
.pp-header-cart:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:600px){
 .pp-header .pp-nav{gap:6px}
 .pp-header .pp-brand{min-width:0;gap:6px}
 .pp-header .pp-brand-copy>span{white-space:normal;font-size:.65rem;line-height:1.2}
 .pp-header .pp-toggle{font-size:0;width:44px;min-height:44px;padding:8px;flex-shrink:0}
 .pp-header .pp-toggle::before{content:'☀';font-size:16px}
 .pp-light .pp-header .pp-toggle::before{content:'☾'}
 .pp-header .pp-menu-toggle{width:44px;min-height:44px;flex-shrink:0;justify-content:center}
 .pp-header .pp-header-cart{padding:6px;gap:3px}
 .pp-header-cart-label{display:none}
 .pp-header-cart-count{font-size:10px;letter-spacing:0}
}

/* Homepage search: distinct, lighter field surface in each theme. */
#pp-compound-search { background:#172b3a; border-color:#536b7c; }
#pp-compound-search::placeholder { color:#b8c6d1; opacity:1; }
body.pp-light #pp-compound-search { background:#fff; border-color:#91adb4; }
body.pp-light #pp-compound-search::placeholder { color:#526572; }
#pp-compound-search:focus-visible { outline:2px solid var(--pp-accent); outline-offset:2px; }

/* Prominent, readable site-wide research-use notice in both themes. */
.pp-ruo-bar {
  color: #eaf8fa;
  background: #102b35;
  border-bottom: 1px solid #37616b;
  font-family: "Geist", sans-serif;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: .025em;
}
.pp-ruo-bar strong { color: #78e3e4; font-weight: 750; }
.pp-ruo-bar .pp-wrap { min-height: 42px; gap: 12px; padding-block: 8px; }
.pp-light .pp-ruo-bar { color: #173d49; background: #e0f2f4; border-bottom-color: #8cbcc3; }
.pp-light .pp-ruo-bar strong { color: #075b68; }
@media (max-width: 600px) {
  .pp-ruo-bar { font-size: 12px; letter-spacing: .02em; }
  .pp-ruo-bar .pp-wrap {
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    text-align: center;
    min-height: 52px;
  }
}

/* Compact policy navigation — replaces the footer exploration block. */
.pp-footer-policies { display:flex; flex-wrap:wrap; align-items:center; gap:4px 24px; margin-bottom:24px; }
.pp-footer-policies a { display:inline-flex; align-items:center; min-height:44px; color:var(--pp-muted); font-size:.8125rem; text-decoration:none; }
.pp-footer-policies a:hover { color:var(--pp-accent); text-decoration:underline; text-underline-offset:4px; }
.pp-footer-policies a:focus-visible { outline:2px solid var(--pp-accent); outline-offset:4px; border-radius:2px; }

/* Slight hero-led teal alignment; retain contrasting family accents. */
html body { --pp-accent:#32d7df; --pp-accent-soft:#8debed; }
html body.pp-light { --pp-bg:#f3faf9; --pp-accent:#087b82; --pp-accent-soft:#086c73; }
