@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --paper:#f2f0e9; --ink:#1e2521; --muted:#737a71; --line:#d8d8ce; --accent:#65866e; --deep:#26332c; --soft:#e3e8df; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,system-ui,sans-serif; font-size:15px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
a, button { transition:color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease; }
a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.site-noise { position:fixed; inset:0; opacity:.025; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.site-header { max-width:1240px; margin:auto; padding:28px 32px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { display:inline-flex; align-items:center; gap:10px; font-size:16px; font-weight:800; letter-spacing:-.04em; }
.mark { display:grid; place-items:center; width:25px; height:25px; background:var(--deep); color:var(--paper); font-size:13px; font-weight:800; letter-spacing:0; }
.site-nav { display:flex; align-items:center; gap:28px; color:#596159; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.site-nav a:hover { color:var(--accent); }
.nav-private { border:1px solid var(--line); padding:9px 13px; color:var(--ink)!important; }
.nav-private:hover { border-color:var(--accent); transform:translateY(-1px); }
.page-wrap { max-width:1176px; margin:0 auto; padding-left:32px; padding-right:32px; }
.hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:80px; padding-top:105px; padding-bottom:132px; }
.eyebrow, .metric-label, .panel-top, .panel-bottom, .feature-top, .footer-note span, .workspace-line span { color:var(--muted); font-family:'DM Mono',monospace; font-size:10px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 26px; }
.status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px rgba(101,134,110,.13); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:800px; margin-bottom:29px; font-size:clamp(46px,7vw,88px); line-height:.98; letter-spacing:-.08em; font-weight:700; }
h2 { font-size:clamp(32px,4vw,55px); line-height:1; letter-spacing:-.07em; font-weight:700; }
h3 { letter-spacing:-.04em; }
.hero-lede { max-width:550px; color:#5f675f; font-size:18px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:25px; margin-top:42px; }
.button { display:inline-flex; align-items:center; gap:28px; padding:14px 17px; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.button-primary { background:var(--deep); color:var(--paper); }
.button-primary:hover { background:#384b40; transform:translateY(-2px); }
.text-link { font-size:12px; font-weight:700; border-bottom:1px solid var(--ink); padding-bottom:3px; }
.text-link:hover { color:var(--accent); border-color:var(--accent); }
.hero-aside { padding-top:38px; }
.signal-panel { background:var(--deep); color:var(--paper); padding:24px; min-height:300px; display:flex; flex-direction:column; justify-content:space-between; }
.panel-top,.panel-bottom { display:flex; justify-content:space-between; color:#a9b7ac; }
.live-label { color:#c4d4c6; }.live-label .status-dot { margin-right:5px; }
.signal-number { margin-top:34px; font-size:88px; line-height:.9; letter-spacing:-.1em; }.signal-unit { font-size:30px; letter-spacing:-.06em; color:#a9b7ac; }
.signal-panel p { color:#acb9af; font-size:12px; line-height:1.6; }.signal-bars { display:flex; align-items:end; gap:4px; height:34px; margin:14px 0; }.signal-bars i { display:block; width:100%; background:var(--accent); opacity:.78; height:calc(15% + var(--i, 1)*6%); }.signal-bars i:nth-child(2n){height:46%}.signal-bars i:nth-child(3n){height:78%}.signal-bars i:nth-child(5n){height:58%}.signal-bars i:nth-child(7n){height:92%}
.aside-caption { max-width:265px; margin:18px 0 0 auto; color:var(--muted); font-size:11px; line-height:1.7; }
.index-section { padding-bottom:130px; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:43px; }.section-heading h2 { margin-bottom:0; }.section-description { max-width:360px; margin:0 0 4px; color:var(--muted); font-size:13px; line-height:1.7; }
.index-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; }.peptide-feature { min-height:385px; padding:24px; background:#dfe6dd; display:flex; flex-direction:column; justify-content:space-between; }.peptide-feature:hover { background:#d4dfd3; transform:translateY(-3px); }.feature-top { display:flex; justify-content:space-between; color:#728276; }.peptide-feature h3 { margin:0 0 5px; font-size:60px; letter-spacing:-.09em; line-height:1; }.peptide-feature p { color:#5d695e; font-size:12px; }.feature-foot { display:flex; justify-content:space-between; align-items:end; border-top:1px solid #becbbf; padding-top:15px; color:#627065; font-size:11px; }.feature-foot strong { color:var(--ink); font-size:13px; }.coming-soon { min-height:385px; padding:24px; border:1px solid var(--line); display:grid; grid-template-columns:60px 1fr; gap:25px; align-items:end; }.coming-number { font-family:'DM Mono',monospace; color:var(--accent); font-size:13px; align-self:start; }.coming-soon h3 { font-size:31px; line-height:1.08; margin-bottom:17px; }.coming-soon p:last-child { max-width:235px; color:var(--muted); font-size:12px; }
.method-section { padding:112px 32px 128px; display:grid; grid-template-columns:1fr 1fr; gap:90px; border-top:1px solid var(--line); }.method-section h2 { margin:0; }.method-list { border-top:1px solid var(--line); }.method-list>div { display:grid; grid-template-columns:55px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }.method-list span { color:var(--accent); font-family:'DM Mono',monospace; font-size:11px; }.method-list h3 { margin-bottom:6px; font-size:15px; }.method-list p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.site-footer { max-width:1176px; margin:auto; padding:37px 32px 60px; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; border-top:1px solid var(--line); }.site-footer p { max-width:220px; margin:14px 0 0; color:var(--muted); font-size:11px; line-height:1.7; }.footer-note span { display:block; }.footer-note p .status-dot { margin-right:7px; }
.report-hero { padding-top:65px; padding-bottom:80px; }.back-link { display:inline-block; margin-bottom:75px; color:var(--muted); font-size:11px; }.back-link:hover { color:var(--accent); }.report-hero h1 { font-size:clamp(50px,8vw,105px); margin-bottom:24px; }.report-hero .hero-lede { margin-bottom:48px; }.metric-grid { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }.metric-grid-three { grid-template-columns:repeat(3,1fr); }.metric-grid-four { grid-template-columns:repeat(4,1fr); }.metric { min-height:132px; padding:20px; background:var(--paper); display:flex; flex-direction:column; justify-content:space-between; }.metric strong { font-size:31px; letter-spacing:-.07em; line-height:1; }.metric small { color:var(--muted); font-size:10px; }.report-body { padding-top:65px; padding-bottom:90px; border-top:1px solid var(--line); }.compact { align-items:start; margin-bottom:34px; }.compact h2 { font-size:37px; }.vendor-table { border-top:1px solid var(--line); }.vendor-row { display:grid; grid-template-columns:65px 1fr 160px 35px; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }.vendor-row:hover { padding-left:8px; background:rgba(223,230,221,.4); }.rank { color:var(--accent); font-family:'DM Mono',monospace; font-size:12px; }.vendor-name strong,.vendor-meta b { display:block; font-size:15px; }.vendor-name small,.vendor-meta small { display:block; color:var(--muted); font-size:11px; }.vendor-meta { text-align:right; }.vendor-arrow { color:var(--accent); font-size:21px; }.vendor-layout { display:grid; grid-template-columns:1fr 300px; gap:100px; }.direction-line { height:12px; background:#d5d9d1; margin:38px 0 17px; }.direction-fill { display:block; width:72%; height:100%; background:var(--accent); }.fine-print,.report-aside p { color:var(--muted); font-size:11px; line-height:1.7; }.report-aside { border-left:1px solid var(--line); padding-left:30px; }.report-aside strong { display:block; margin:24px 0 10px; font-size:30px; letter-spacing:-.08em; }.notice-section { display:flex; gap:20px; padding-top:28px; padding-bottom:100px; border-top:1px solid var(--line); }.notice-icon { flex:0 0 25px; display:grid; place-items:center; height:25px; border:1px solid var(--accent); color:var(--accent); font-family:Georgia,serif; font-style:italic; }.notice-section h3 { margin-bottom:4px; font-size:14px; }.notice-section p { max-width:650px; color:var(--muted); font-size:11px; line-height:1.7; }
.private-gate { min-height:620px; padding-top:105px; padding-bottom:140px; }.gate-mark { display:grid; place-items:center; width:48px; height:48px; margin-bottom:55px; background:var(--deep); color:var(--paper); font-size:21px; font-weight:800; }.private-gate h1 { font-size:clamp(55px,8vw,100px); }.private-gate .hero-lede { margin-bottom:55px; }.workspace-line { max-width:620px; display:flex; justify-content:space-between; padding:16px 0; border-top:1px solid var(--line); }.workspace-line strong { font-size:12px; }.workspace-line .status-dot { margin-right:8px; }
@media (max-width:760px) { .site-header { padding:20px; }.site-nav { gap:12px; font-size:9px; }.site-nav a:nth-child(2) { display:none; }.nav-private { padding:8px; }.page-wrap { padding-left:20px; padding-right:20px; }.hero { display:block; padding-top:70px; padding-bottom:90px; }.hero-aside { padding-top:65px; }.signal-number { font-size:72px; }.section-heading,.method-section,.site-footer,.vendor-layout { display:block; }.section-description { margin-top:22px; }.index-section { padding-bottom:90px; }.index-grid { grid-template-columns:1fr; }.peptide-feature,.coming-soon { min-height:300px; }.peptide-feature h3 { font-size:50px; }.method-section { padding:80px 20px; }.method-list { margin-top:55px; }.site-footer { padding:35px 20px; }.footer-note { margin-top:28px; }.metric-grid-three,.metric-grid-four { grid-template-columns:1fr 1fr; }.metric { min-height:120px; }.metric strong { font-size:24px; }.report-hero { padding-top:45px; padding-bottom:60px; }.back-link { margin-bottom:55px; }.report-body { padding-top:55px; }.vendor-row { grid-template-columns:35px 1fr 30px; gap:10px; }.vendor-meta { display:none; }.report-aside { border-left:0; border-top:1px solid var(--line); padding:28px 0 0; margin-top:50px; }.private-gate { min-height:580px; padding-top:80px; }.workspace-line { display:block; }.workspace-line strong { display:block; margin-top:8px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }

.vendor-index-row { grid-template-columns:65px 1fr 130px 130px 35px; }
.badge-row { display:flex; flex-wrap:wrap; gap:8px; margin:-8px 0 26px; }
.badge { display:inline-block; padding:3px 9px; border:1px solid var(--line); color:var(--muted); font-family:'DM Mono',monospace; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.badge-claimed { border-color:var(--accent); color:var(--accent); }
.badge-pro { background:var(--deep); border-color:var(--deep); color:var(--paper); }
.badge-caution { border-color:#a3543c; color:#a3543c; }
.badge-good { border-color:var(--accent); color:var(--accent); }
.badge-bad { border-color:#a3543c; color:#a3543c; }
.badge-unknown { border-color:var(--line); color:var(--muted); }
.community-form { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.community-form label { display:flex; flex-direction:column; gap:6px; color:var(--muted); font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.community-form input, .community-form select, .community-form textarea { min-width:220px; padding:12px 14px; border:1px solid var(--line); background:var(--paper); font-size:13px; }
.community-form-wide { flex-basis:100%; }
.community-form-wide textarea { width:100%; max-width:640px; }
.tab-nav { display:flex; flex-wrap:wrap; gap:4px; padding-top:10px; padding-bottom:10px; border-top:1px solid var(--line); }
.sort-nav { display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin-bottom:26px; }
.sort-nav .eyebrow { margin:0 12px 0 0; }
.tab-link { padding:8px 14px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.tab-link:hover { color:var(--ink); }
.tab-active { background:var(--deep); color:var(--paper); }
.tab-active:hover { color:var(--paper); }
.profile-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1px; margin:0 0 26px; background:var(--line); border:1px solid var(--line); }
.profile-grid>div { padding:16px; background:var(--paper); }
.profile-grid .eyebrow { margin-bottom:10px; }
.profile-grid strong { font-size:15px; letter-spacing:-.02em; }
.empty-index { padding:70px 0; }
.empty-index h3 { max-width:420px; font-size:28px; line-height:1.1; }
.empty-index p:last-child { max-width:380px; color:var(--muted); font-size:12px; }
@media (max-width:760px) { .vendor-index-row { grid-template-columns:35px 1fr 30px; } }
.data-table { width:100%; border-top:1px solid var(--line); border-collapse:collapse; font-size:13px; }
.data-table th { padding:12px 10px 12px 0; text-align:left; color:var(--muted); font-family:'DM Mono',monospace; font-size:10px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.data-table td { padding:14px 10px 14px 0; border-bottom:1px solid var(--line); vertical-align:top; }
.data-table tr.data-total td { font-weight:800; font-size:15px; }
.sparkline-box { max-width:220px; text-align:right; }
.sparkline { width:180px; height:48px; color:var(--accent); }
.compare-form { display:flex; flex-wrap:wrap; gap:12px; margin-top:42px; }
.compare-form input { min-width:240px; padding:12px 14px; border:1px solid var(--line); background:var(--paper); font-size:13px; }
.sort-nav select, .sort-nav input { padding:8px 12px; border:1px solid var(--line); background:var(--paper); font-size:12px; }
