
:root{
  --bg:#eef2f6; --bgSoft:#f4f7fa; --panel:#ffffff; --ink:#18222e; --muted:#586675;
  --line:#dde3ea; --lineStrong:#bcc6d1; --accent:#0f6e62; --accent2:#16a18d;
  --accentSoft:#e1f1ee; --accentText:#0a4a43; --danger:#b1462f; --dangerBg:#fbe7e1;
  --shadow:0 16px 36px rgba(24,40,60,.10); --shadowSoft:0 6px 16px rgba(24,40,60,.06);
  --maxw:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;color:var(--ink);font:15px/1.55 "Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;
  background:radial-gradient(1100px 520px at 80% -8%,rgba(255,255,255,.9),transparent 55%),linear-gradient(180deg,#f5f8fb 0%,#eef2f6 48%,#e6ebf1 100%);}
h1,h2,h3,h4{font-family:"Inter","Segoe UI Variable","Segoe UI",system-ui,sans-serif;letter-spacing:-.012em;line-height:1.2;margin:0 0 .4em}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px;width:100%}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.lead{color:var(--muted);font-size:1.05rem;max-width:60ch}
.eyebrow{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;margin:0 0 6px}
.sec-h{margin:28px 0 12px;font-size:1.25rem}
:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(15,110,98,.22);border-radius:8px}

/* nav */
.site-head{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}
.brand{display:inline-flex;align-items:center;gap:9px;font-weight:700;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#eafaf6;font-weight:800;
  background:linear-gradient(135deg,#1bb39c,#0f6e62 55%,#0a3f39)}
.brand-name{letter-spacing:.01em}
.nav-links{display:flex;gap:4px}
.nav-links a{padding:8px 12px;border-radius:10px;color:var(--ink);font-weight:600;font-size:.93rem}
.nav-links a:hover{background:var(--accentSoft);color:var(--accentText);text-decoration:none}
.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;font-weight:700;color:var(--ink);cursor:pointer}

/* breadcrumb */
.crumbs{padding:12px 18px 0;font-size:.82rem;color:var(--muted)}
.crumbs a{color:var(--muted)}
.crumbs .sep{opacity:.5;margin:0 2px}

/* hero */
.hero{padding:38px 0 26px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.5),transparent)}
.hero h1{font-size:clamp(1.9rem,5vw,2.7rem);margin:.1em 0 .25em}
.hero-search{display:flex;gap:8px;margin:18px 0 14px;max-width:520px}
.hero-search .inp{flex:1}
.hero-actions{display:flex;gap:8px;flex-wrap:wrap}

/* page */
.page{padding:18px 18px 56px}
.page-head{margin:6px 0 18px}
.page-head h1{font-size:clamp(1.6rem,4.5vw,2.1rem)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border:1px solid var(--line);
  background:#fff;color:var(--ink);border-radius:12px;font-weight:600;font-size:.9rem;cursor:pointer;transition:.15s}
.btn:hover{border-color:var(--accent);background:var(--accentSoft);color:var(--accentText);text-decoration:none}
.btn.primary{background:linear-gradient(135deg,#0f6e62,#0a4a43);border-color:#0a4a43;color:#eafaf6}
.btn.primary:hover{filter:brightness(1.06);color:#fff}

/* chips & badges */
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{display:inline-flex;align-items:center;padding:5px 11px;border:1px solid var(--line);background:var(--bgSoft);color:var(--muted);
  border-radius:999px;font-size:.78rem;font-weight:600}
a.chip:hover{border-color:var(--accent);background:var(--accentSoft);color:var(--accentText);text-decoration:none}
.badges{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}
.badge{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;font-size:.76rem;font-weight:650;border:1px solid var(--line)}
.badge.type{background:#fff;color:var(--muted)}
.st-approved-drug{background:#e2f1ec;color:#0c5446;border-color:rgba(15,110,98,.24)}
.st-investigational{background:#f6edd6;color:#7c560f;border-color:rgba(143,97,19,.24)}
.st-research-peptide{background:#e9e9f4;color:#4a4a78;border-color:rgba(74,74,120,.22)}
.st-reference-compound{background:#e4edf7;color:#335c81;border-color:rgba(52,95,134,.22)}
.st-blend{background:#e2f1ec;color:#0c5446;border-color:rgba(15,110,98,.24)}

/* blocks/cards */
.block{background:linear-gradient(180deg,#fff,#fbfdfe);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:14px 0;box-shadow:var(--shadowSoft)}
.block h2{font-size:1.05rem;color:var(--accent);margin:0 0 10px}
.block ul,.block ol{margin:0;padding-left:20px}
.block li+li{margin-top:5px}
.block.hl{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.aliases{margin-top:8px}

/* dosing lists */
.dose-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.dose-list li{padding:9px 12px;background:var(--bgSoft);border:1px solid var(--line);border-radius:10px;border-left:3px solid var(--accentSoft)}
.dose-list .dt,.dt{display:inline-block;font-weight:700;color:var(--accent);margin-right:6px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:7px}
.steps li{padding-left:30px;position:relative}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:21px;height:21px;border-radius:7px;
  background:var(--accentSoft);color:var(--accentText);font-size:.72rem;font-weight:700;display:grid;place-items:center}

/* formats */
.fmt{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:12px;padding:12px;margin-top:10px;background:#fff}
.fmt-label{font-weight:700;margin-bottom:8px}
.fmt-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}
.kv{font-size:.78rem;background:var(--bgSoft);border:1px solid var(--line);border-radius:8px;padding:4px 9px;color:var(--muted)}
.kv b{color:var(--ink);margin-right:4px}

/* category grid */
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:6px}
.catcard{display:block;background:#fff;border:1px solid var(--line);border-left:3px solid transparent;border-radius:14px;padding:14px;box-shadow:var(--shadowSoft);transition:.15s;color:var(--ink)}
.catcard:hover{transform:translateY(-1px);border-left-color:var(--accent);box-shadow:var(--shadow);text-decoration:none}
.catcard-top{display:flex;align-items:center;gap:9px}
.catcard-top h3{margin:0;font-size:1rem;flex:1}
.catcard .dot{width:8px;height:8px;border-radius:3px;background:var(--lineStrong)}
.catcard:hover .dot{background:var(--accent)}
.catcard .count{font-size:.74rem;color:var(--muted);background:var(--bgSoft);border-radius:999px;padding:2px 9px}

/* goal grid */
.goalgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.goalcard{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:var(--shadowSoft);transition:.15s;color:var(--ink)}
.goalcard:hover{transform:translateY(-1px);box-shadow:var(--shadow);text-decoration:none}
.goalcard h3{font-size:1.02rem;margin:0 0 6px}

/* peptide index */
.filters-bar{display:grid;grid-template-columns:1fr 170px 190px auto;gap:10px;margin:10px 0}
.filters-bar .inp{grid-column:1/-1}
.inp,.sel{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:11px 13px;font:inherit}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:8px}
.pcard{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadowSoft);transition:.15s;color:var(--ink)}
.pcard:hover{transform:translateY(-1px);box-shadow:var(--shadow);text-decoration:none}
.pcard-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.pcard-top h3{margin:0;font-size:1.02rem}
.empty{padding:20px;text-align:center;color:var(--muted)}
.hidden{display:none!important}

/* tables */
.table-wrap{overflow-x:auto}
.ctable{width:100%;border-collapse:collapse;font-size:.92rem}
.ctable th,.ctable td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}
.ctable th{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

/* CTA */
.cta-zone{display:flex;flex-direction:column;gap:2px;border:1px dashed var(--lineStrong);border-radius:14px;padding:14px 16px;margin:16px 0;background:var(--bgSoft)}
.cta-zone strong{color:var(--ink)}
.calc-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid rgba(15,110,98,.2);
  background:linear-gradient(180deg,#fff,#ecf6f4);border-radius:14px;padding:14px 16px;margin:16px 0}
.units-note{background:var(--accentSoft);border:1px solid rgba(15,110,98,.2);color:var(--accentText);border-radius:12px;padding:10px 13px;font-size:.9rem;margin-top:12px}

/* faq */
.faq{border:1px solid var(--line);border-radius:12px;margin:8px 0;background:#fff;overflow:hidden}
.faq summary{cursor:pointer;padding:12px 14px;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq[open] summary{border-bottom:1px solid var(--line)}
.faq p{margin:0;padding:12px 14px;color:var(--muted)}

/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) 360px;gap:16px;align-items:start;margin-top:8px}
.calc-stages{display:grid;gap:12px}
.stage{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.stage h3{font-size:.95rem;margin:0 0 10px}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:8px}
.choice{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 10px;font:inherit;cursor:pointer;text-align:left;min-height:42px}
.choice strong{display:block;font-size:.86rem}
.choice small{color:var(--muted);font-size:.72rem}
.choice.active{background:var(--accentSoft);border-color:var(--accent);color:var(--accentText)}
.other{display:none;margin-top:10px}
.other.show{display:block}
.other label{display:block;font-size:.78rem;color:var(--muted);margin-bottom:5px}
.other .row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px}
.result{position:sticky;top:74px;background:linear-gradient(180deg,#fff,#ecf6f4);border:1px solid rgba(15,110,98,.2);border-radius:16px;padding:16px;box-shadow:0 18px 38px rgba(15,110,98,.14)}
.ans{background:linear-gradient(135deg,#0f6e62,#0a4a43);color:#ebfaf6;border-radius:13px;padding:14px;font-size:1rem;line-height:1.45}
.rgrid{display:grid;gap:9px;margin-top:12px}
.ritem{border:1px solid rgba(15,110,98,.14);background:rgba(15,110,98,.06);border-radius:11px;padding:10px 12px}
.ritem strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:3px}
.svgwrap{margin-top:12px;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;transition:border-color .15s,background .15s}
.svgwrap svg{width:100%;height:auto;display:block}
.svgwrap.over{border-color:rgba(194,69,47,.45);background:#fdf3f1}
.warnbox{margin-top:12px;border-radius:12px;padding:12px;background:var(--dangerBg);color:var(--danger);border:1px solid rgba(177,70,47,.22);font-size:.88rem}

/* footer */
.site-foot{border-top:1px solid var(--line);background:rgba(255,255,255,.6);margin-top:30px;padding:26px 0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}
.foot-grid h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 8px}
.foot-grid a{display:block;color:var(--ink);padding:3px 0;font-size:.9rem}
.disclaimer{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}

@media(max-width:860px){
  .calc{grid-template-columns:1fr}
  .result{position:relative;top:auto}
  .foot-grid{grid-template-columns:1fr 1fr}
  .filters-bar{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .nav-toggle{display:inline-flex}
  .nav-links{position:absolute;left:0;right:0;top:58px;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--line);
    padding:8px;display:none;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px;border-radius:10px}
  .foot-grid{grid-template-columns:1fr}
  .block.hl,.calc-cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:430px){
  .wrap{padding:0 13px}
  .filters-bar{grid-template-columns:1fr}
  .catgrid,.goalgrid,.pgrid{grid-template-columns:1fr}
  .hero-search{flex-direction:column}
}
