/* Bio-Lec shared page shell.
   Common design tokens + base typography + buttons + reveal animation shared by
   the content page templates (About, Contact, Terms, Privacy, Delivery &
   Returns, Blog). Enqueued ONLY for those templates so it can't affect the
   shop/archive/product pages. Each page's own stylesheet keeps only its unique
   section styles. The .blm-container width lives in common.css. */

:root{
  --green-primary:#329AE0; --green-deep:#0065B8; --green-deep-2:#004F91; --green-leaf:#9ED0F2;
  --green-wash:#E6F2FB; --green-ink:#03396B;
  --cream:#F4F8FC; --cream-2:#E9F1F9; --ink:#15202B; --ink-2:#2A3744;
  --stone:#5C6B79; --stone-2:#93A2AF; --line:#DBE5EE; --line-2:#C4D3E0; --white:#FFFFFF;
  --warning:#C97A1A; --warning-bg:#FBF1E2;
  --font-serif:-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-sans:-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,Menlo,Consolas,monospace;
  --r-sm:6px; --r-md:12px; --r-lg:18px; --r-xl:26px; --r-pill:999px;
  --shadow-1:0 1px 2px rgba(0,101,184,.05),0 8px 24px rgba(0,101,184,.07);
  --shadow-2:0 2px 6px rgba(0,101,184,.07),0 18px 38px rgba(0,101,184,.11);
  --ease-out:cubic-bezier(.2,.8,.2,1);
  --maxw:1280px;
}

.blm-page img{max-width:100%;display:block;}
.blm-page{color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

.blm-page .eyebrow{font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--green-primary);margin:0 0 14px;display:inline-flex;align-items:center;gap:8px;}
.blm-page .eyebrow i{width:15px;height:15px;}

.blm-page h1,.blm-page h2,.blm-page h3{font-family:var(--font-serif);font-weight:600;letter-spacing:-.015em;color:var(--ink);margin:0;text-wrap:balance;}
.blm-page h2{font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.18;}
.blm-page p{margin:0 0 16px;color:var(--ink-2);text-wrap:pretty;}
.blm-page a{color:var(--green-deep);text-decoration:none;}
.blm-page a:hover{text-decoration:underline;text-underline-offset:3px;}

.blm-page .btn{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:0 26px;font-family:var(--font-sans);
  font-size:.98rem;font-weight:600;line-height:1;border-radius:var(--r-pill);border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;transition:background .16s var(--ease-out),color .16s var(--ease-out),
    border-color .16s var(--ease-out),transform .16s var(--ease-out);}
.blm-page .btn i{width:18px;height:18px;}
.blm-page .btn:active{transform:scale(.98);}
.blm-page .btn:hover{text-decoration:none;}
.blm-page .btn--primary{background:var(--green-primary);color:#fff;border-color:var(--green-primary);}
.blm-page .btn--primary:hover{background:var(--green-deep);border-color:var(--green-deep);}
.blm-page .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);}
.blm-page .btn--ghost:hover{background:rgba(255,255,255,.14);}
.blm-page .btn--light{background:#fff;color:var(--green-deep);border-color:#fff;}
.blm-page .btn--light:hover{background:var(--green-wash);}
.blm-page .btn--outline{background:var(--white);color:var(--green-deep);border-color:var(--line-2);}
.blm-page .btn--outline:hover{background:var(--green-wash);border-color:var(--green-primary);}

.js .blm-page .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);}
.js .blm-page .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.blm-page .reveal{opacity:1!important;transform:none!important;}}
