/* ===================== Plantilla de biomarcador — body (header/footer oficiales del sitio) ===================== */
/* Solo estiliza el cuerpo del biomarcador (.bm-*). Header, megamenús, drawer y footer son los OFICIALES
   (styles.css + axo-inline.js), compartidos con el resto del sitio. */
:root{--bm-green:#0f3d3e;--bm-green-d:#163029;--bm-soft:#e9f4cf;--bm-ink:#1a1a16;--bm-muted:#71716a;--bm-line:rgba(26,26,22,.1);--bm-paper:#f6f4ee}
.bm-wrap{max-width:1140px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.bm-main img{max-width:100%}

/* ---- botones (igual alto cuando van lado a lado) ---- */
.bm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:600;font-size:.98rem;line-height:1;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .15s,background .2s,color .2s;white-space:nowrap;box-sizing:border-box;min-height:52px;padding:0 28px}
.bm-btn:hover{transform:translateY(-1px)}
.bm-btn-lg{min-height:56px;padding:0 32px;font-size:1.02rem}
.bm-btn-ghost{border-color:rgba(255,255,255,.42);color:#fff;background:transparent}
.bm-btn-ghost:hover{background:rgba(255,255,255,.1)}
.bm-btn-light{background:#fff;color:var(--bm-green-d)}
.bm-btn-light:hover{background:#f2efe6}
.bm-btn-dark{background:var(--bm-green);color:#fff}
.bm-btn-dark:hover{background:#0b2f30}
.bm-btn-outline-d{border-color:rgba(22,48,41,.3);color:var(--bm-green-d);background:transparent}
.bm-btn-outline-d:hover{background:rgba(22,48,41,.06)}

/* ---- Header SÓLIDO-oscuro en biomarcador ----
   El header oficial nace transparente con texto blanco (pensado para heros OSCUROS, p.ej. what-we-test).
   Las páginas de biomarcador tienen fondo CLARO y sin hero oscuro, así que el header debe nacer SÓLIDO
   oscuro desde el inicio (mismo criterio que pricing). */
html[data-page="biomarker"] .site-header{background:#0f3d3e;border-bottom-color:rgba(255,255,255,.08)}

/* ---- hero (CLARO; con espacio arriba para que el header fixed no tape el contenido) ---- */
.bm-hero{position:relative;background:linear-gradient(160deg,#f3f7e6 0%,#eef4e0 45%,#e9f4cf 100%);overflow:hidden;padding-top:84px}
.bm-hero::after{content:"";position:absolute;right:-120px;top:-60px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(15,61,62,.07),transparent 70%)}
.bm-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:56px;align-items:center;padding:22px 0 64px}
.bm-crumbs{display:flex;gap:8px;align-items:center;font-size:.85rem;color:var(--bm-green-d);padding:10px 0 2px;opacity:.85}
.bm-crumbs a{text-decoration:none;color:inherit}
.bm-crumbs a:hover{text-decoration:underline}
.bm-crumbs i{font-size:1rem;opacity:.7}
.bm-figure{position:relative;display:grid;place-items:center;aspect-ratio:4/5;background:#fff;border:1px solid rgba(22,48,41,.08);border-radius:26px;box-shadow:0 24px 60px rgba(22,48,41,.12);padding:26px}
.bm-figure img{max-height:420px;width:auto;filter:drop-shadow(0 18px 28px rgba(0,0,0,.12))}
.bm-pills{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px}
.bm-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 15px;font-size:.8rem;font-weight:600;letter-spacing:.01em;line-height:1}
.bm-pill-solid{background:var(--bm-green);color:#fff}
.bm-pill-outline{background:transparent;color:var(--bm-green-d);border:1px solid rgba(22,48,41,.26)}
.bm-pill-addon{background:#dff0b3;color:#2f4a0b;border:1px solid rgba(47,74,11,.22)}
.bm-title{font-family:"Inter Tight",Inter,sans-serif;font-weight:700;font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.05;letter-spacing:-.02em;color:var(--bm-green-d);margin:0}
.bm-short{font-size:1.1rem;line-height:1.5;color:#3f463b;margin:16px 0 0;max-width:46ch}
.bm-testname{font-family:"Inter Tight",Inter,sans-serif;font-weight:700;font-size:1.22rem;color:var(--bm-green-d);margin:24px 0 0;letter-spacing:-.01em}
.bm-long{font-size:1rem;line-height:1.55;color:var(--bm-muted);margin:8px 0 0;max-width:52ch}
.bm-hero-cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bm-hero-note{font-size:.86rem;color:var(--bm-green-d);opacity:.78;display:inline-flex;align-items:center;gap:6px}
@media(max-width:820px){.bm-hero{padding-top:70px}.bm-hero-in{grid-template-columns:1fr;gap:24px;padding:16px 0 48px}.bm-figure{max-width:280px;margin:0 auto}.bm-figure img{max-height:320px}}

/* ---- meta strip ---- */
.bm-meta{border-top:1px solid var(--bm-line);border-bottom:1px solid var(--bm-line);background:#fff}
.bm-meta-in{display:flex;flex-wrap:wrap;gap:46px;padding:22px 0}
.bm-meta-item{display:flex;flex-direction:column;gap:5px}
.bm-meta-k{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bm-muted)}
.bm-meta-v{font-size:1rem;font-weight:600;color:var(--bm-ink)}
.bm-flags{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.bm-flag{width:26px;height:26px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08);display:block}

/* ---- secciones ---- */
.bm-sec{padding:64px 0}
.bm-sec-head{max-width:720px}
.bm-eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-green-d);margin:0 0 10px}
.bm-h2{font-family:"Inter Tight",Inter,sans-serif;font-weight:700;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.12;letter-spacing:-.015em;color:var(--bm-ink);margin:0}

/* ---- acordeón (estructura webflow) ---- */
.bm-detail{background:var(--bm-paper)}
.bm-acc{margin-top:30px;border-top:1px solid var(--bm-line)}
.bm-acc-item{border-bottom:1px solid var(--bm-line)}
.bm-acc-btn{width:100%;background:transparent;border:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 6px;text-align:left;font-family:"Inter Tight",Inter,sans-serif;font-size:1.22rem;font-weight:600;color:var(--bm-ink);letter-spacing:-.01em}
.bm-acc-btn .bm-acc-ic{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--bm-soft);color:var(--bm-green-d);font-size:1.2rem;transition:transform .3s}
.bm-acc-item.open .bm-acc-ic{transform:rotate(180deg)}
.bm-acc-panel{overflow:hidden;max-height:0;transition:max-height .35s ease}
.bm-acc-body{padding:0 6px 30px}
.bm-acc-body>p{margin:0 0 8px;font-size:1.04rem;line-height:1.62;color:#46463f}
.bm-acc-body>p:last-child{margin-bottom:0}
.bm-acc-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.bm-acc-list li{position:relative;padding-left:32px;font-size:1.04rem;line-height:1.5;color:#46463f}
.bm-acc-list li i{position:absolute;left:0;top:1px;color:var(--bm-green);font-size:1.25rem}

/* ---- protocolo (banda verde) ---- */
.bm-protocol{background:var(--bm-green);color:#f3efe4}
.bm-protocol .bm-wrap{padding:84px 24px}
.bm-protocol .bm-eyebrow{color:rgba(243,239,228,.6)}
.bm-protocol h2{font-family:"Inter Tight",Inter,sans-serif;font-weight:700;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:-.02em;color:#fff;margin:0;max-width:18ch;text-transform:none}
.bm-protocol-lede{font-size:1.08rem;line-height:1.6;color:rgba(243,239,228,.82);margin:18px 0 0;max-width:56ch;text-transform:none}
.bm-protocol .bm-hero-cta{margin-top:32px}

/* ---- relacionados ---- */
.bm-rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.bm-rel-card{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid var(--bm-line);border-radius:18px;padding:22px;transition:transform .15s,box-shadow .2s,border-color .2s}
.bm-rel-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(22,48,41,.1);border-color:rgba(22,48,41,.18)}
.bm-rel-cat{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bm-green-d);opacity:.7}
.bm-rel-name{font-family:"Inter Tight",Inter,sans-serif;font-size:1.18rem;font-weight:600;color:var(--bm-ink);margin:8px 0 0;letter-spacing:-.01em}
.bm-rel-arrow{margin-top:14px;color:var(--bm-green);font-size:1.3rem}
@media(max-width:760px){.bm-rel-grid{grid-template-columns:1fr}}

/* reveal al scroll (respeta reduced-motion vía JS) */
.bm-reveal{opacity:0;transform:translateY(22px);filter:blur(6px);transition:opacity .8s cubic-bezier(.16,.7,.16,1),transform .85s cubic-bezier(.16,.7,.16,1),filter .8s ease}
.bm-reveal.in{opacity:1;transform:none;filter:blur(0)}
