/* ============================================================
   THE PEPTIDE WAREHOUSE — price index
   Palette: cool-bone ground, green-biased neutrals, lab green
   signal, vial amber accent. Display: Instrument Serif.
   UI: Public Sans. Figures: IBM Plex Mono (tabular).
   ============================================================ */

:root{
  --paper:#F1F5F3; --card:#FFFFFF; --card-2:#F8FAF9;
  --ink:#0C1411; --ink-2:#1E2B26; --steel:#5C6A65; --faint:#8C9A94;
  --line:#D7DFDB; --line-2:#E7EDEA;
  --signal:#0B6E4F; --signal-ink:#075138; --signal-soft:#E2F0EA;
  --amber:#9C6110; --amber-soft:#F8EFDE;
  --deep:#0C1613; --deep-2:#12211D; --deep-line:#22322C;
  --on-deep:#EDF3F0; --on-deep-2:#9DAFA8;
  --shadow:0 1px 2px rgba(12,20,17,.05), 0 8px 24px -12px rgba(12,20,17,.18);
  --shadow-lift:0 2px 4px rgba(12,20,17,.06), 0 18px 40px -18px rgba(12,20,17,.30);
  --wrap:1180px; --r:4px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0A100E; --card:#111A17; --card-2:#0E1714;
    --ink:#E9F0ED; --ink-2:#C6D3CE; --steel:#93A29C; --faint:#6E7F79;
    --line:#22302B; --line-2:#1A2622;
    --signal:#4FD1A0; --signal-ink:#7FE2BC; --signal-soft:#0F2A20;
    --amber:#DFA54D; --amber-soft:#2A2013;
    --deep:#070C0A; --deep-2:#0D1512; --deep-line:#1D2A25;
    --on-deep:#E9F0ED; --on-deep-2:#8FA099;
    --shadow:0 1px 2px rgba(0,0,0,.5), 0 8px 24px -12px rgba(0,0,0,.7);
    --shadow-lift:0 2px 4px rgba(0,0,0,.5), 0 18px 40px -18px rgba(0,0,0,.8);
  }
}
:root[data-theme="dark"]{
  --paper:#0A100E; --card:#111A17; --card-2:#0E1714;
  --ink:#E9F0ED; --ink-2:#C6D3CE; --steel:#93A29C; --faint:#6E7F79;
  --line:#22302B; --line-2:#1A2622;
  --signal:#4FD1A0; --signal-ink:#7FE2BC; --signal-soft:#0F2A20;
  --amber:#DFA54D; --amber-soft:#2A2013;
  --deep:#070C0A; --deep-2:#0D1512; --deep-line:#1D2A25;
  --on-deep:#E9F0ED; --on-deep-2:#8FA099;
  --shadow:0 1px 2px rgba(0,0,0,.5), 0 8px 24px -12px rgba(0,0,0,.7);
  --shadow-lift:0 2px 4px rgba(0,0,0,.5), 0 18px 40px -18px rgba(0,0,0,.8);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:104px}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Public Sans","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  font-size:16.5px; line-height:1.62; -webkit-font-smoothing:antialiased;
  font-feature-settings:"ss01";
}
img{max-width:100%;display:block}
a{color:var(--signal-ink);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--signal)}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}
.mono{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}
.num{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em}

h1,h2,h3{font-family:"Instrument Serif",Georgia,"Times New Roman",serif;font-weight:400;
  letter-spacing:-.005em;text-wrap:balance;margin:0}
h1{font-size:clamp(2.6rem,6.2vw,4.5rem);line-height:1.02}
h2{font-size:clamp(1.9rem,3.6vw,2.85rem);line-height:1.08}
h3{font-size:1.32rem;line-height:1.22}
p{margin:0 0 1.05em}

/* ---------- micro-labels ---------- */
.eyebrow{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.665rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:0 0 .85rem}
.eyebrow.on-deep{color:rgba(255,255,255,.82);text-shadow:0 1px 14px rgba(0,0,0,.75)}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:saturate(1.5) blur(12px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:1.6rem;min-height:92px}
.logo{display:flex;align-items:center;gap:.72rem;text-decoration:none;color:var(--ink)}
.logo-seal{display:flex;flex:0 0 auto}
.logo-seal .emb{display:block;border-radius:9px}
.logo-type{display:flex;flex-direction:column;gap:.16rem;min-width:0}
.logo-name{font-weight:800;letter-spacing:.15em;font-size:1.42rem;line-height:1;
  text-transform:uppercase;white-space:nowrap}
.logo-name .w{color:var(--signal)}
.logo-tag{font-family:"IBM Plex Mono",monospace;font-size:.585rem;letter-spacing:.17em;
  color:var(--faint);text-transform:uppercase;white-space:nowrap}

/* ---------- masthead lockup ---------- */
.masthead{margin:0 0 2.1rem;max-width:880px}
.mh-lock{display:flex;align-items:center;gap:1.5rem;text-decoration:none;color:inherit}
.mh-seal{flex:0 0 auto;display:flex;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}

.mh-type{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.mh-rule{display:block;height:1px;background:currentColor;opacity:.42}
.mh-name{font-family:"Public Sans",sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(1.45rem,3.8vw,2.65rem);letter-spacing:.15em;line-height:1;color:#fff;
  text-shadow:0 2px 26px rgba(0,0,0,.5)}
.mh-sub{font-family:"IBM Plex Mono",monospace;font-size:clamp(.58rem,1.05vw,.72rem);
  white-space:nowrap;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.8);
  text-shadow:0 1px 14px rgba(0,0,0,.7)}
.mh-lock.mh-sm{gap:.95rem}
.mh-lock.mh-sm .mh-name{font-size:clamp(1.05rem,2.4vw,1.5rem);letter-spacing:.15em}
.mh-lock.mh-sm .mh-sub{font-size:.58rem;letter-spacing:.16em}
.masthead:not(.on-dark) .mh-name{color:var(--ink);text-shadow:none}
.masthead:not(.on-dark) .mh-sub{color:var(--faint);text-shadow:none}

.cb-brand{position:relative;z-index:2;padding-top:1.5rem}
.cbanner .wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}
@media(max-width:640px){
  .mh-lock{gap:.9rem}
  .mh-seal .emb{width:64px;height:64px}
  .masthead{margin-bottom:1.6rem}
}
nav.main{margin-left:auto;display:flex;align-items:center;gap:1.45rem}
nav.main a{color:var(--steel);text-decoration:none;font-size:.845rem;font-weight:500}
nav.main a:hover{color:var(--ink)}
.stamp{display:inline-flex;align-items:center;gap:.45rem;font-family:"IBM Plex Mono",monospace;
  font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--signal-ink);
  background:var(--signal-soft);border:1px solid color-mix(in srgb,var(--signal) 25%,transparent);
  padding:.3rem .6rem;border-radius:2px}
.stamp .dot{width:5px;height:5px;border-radius:50%;background:var(--signal);flex:0 0 auto;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 20%,transparent)}
.stamp .short{display:none}
@media(max-width:900px){nav.main a:not(.keep){display:none}}
@media(max-width:760px){
  .stamp .full{display:none}
  .stamp .short{display:inline}
}
@media(max-width:640px){
  header.site .wrap{padding:0 18px;gap:.7rem;min-height:72px}
  nav.main{gap:.6rem;min-width:0}
  .logo{gap:.5rem}
  .logo-name{font-size:1rem;letter-spacing:.11em}
  .logo-tag{display:none}
  .logo-seal .emb{width:28px;height:28px}
  .bhead{top:72px}
  .stamp{font-size:.55rem;padding:.26rem .45rem;letter-spacing:.06em;white-space:nowrap}
  .wrap{padding:0 18px}
  .sec-head .r{white-space:normal}
}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;background:var(--deep);overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(1.14) contrast(1.05) brightness(1.04);
  animation:drift 34s ease-in-out infinite alternate;z-index:0}
@keyframes drift{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-1.4%,-1%,0)}}
@media(prefers-reduced-motion:reduce){.hero img{animation:none;transform:scale(1.04)}}
.hero .scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(178deg,rgba(8,14,12,.30) 0%,rgba(8,14,12,.14) 26%,rgba(8,14,12,.52) 62%,rgba(8,14,12,.94) 100%)}
.hero .glow{position:absolute;inset:0;z-index:1;mix-blend-mode:screen;opacity:.42;
  background:radial-gradient(58% 48% at 76% 34%,rgba(120,220,185,.28),transparent 70%)}
.hero .side{position:absolute;inset:0;z-index:1;
  background:linear-gradient(96deg,rgba(6,12,10,.74) 0%,rgba(6,12,10,.52) 32%,rgba(6,12,10,.14) 58%,transparent 76%)}
.hero .wrap{position:relative;z-index:2;padding-top:clamp(4.2rem,11vw,7.5rem);padding-bottom:clamp(2.4rem,5vw,3.4rem)}
.hero h1{color:#fff;max-width:15ch;text-shadow:0 2px 40px rgba(0,0,0,.5)}
.hero h1.hero-h1{font-size:clamp(2.2rem,5.1vw,3.7rem)}
.hero h1 em{font-style:italic;color:#B7F0D6}
.hero .lede{color:#DCE8E3;font-size:clamp(1.02rem,1.65vw,1.2rem);max-width:56ch;margin:1.35rem 0 0;
  text-shadow:0 1px 18px rgba(0,0,0,.55)}
.hero .acts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}

/* ---------- ticker ---------- */
.ticker{background:var(--deep);border-top:1px solid var(--deep-line);position:relative;z-index:3}
.ticker .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--deep-line);
  border-left:1px solid var(--deep-line);border-right:1px solid var(--deep-line);padding:0}
.tk{background:var(--deep);padding:1.15rem 1.3rem}
.tk .k{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.17em;
  text-transform:uppercase;color:var(--on-deep-2);margin-bottom:.3rem}
.tk .v{font-family:"IBM Plex Mono",monospace;font-size:1.5rem;font-weight:500;color:#fff;
  font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1}
.tk .v small{font-size:.72rem;color:var(--on-deep-2);letter-spacing:.04em;margin-left:.35rem;font-weight:400}
@media(max-width:760px){.ticker .wrap{grid-template-columns:repeat(2,1fr)}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:"Public Sans",sans-serif;font-weight:700;font-size:.86rem;letter-spacing:.02em;
  padding:.78rem 1.35rem;border-radius:var(--r);border:1px solid transparent;text-decoration:none;
  cursor:pointer;transition:transform .12s ease,box-shadow .16s ease,background .16s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-go{background:var(--signal);color:#FFFFFF;box-shadow:0 1px 0 rgba(0,0,0,.12),0 10px 24px -12px var(--signal)}
.btn-go:hover{background:var(--signal-ink);color:#FFFFFF}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .btn-go,
  :root:not([data-theme="light"]) .btn-go:hover{color:#06120D}
}
:root[data-theme="dark"] .btn-go,:root[data-theme="dark"] .btn-go:hover{color:#06120D}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.btn-line{background:var(--card);color:var(--ink);border-color:var(--line)}
.btn-line:hover{border-color:var(--signal);color:var(--signal-ink)}
.btn-sm{padding:.5rem .85rem;font-size:.78rem}

/* ---------- section chrome ---------- */
section{padding:clamp(3.4rem,6vw,5.4rem) 0}
section.tight{padding:clamp(2.4rem,4vw,3.6rem) 0}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;
  margin-bottom:2rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}
.sec-head>div:first-child{flex:1 1 420px;min-width:0}
.sec-head p{margin:.5rem 0 0;color:var(--steel);max-width:62ch;font-size:.95rem}
.sec-head .r{color:var(--faint);font-family:"IBM Plex Mono",monospace;font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;padding-bottom:.3rem}

/* ---------- controls ---------- */
.controls{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;margin-bottom:1.4rem}
.search{flex:1 1 260px;position:relative;min-width:220px}
.search input{width:100%;font:inherit;font-size:.92rem;padding:.68rem .9rem .68rem 2.3rem;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--ink)}
.search input::placeholder{color:var(--faint)}
.search svg{position:absolute;left:.78rem;top:50%;transform:translateY(-50%);width:15px;height:15px;
  stroke:var(--faint);fill:none;stroke-width:1.7}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.44rem .72rem;border:1px solid var(--line);background:var(--card);color:var(--steel);
  border-radius:2px;cursor:pointer;transition:.14s}
.chip:hover{border-color:var(--signal);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* ---------- the board ---------- */
.board{border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--shadow)}
.brow:first-of-type{border-radius:var(--r) var(--r) 0 0}
.brow:last-child{border-radius:0 0 var(--r) var(--r)}
.brow{display:grid;grid-template-columns:minmax(0,2.5fr) .95fr .9fr .9fr .8fr auto;
  gap:1rem;align-items:center;padding:.92rem 1.15rem;border-bottom:1px solid var(--line-2);
  text-decoration:none;color:inherit;transition:background .12s}
.brow>*{min-width:0}
.brow:last-child{border-bottom:0}
.brow:hover{background:var(--card-2)}
.bhead{background:var(--card-2);border-bottom:1px solid var(--line);position:sticky;top:92px;z-index:20}
.bhead div{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--faint)}
.bhead .s{cursor:pointer;user-select:none}
.bhead .s:hover{color:var(--ink)}
.bhead .s[data-on="1"]{color:var(--signal-ink)}
.bn{font-weight:700;font-size:1.01rem;letter-spacing:-.005em;line-height:1.25}
.bn span{display:block;max-width:100%;font-weight:400;font-size:.755rem;color:var(--faint);margin-top:.15rem;
  font-family:"IBM Plex Mono",monospace;letter-spacing:.01em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcat{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.05em;color:var(--steel);text-transform:uppercase}
.bprice{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-size:1.02rem;
  font-weight:500;letter-spacing:-.03em}
.bper{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-size:.9rem;color:var(--steel)}
.bvend{display:flex;align-items:center;gap:.4rem;font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:var(--steel)}
.pips{display:inline-flex;gap:2px}
.pip{width:5px;height:13px;background:var(--line);border-radius:1px}
.pip.on{background:var(--signal)}
.best{display:inline-flex;align-items:center;gap:.38rem;font-family:"IBM Plex Mono",monospace;
  font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;color:var(--signal-ink);
  background:var(--signal-soft);padding:.24rem .5rem;border-radius:2px;white-space:nowrap}
.arrow{color:var(--faint);font-size:1.1rem;line-height:1}
.brow:hover .arrow{color:var(--signal)}
@media(max-width:900px){
  .bhead{display:none}
  .brow{grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:.35rem .9rem;padding:1rem 1.05rem}
  .bn{grid-column:1/2}
  .bcat{grid-column:1/2;order:5}
  .bprice{grid-column:2/3;grid-row:1;text-align:right}
  .bper{grid-column:2/3;text-align:right;order:4}
  .bvend{grid-column:1/2;order:6}
  .brow .arrow{display:none}
}

/* ---------- cards / lanes ---------- */
.grid{display:grid;gap:1.15rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.55rem;
  box-shadow:var(--shadow);display:flex;flex-direction:column}
.card h3{margin-bottom:.5rem}
.card p{color:var(--steel);font-size:.925rem;margin-bottom:1rem}
.card .btn{margin-top:auto;align-self:flex-start}
.lane{position:relative;overflow:hidden}
.lane .rank{position:absolute;top:0;right:0;font-family:"IBM Plex Mono",monospace;font-size:.6rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:.7rem .9rem}
.lane .facts{list-style:none;margin:0 0 1.15rem;padding:0;display:flex;flex-direction:column;gap:.42rem}
.lane .facts li{font-size:.86rem;color:var(--ink-2);padding-left:1.1rem;position:relative;line-height:1.45}
.lane .facts li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:1px;background:var(--signal)}
.lane.first{border-color:color-mix(in srgb,var(--signal) 40%,var(--line));
  box-shadow:var(--shadow-lift),inset 0 2px 0 var(--signal)}
.codebox{display:flex;align-items:center;gap:.6rem;background:var(--amber-soft);
  border:1px dashed color-mix(in srgb,var(--amber) 45%,transparent);border-radius:var(--r);
  padding:.6rem .8rem;margin:0 0 1.1rem}
.codebox .c{font-family:"IBM Plex Mono",monospace;font-weight:600;letter-spacing:.11em;color:var(--amber);font-size:.95rem}
.codebox .t{font-size:.76rem;color:var(--steel)}

/* ---------- dark band ---------- */
.band{background:var(--deep);color:var(--on-deep);border-top:1px solid var(--deep-line);border-bottom:1px solid var(--deep-line)}
.band h2{color:#fff}
.band p{color:var(--on-deep-2)}
.band .sec-head{border-bottom-color:var(--deep-line)}
.band .sec-head .r{color:var(--on-deep-2)}
.band .card{background:var(--deep-2);border-color:var(--deep-line);box-shadow:none}
.band .card h3{color:#fff}
.band .card p{color:var(--on-deep-2)}

/* ---------- method / prose ---------- */
.prose{max-width:70ch}
.prose h3{margin:2rem 0 .6rem}
.prose ol,.prose ul{padding-left:1.2rem;color:var(--ink-2)}
.prose li{margin-bottom:.5rem}
.note{border-left:2px solid var(--amber);background:var(--amber-soft);padding:1.05rem 1.3rem;
  border-radius:0 var(--r) var(--r) 0;margin:1.6rem 0;font-size:.93rem;color:var(--ink-2)}
.note b{color:var(--ink)}

/* ---------- compound page ---------- */
.cbanner{position:relative;height:clamp(150px,20vw,230px);overflow:hidden;background:var(--deep)}
.cbanner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
  filter:saturate(1.12) contrast(1.04);animation:drift 40s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){.cbanner img{animation:none}}
.cbanner .scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,14,12,.14) 0%,rgba(8,14,12,.06) 38%,
    color-mix(in srgb,var(--paper) 55%,transparent) 72%,var(--paper) 100%)}
.crumbs{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--faint);padding:1.1rem 0 0}
.crumbs a{color:var(--faint);text-decoration:none}
.crumbs a:hover{color:var(--signal)}
.chead{padding:1.1rem 0 2.2rem;border-bottom:1px solid var(--line)}
.chead .aka a{color:var(--faint)}
.chead h1{font-size:clamp(2.2rem,5vw,3.5rem)}
.chead .aka{font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--faint);margin:.7rem 0 0;letter-spacing:.02em}
.verdict{display:grid;grid-template-columns:1fr auto;gap:1.6rem;align-items:center;
  background:var(--card);border:1px solid color-mix(in srgb,var(--signal) 35%,var(--line));
  border-left:3px solid var(--signal);border-radius:var(--r);padding:1.35rem 1.6rem;margin:2rem 0;box-shadow:var(--shadow)}
.verdict .k{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--signal-ink);margin-bottom:.4rem}
.verdict .h{font-size:1.28rem;font-weight:700;line-height:1.3;margin-bottom:.3rem}
.verdict .s{color:var(--steel);font-size:.9rem}
@media(max-width:700px){.verdict{grid-template-columns:1fr}}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--shadow)}
table.px{width:100%;border-collapse:collapse;min-width:660px}
table.px th{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--faint);text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);background:var(--card-2);font-weight:400}
table.px td{padding:.85rem 1rem;border-bottom:1px solid var(--line-2);vertical-align:middle;font-size:.93rem}
table.px tr:last-child td{border-bottom:0}
table.px tr.win td{background:var(--signal-soft)}
table.px td.n{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
table.px .v{font-weight:700}
table.px .p{color:var(--steel);font-size:.82rem;max-width:30ch}
.oos{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}

/* ---------- faq ---------- */
.faq details{border-bottom:1px solid var(--line);padding:1rem 0}
.faq summary{cursor:pointer;font-weight:700;font-size:1.02rem;list-style:none;display:flex;
  justify-content:space-between;gap:1rem;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--signal);font-family:"IBM Plex Mono",monospace;font-size:1.1rem}
.faq details[open] summary::after{content:"\2212"}
.faq p{margin:.75rem 0 0;color:var(--steel);font-size:.94rem;max-width:74ch}

/* ---------- house ads ---------- */
.house{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem}
@media(max-width:760px){.house{grid-template-columns:1fr}}
.ad{position:relative;border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.6rem;
  background:var(--card-2);display:flex;flex-direction:column;gap:.55rem}
.ad .k{font-family:"IBM Plex Mono",monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.ad h3{font-size:1.22rem}
.ad p{margin:0;color:var(--steel);font-size:.9rem}
.ad a.go{margin-top:.5rem;font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;color:var(--signal-ink)}
.ad a.go:hover{color:var(--signal)}

/* ---------- footer ---------- */
footer.site{background:var(--deep);color:var(--on-deep-2);padding:3.4rem 0 2.4rem;margin-top:0;
  border-top:1px solid var(--deep-line)}
footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.4rem}
@media(max-width:820px){footer.site .cols{grid-template-columns:1fr 1fr}}
footer.site h4{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.17em;
  text-transform:uppercase;color:#fff;margin:0 0 .85rem;font-weight:400}
footer.site a{color:var(--on-deep-2);text-decoration:none;font-size:.86rem;display:block;margin-bottom:.42rem}
footer.site a:hover{color:#fff}
footer.site p{font-size:.83rem;line-height:1.6}
.legal{border-top:1px solid var(--deep-line);padding-top:1.5rem;font-size:.76rem;color:#6F827B;max-width:90ch}
.legal b{color:var(--on-deep-2)}


/* ---------- overflow guards ---------- */
.sec-head .r{max-width:100%}
.hero .wrap,.ticker .wrap,section .wrap{min-width:0}
@media(max-width:520px){
  body{font-size:16px}
  .hero .lede{font-size:1rem}
  .acts .btn{flex:1 1 100%}
  .tk{padding:.95rem 1rem}
  .tk .v{font-size:1.25rem}
  .verdict{padding:1.15rem 1.15rem}
  .verdict .h{font-size:1.1rem}
}


/* ---------- value score ---------- */
.vscore{display:inline-flex;align-items:center;gap:.5rem}
.vnum{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-weight:600;
  font-size:.95rem;letter-spacing:-.02em;color:var(--ink);min-width:2.3rem}
.vbar{position:relative;width:52px;height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.vbar i{position:absolute;inset:0 auto 0 0;background:var(--signal);border-radius:3px}
.vbar.mid i{background:var(--amber)}
.vbar.low i{background:var(--faint)}
.chip{display:inline-flex;align-items:center;gap:.35rem;font-family:"IBM Plex Mono",monospace;
  font-size:.6rem;letter-spacing:.11em;text-transform:uppercase;padding:.26rem .52rem;
  border-radius:2px;white-space:nowrap;font-weight:500}
.chip-buy{background:var(--signal);color:#fff}
:root[data-theme="dark"] .chip-buy{color:#06120D}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip-buy{color:#06120D}}
.chip-low{background:var(--amber-soft);color:var(--amber);
  border:1px solid color-mix(in srgb,var(--amber) 34%,transparent)}
.chip-ghost{background:transparent;color:var(--faint);border:1px solid var(--line)}
table.px tr.buy td{background:var(--signal-soft)}
table.px tr.buy td:first-child{box-shadow:inset 3px 0 0 var(--signal)}
.score-why{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:1.1rem 0 0}
.score-why div{background:var(--card);padding:.85rem .95rem}
.score-why .k{font-family:"IBM Plex Mono",monospace;font-size:.57rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--faint);margin-bottom:.3rem}
.score-why .v{font-family:"IBM Plex Mono",monospace;font-size:1.05rem;font-weight:600;letter-spacing:-.02em}
.score-why .v small{color:var(--faint);font-weight:400;font-size:.66rem;margin-left:.15rem}
@media(max-width:700px){.score-why{grid-template-columns:repeat(2,1fr)}}
.eff{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--signal-ink);display:block}
