/* ==========================================================================
   BIO-PRIME common tokens and shared UI
   ========================================================================== */

:root{
  --bp-primary:#007AFF;
  --bp-primary-dark:#2D9CDB;
  --bp-accent: #00C2FF;
  --bp-background: #F7FAFC;
  --bp-border: #E5E7EB;
  --bp-text:#0F172A;
  --bp-body:#3c4948;
  --bp-meta:#6c7a78;
  --bp-hair:#E6EDEB;
  --bp-danger:#ba1a1a;
  --bp-white:#fff;
  --bp-max:1240px;
  --bp-pad:64px;
  --bp-radius-card:24px;
  --bp-radius-btn:16px;
  --bp-font:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --bp-title-shimmer:linear-gradient(100deg,var(--bp-text) 0%,var(--bp-text) 32%,var(--bp-primary-dark) 43%,#35E0D4 49%,#BFFBF6 52%,#35E0D4 55%,var(--bp-primary) 61%,var(--bp-text) 72%,var(--bp-text) 100%);
}

/* Base ------------------------------------------------------------------- */
.bp-body{font-family:var(--bp-font);color:var(--bp-text);background:var(--bp-white);margin:0;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-top:128px;}
.bp-body *{box-sizing:border-box;}
.bp-container{max-width:var(--bp-max);margin:0 auto;padding-left:var(--bp-pad);padding-right:var(--bp-pad);width:100%;}
.bp-h2{font-size:40px;line-height:1.2;letter-spacing:-.01em;font-weight:700;color:var(--bp-text);margin:0 0 18px;position:relative;display:inline-block;}
.bp-h2::after{content:none;}
.bp-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bp-primary);}
@keyframes bp-shimmer{0%{background-position:220% 0}100%{background-position:-220% 0}}
.bp-h2,.bp-hero__title,.bp-contact__title,.bp-form__title{background:var(--bp-title-shimmer);background-size:220% 100%;background-position:220% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:bp-shimmer 2.5s linear infinite;}

/* Buttons ---------------------------------------------------------------- */
.bp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;text-decoration:none;cursor:pointer;border:0;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,filter .22s ease;font-family:inherit;}
.bp-btn--primary{background:var(--bp-primary);color:#fff;padding:12px 24px;border-radius: 30px;box-shadow:0 8px 20px rgba(18,176,168,.18);}
.bp-btn:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(53,224,212,.45),0 14px 34px rgba(18,176,168,.28),0 0 28px rgba(53,224,212,.22);}
.bp-btn--primary:hover,.bp-btn--pill:hover{background:#F4FFFE;color:var(--bp-primary-dark);filter:none;}
.bp-btn--lg{padding:12px 30px;font-size:18px;}
.bp-btn--sm{padding:8px 20px;font-size:13px;border-radius:12px;}
.bp-btn--block{width:100%;}
.bp-btn--outline{background:transparent;border:2px solid var(--bp-primary);color:var(--bp-primary);padding:12px 30px;border-radius:9999px;}
.bp-btn--outline:hover{background:#F4FFFE;border-color:#35E0D4;color:var(--bp-primary-dark);}
.bp-btn--pill{background:var(--bp-primary);color:#fff;padding:11px 30px;border-radius:9999px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;}
.bp-btn--chip{background:#67c0b6;color:#fff;padding:9px 22px;border-radius:9999px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;}
.bp-btn--chip:hover{background:#F4FFFE;color:var(--bp-primary-dark);}

.bp-ico{color:var(--bp-primary);font-size:18px;line-height:1;display:inline-flex;}

@media (max-width:1024px){
  :root{--bp-pad:32px;}
}

@media (max-width:768px){
  :root{--bp-pad:20px;}
}


