/* =========================
   BLOODPULSE HERO
========================= */

.bp-hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg,#050505,#0b0b0b 60%,#050505);
}

/* BLOOD FLOW DEPTH */
.bp-bg-plasma{
  position:absolute;
  inset:-30%;
  z-index:-3;
  background:
    radial-gradient(900px 600px at 20% 30%, rgba(110,0,0,.45), transparent 60%),
    radial-gradient(700px 500px at 80% 70%, rgba(200,30,30,.35), transparent 65%),
    radial-gradient(500px 400px at 50% 50%, rgba(255,0,0,.22), transparent 70%);
  filter:blur(45px);
  animation:plasmaDrift 32s ease-in-out infinite;
}

.bp-bg-glow{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 50% 60%, rgba(255,80,80,.14), transparent 55%),
    radial-gradient(circle at 30% 40%, rgba(140,0,0,.12), transparent 60%);
  mix-blend-mode:screen;
}

.bp-bg-vignette{
  position:absolute;
  inset:0;
  z-index:-1;
  box-shadow:inset 0 0 220px rgba(0,0,0,.75);
}

@keyframes plasmaDrift{
  0%{transform:translate(0,0) scale(1);}
  50%{transform:translate(-4%,3%) scale(1.06);}
  100%{transform:translate(0,0) scale(1);}
}

/* CONTENT */
.bp-container{
  max-width:1100px;
  margin:auto;
  padding:90px 20px;
}

.bp-hero h1{
  font-size:3.2rem;
  color:#ff3b3b;
  margin-bottom:14px;
  letter-spacing:.4px;
}

/* ECG */
.bp-ecg{
  width:100%;
  max-width:520px;
  height:90px;
  margin:10px 0 26px;
}

.bp-ecg path{
  stroke-dasharray:1000;
  stroke-dashoffset:1000;
  animation:ecgPulse 3.2s linear infinite;
}

@keyframes ecgPulse{
  to{stroke-dashoffset:0;}
}

.bp-subtitle{
  max-width:680px;
  font-size:1.15rem;
  color:#dcdcdc;
  margin-bottom:34px;
}

/* BUTTONS */
.bp-actions{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.bp-btn{
  padding:15px 28px;
  border-radius:32px;
  font-weight:600;
  text-decoration:none;
}

.bp-primary{
  background:#b00000;
  color:#fff;
}

.bp-outline{
  border:2px solid #b00000;
  color:#fff;
}

/* MOBILE */
@media(max-width:768px){
  .bp-hero h1{font-size:2.4rem;}
  .bp-subtitle{font-size:1.05rem;}
}