/* Peptide Brand Partners — shared home/section styles (navy #0B1F3A, chrome #C3CBD6) */
.pbp { --navy:#0B1F3A; --chrome:#C3CBD6; --chrome-light:#E6EAF0; --chrome-mid:#8E99A8; --pale:#F4F6F9;
  font-family:'Montserrat',var(--ff-body),sans-serif; color:var(--navy); padding:112px 0; }
.pbp *, .pbp *::before, .pbp *::after { box-sizing:border-box; }
.pbp--dark { background:var(--navy); color:#fff; }
.pbp--pale { background:var(--pale); }
.pbp--white { background:#fff; }
.pbp__wrap { max-width:1240px; margin:0 auto; padding:0 40px; }
.pbp__eyebrow { font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--chrome-mid); margin:0 0 18px; display:inline-flex; align-items:center; gap:10px; }
.pbp--dark .pbp__eyebrow { color:var(--chrome); }
.pbp__h2 { font-weight:600; font-size:clamp(30px,3.4vw,48px); line-height:1.1; letter-spacing:-.02em; margin:0 0 18px; }
.pbp__lead { font-size:17px; line-height:1.65; max-width:640px; margin:0; opacity:.86; }
.pbp__head { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:56px; flex-wrap:wrap; }
.pbp__btn { display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:999px; font-weight:600; font-size:14px; text-decoration:none; border:1.5px solid currentColor; transition:opacity .15s; white-space:nowrap; }
.pbp__btn:hover { opacity:.85; }
.pbp__btn--solid { background:var(--navy); color:#fff; border-color:var(--navy); }
.pbp--dark .pbp__btn--solid { background:#fff; color:var(--navy); border-color:#fff; }
.pbp__btn--ghost { background:transparent; color:inherit; }
.pbp__link { font-weight:600; color:inherit; text-decoration:underline; text-underline-offset:4px; }
.pbp__img { display:block; width:100%; height:100%; object-fit:cover; border-radius:18px; }
.pbp__mono { font-family:'IBM Plex Mono',monospace; }
.pbp__grid { display:grid; gap:24px; }
@media (max-width:991px){ .pbp { padding:80px 0; } .pbp__wrap { padding:0 24px; } }
@media (max-width:767px){ .pbp { padding:64px 0; } .pbp__wrap { padding:0 20px; } .pbp__head { margin-bottom:36px; } }

/* Hero */
.pbp-hero { padding:0; position:relative; overflow:hidden; }
.pbp-hero__ticker { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.2em; color:var(--chrome); opacity:.6; white-space:nowrap; padding:14px 0; border-bottom:1px solid rgba(195,203,214,.18); }
.pbp-hero__inner { display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; padding:88px 0 96px; }
.pbp-hero__title { font-weight:300; font-size:clamp(40px,5.2vw,76px); line-height:1.02; letter-spacing:-.03em; margin:0 0 24px; }
.pbp-hero__title strong { font-weight:600; }
.pbp-hero__sub { font-size:18px; line-height:1.6; max-width:560px; opacity:.85; margin:0 0 36px; }
.pbp-hero__ctas { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px; }
.pbp-hero__trust { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; font-size:14px; }
.pbp-hero__trust li { display:flex; gap:10px; align-items:center; }
.pbp-hero__trust li::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--chrome); flex-shrink:0; }
.pbp-hero__media { position:relative; aspect-ratio:4/5; }
.pbp-hero__try { position:absolute; left:20px; bottom:20px; background:rgba(11,31,58,.82); color:#fff; padding:10px 16px; border-radius:999px; font-size:13px; font-weight:600; }
.pbp-hero__scroll { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.24em; opacity:.6; text-align:center; padding-bottom:28px; }
@media (max-width:991px){ .pbp-hero__inner { grid-template-columns:1fr; padding:56px 0 64px; } .pbp-hero__media { aspect-ratio:4/3; } }
@media (max-width:767px){ .pbp-hero__trust { grid-template-columns:1fr; } }

/* Serve */
.pbp-serve__grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.pbp-serve__media { position:sticky; top:110px; aspect-ratio:4/3; }
.pbp-serve__caption { font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--chrome-mid); margin-top:12px; }
.pbp-serve__list { list-style:none; margin:0; padding:0; border-top:1px solid var(--chrome); }
.pbp-serve__item { display:grid; grid-template-columns:48px 1fr; gap:16px; padding:22px 0; border-bottom:1px solid var(--chrome); }
.pbp-serve__num { font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--chrome-mid); padding-top:3px; }
.pbp-serve__item h3 { margin:0 0 6px; font-size:20px; font-weight:600; }
.pbp-serve__item p { margin:0; font-size:15px; line-height:1.55; opacity:.8; }
.pbp-serve__item > div { display:grid; grid-template-columns:1fr 120px; gap:4px 20px; align-items:start; }
.pbp-serve__item > div > h3, .pbp-serve__item > div > p { grid-column:1; }
.pbp-serve__thumb { grid-column:2; grid-row:1 / span 2; aspect-ratio:4/3; }
.pbp-serve__thumb .pbp__img { border-radius:10px; }
@media (max-width:991px){ .pbp-serve__grid { grid-template-columns:1fr; } .pbp-serve__media { position:static; } }

/* Partnership */
.pbp-part__cols { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; align-items:stretch; }
.pbp-part__card { border:1px solid rgba(195,203,214,.35); border-radius:18px; padding:32px; }
.pbp-part__card--light { background:#fff; color:var(--navy); border-color:#fff; }
.pbp-part__card h3 { margin:0 0 4px; font-size:20px; font-weight:600; }
.pbp-part__role { font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.12em; text-transform:uppercase; opacity:.7; margin:0 0 20px; }
.pbp-part__card ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; font-size:15px; }
.pbp-part__card li { padding-left:22px; position:relative; }
.pbp-part__card li::before { content:"✓"; position:absolute; left:0; font-size:13px; opacity:.7; }
.pbp-part__media { min-height:320px; }
.pbp-part__more { margin-top:40px; }
@media (max-width:991px){ .pbp-part__cols { grid-template-columns:1fr; } }

/* How */
.pbp-how__steps { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:step; }
.pbp-how__step { border-top:2px solid var(--navy); padding-top:24px; }
.pbp-how__n { font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--chrome-mid); margin-bottom:14px; display:block; }
.pbp-how__step h3 { margin:0 0 10px; font-size:19px; font-weight:600; line-height:1.3; }
.pbp-how__step p { margin:0; font-size:15px; line-height:1.6; opacity:.8; }
@media (max-width:991px){ .pbp-how__steps { grid-template-columns:1fr 1fr; } }
@media (max-width:767px){ .pbp-how__steps { grid-template-columns:1fr; } }

/* Capabilities */
.pbp-cap__grid { display:grid; grid-template-columns:1fr 1.2fr; gap:56px; align-items:center; }
.pbp-cap__media { aspect-ratio:1/1; }
.pbp-cap__list { list-style:none; margin:32px 0 0; padding:0; display:flex; flex-direction:column; }
.pbp-cap__item { padding:20px 0; border-bottom:1px solid var(--chrome); display:grid; grid-template-columns:240px 1fr; gap:20px; }
.pbp-cap__item h3 { margin:0; font-size:17px; font-weight:600; }
.pbp-cap__item p { margin:0; font-size:15px; line-height:1.55; opacity:.8; }
@media (max-width:991px){ .pbp-cap__grid { grid-template-columns:1fr; } .pbp-cap__item { grid-template-columns:1fr; gap:6px; } }

/* COA */
.pbp-coa__grid { display:grid; grid-template-columns:1.25fr 1fr; gap:48px; align-items:start; }
.pbp-coa__doc { background:#fff; color:#111; border-radius:6px; padding:32px; font-family:Carlito,Calibri,'Montserrat',sans-serif; font-size:12px; line-height:1.45; box-shadow:0 30px 60px -30px rgba(0,0,0,.5); position:relative; }
.pbp-coa__doc table { width:100%; border-collapse:collapse; margin:8px 0 16px; }
.pbp-coa__doc th, .pbp-coa__doc td { border-bottom:1px solid #d8dde5; padding:5px 6px; text-align:left; vertical-align:top; }
.pbp-coa__doc th { background:#eef1f5; font-weight:700; }
.pbp-coa__docmeta { display:grid; grid-template-columns:1fr 1fr; gap:4px 24px; margin-bottom:12px; }
.pbp-coa__lab { text-align:right; font-weight:700; }
.pbp-coa__doctitle { font-size:18px; font-weight:700; margin:10px 0 4px; }
.pbp-coa__docsub { font-weight:700; margin:12px 0 4px; }
.pbp-coa__note { font-style:italic; color:#444; }
.pbp-coa__dots { display:flex; gap:8px; align-items:center; margin-top:16px; font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--chrome); flex-wrap:wrap; }
.pbp-coa__dot { width:28px; height:28px; border-radius:50%; border:1px solid var(--chrome); display:inline-flex; align-items:center; justify-content:center; color:#fff; }
.pbp-coa__hint { font-size:14px; opacity:.75; margin:0 0 20px; }
.pbp-coa__callouts { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.pbp-coa__callout { border:1px solid rgba(195,203,214,.3); border-radius:14px; padding:22px; }
.pbp-coa__callout h3 { margin:0 0 4px; font-size:17px; font-weight:600; }
.pbp-coa__stat { font-size:30px; font-weight:300; margin:4px 0 8px; }
.pbp-coa__callout p { margin:0 0 8px; font-size:14px; line-height:1.55; opacity:.85; }
.pbp-coa__detail { font-family:'IBM Plex Mono',monospace; font-size:12px; opacity:.65; }
@media (max-width:991px){ .pbp-coa__grid { grid-template-columns:minmax(0,1fr); } .pbp-coa__grid > * { min-width:0; max-width:100%; } .pbp-coa__doc { padding:20px; width:100%; max-width:100%; overflow-x:auto; } }

/* Catalog */
.pbp-cat__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pbp-cat__card { background:#fff; border-radius:18px; overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.pbp-cat__media { aspect-ratio:3/4; }
.pbp-cat__media .pbp__img { border-radius:0; }
.pbp-cat__body { padding:20px; }
.pbp-cat__body h3 { margin:0 0 4px; font-size:17px; font-weight:600; }
.pbp-cat__body p { margin:0; font-size:14px; opacity:.75; }
.pbp-cat__note { margin:32px 0 0; font-size:15px; opacity:.8; }
@media (max-width:991px){ .pbp-cat__grid { grid-template-columns:1fr 1fr; } }

/* Lab */
.pbp-lab__steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; }
.pbp-lab__media { aspect-ratio:4/5; margin-bottom:16px; }
.pbp-lab__n { font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--chrome); }
.pbp-lab__step h3 { margin:4px 0 6px; font-size:18px; font-weight:600; }
.pbp-lab__step p { margin:0; font-size:14px; line-height:1.55; opacity:.8; }
.pbp-lab__close { margin:48px 0 0; font-size:16px; }
@media (max-width:991px){ .pbp-lab__steps { grid-template-columns:1fr 1fr; } }

/* Insights */
.pbp-ins__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pbp-ins__card { display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.pbp-ins__media { aspect-ratio:16/10; margin-bottom:18px; background:var(--chrome-light); border-radius:18px; overflow:hidden; }
.pbp-ins__meta { font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--chrome-mid); display:flex; gap:12px; margin-bottom:10px; }
.pbp-ins__card h3 { margin:0 0 10px; font-size:20px; font-weight:600; line-height:1.3; }
.pbp-ins__card p { margin:0 0 14px; font-size:15px; line-height:1.55; opacity:.8; }
.pbp-ins__read { font-weight:600; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:991px){ .pbp-ins__grid { grid-template-columns:1fr; } }

/* Footer */
.pbp-ft { padding:80px 0 40px; }
.pbp-ft a { color:inherit; text-decoration:none; }
.pbp-ft a:hover { text-decoration:underline; }
.pbp-ft__cta { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; padding-bottom:56px; border-bottom:1px solid rgba(195,203,214,.25); margin-bottom:56px; }
.pbp-ft__cta-text { font-size:clamp(28px,3vw,44px); font-weight:300; margin:0; }
.pbp-ft__top { display:grid; grid-template-columns:1fr 2.4fr; gap:48px; }
.pbp-ft__logo { max-height:44px; width:auto; display:block; margin-bottom:16px; }
.pbp-ft__brand p { margin:0; opacity:.8; font-size:15px; }
.pbp-ft__cols { display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }
.pbp-ft__col h3 { font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--chrome); margin:0 0 16px; font-weight:500; }
.pbp-ft__col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:14px; }
.pbp-ft__text { font-size:14px; line-height:1.55; opacity:.85; }
.pbp-ft__text p { margin:0 0 10px; }
.pbp-ft__legal { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:56px; padding-top:24px; border-top:1px solid rgba(195,203,214,.25); font-size:13px; opacity:.85; }
.pbp-ft__legal-links { display:flex; gap:20px; }
.pbp-ft__disclaimer { font-size:12px; line-height:1.6; opacity:.6; margin:24px 0 0; }
@media (max-width:991px){ .pbp-ft__top { grid-template-columns:1fr; } .pbp-ft__cols { grid-template-columns:1fr 1fr; } }

/* FAQ */
.pbp-faq__grid { display:grid; grid-template-columns:1fr 1.5fr; gap:56px; }
.pbp-faq__item { border-bottom:1px solid var(--chrome); }
.pbp-faq__item summary { list-style:none; cursor:pointer; padding:22px 0; font-size:18px; font-weight:600; display:flex; justify-content:space-between; gap:16px; }
.pbp-faq__item summary::-webkit-details-marker { display:none; }
.pbp-faq__item summary::after { content:"+"; font-weight:300; font-size:24px; line-height:1; }
.pbp-faq__item[open] summary::after { content:"–"; }
.pbp-faq__answer { padding:0 0 22px; font-size:15px; line-height:1.65; opacity:.85; }
.pbp-faq__answer p { margin:0; }
@media (max-width:991px){ .pbp-faq__grid { grid-template-columns:1fr; gap:24px; } }
/* FAQ — match source: white band with a hairline top, 0.8/1.2 grid, 17px questions, bold unlined contact link */
section.pbp-faq { background:#FFFFFF; border-top:1px solid #DCE0E6; }
section.pbp-faq .pbp-faq__grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,5vw,80px); align-items:start; }
section.pbp-faq .pbp-faq__list { border-top:1px solid #DCE0E6; }
section.pbp-faq .pbp-faq__item { border-bottom:1px solid #DCE0E6; }
section.pbp-faq .pbp-faq__item summary { padding:20px 0; font-size:17px; color:#0B1F3A; align-items:center; }
section.pbp-faq .pbp-faq__answer { color:#4E5868; opacity:1; }
section.pbp-faq .pbp__lead { margin-top:18px; font-size:15.5px; color:#4E5868; }
section.pbp-faq .pbp__lead a { color:#0B1F3A; font-weight:600; text-decoration:none; border:0; }
section.pbp-faq .pbp__lead a:hover { text-decoration:underline; }
@media (max-width:991px){ section.pbp-faq .pbp-faq__grid { grid-template-columns:1fr; gap:24px; } }

/* Compact header — 25% shorter than the stock 80px bar (≈60px desktop) */
header.nav.section-main_navbar .nav__container { padding-top:12px; padding-bottom:12px; }
header.nav.section-main_navbar .nav__logo-area,
header.nav.section-main_navbar .site-logo { min-height:36px; }
header.nav.section-main_navbar .site-logo img { max-height:36px; }
header.nav.section-main_navbar .nav__btn { padding:8px 16px; }
header.nav.section-main_navbar .ld__trigger { padding:5px 12px; }
/* Glass header — mirrors source header.site.solid + pill menu; stays sticky */
header.nav.section-main_navbar { position:sticky; top:0; z-index:100;
  background:rgba(3,10,22,.55); -webkit-backdrop-filter:saturate(150%) blur(14px); backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid rgba(233,237,243,.10); transition:background .4s, border-color .4s; }
header.nav.section-main_navbar.is-scrolled { background:rgba(3,10,22,.62); box-shadow:none; }
/* Pages without the full-bleed home hero: solid at the top (no grey wash over white), glass once scrolled */
body:not(:has(section.pbp-hh)) header.nav.section-main_navbar:not(.is-scrolled) { background:#04070D; }
header.nav.section-main_navbar .nav__menu .primary-menu { gap:6px; padding:4px; border:1px solid rgba(233,237,243,.10); border-radius:999px;
  background:rgba(3,10,22,.35); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
header.nav.section-main_navbar .nav__menu .primary-menu a { color:#8E98A8; padding:8px 16px; border-radius:999px; font-size:13.5px; transition:color .25s, background .25s; }
header.nav.section-main_navbar .nav__menu .primary-menu a:hover { color:#fff; background:rgba(255,255,255,.06); opacity:1; text-decoration:none; }
@media (max-width:1180px){ header.nav.section-main_navbar .nav__menu .primary-menu a { font-size:13px; padding:8px; } }
/* {% section 'navbar' %} wraps the header, which traps position:sticky — make the wrapper itself the sticky element */
body > *:has(header.nav.section-main_navbar) { position:sticky; top:0; z-index:100; }
/* Country/language selector removed from the header + mobile drawer */
header.nav.section-main_navbar .nav__locale,
#mobile-menu-section .language-country-section { display:none !important; }
/* Home hero sits behind the glass header, like the source */
section.pbp-hh { margin-top:calc(-1 * var(--pbp-hdr,61px)); padding-top:calc(30px + var(--pbp-hdr,61px)); }
@media (max-width:900px){ section.pbp-hh { padding-top:0; } }

@media (max-width:991px){
  header.nav.section-main_navbar .nav__container { padding-top:10px; padding-bottom:10px; }
  header.nav.section-main_navbar .menu-toggle { width:32px; height:32px; }
}
