@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Figtree:wght@400;500;600&display=swap');
.hero-section[data-type]{display:none}
body{overflow-x:hidden}
.bpl{--ink:#04302d;--teal:#0f8076;--deep:#0b625b;--mint:#e3f2ef;--paper:#f7fbfa;--pulse:#e4572e;--text:#16302d;
width:100vw;margin-left:calc(50% - 50vw);font-family:'Figtree',system-ui,sans-serif;color:var(--text);line-height:1.6;background:var(--paper);box-sizing:border-box}
.bpl *{box-sizing:border-box}
.bpl a{text-decoration:none}
.bpl .wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* HERO */
.bpl .hero{position:relative;overflow:hidden;color:#fff;padding:96px 0 150px;
background:
linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/28px 28px,
linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/28px 28px,
linear-gradient(135deg,#04302d 0%,#0b625b 100%)}
.bpl .hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;position:relative;z-index:2}
.bpl h1{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:clamp(46px,7vw,92px);line-height:1;margin:0 0 14px;letter-spacing:-.02em;color:#fff}
.bpl h1 .dots span{display:inline-block;color:var(--pulse);animation:beat 1.6s infinite}
.bpl h1 .dots span:nth-child(2){animation-delay:.18s}
.bpl h1 .dots span:nth-child(3){animation-delay:.36s}
@keyframes beat{0%,60%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(-.12em) scale(1.35)}}
.bpl .sub{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(22px,3vw,34px);margin:0 0 22px;color:#bfe6df}
.bpl .lead{max-width:520px;font-size:18px;color:#d6efea;margin:0 0 34px}
.bpl .btns{display:flex;flex-wrap:wrap;gap:14px}
.bpl .btn{display:inline-block;padding:15px 28px;border-radius:8px;font-weight:600;font-size:16px;transition:transform .2s,background .2s,color .2s}
.bpl .btn.main{background:#fff;color:var(--deep)}
.bpl .btn.main:hover{transform:translateY(-3px);background:var(--pulse);color:#fff}
.bpl .btn.ghost{border:2px solid rgba(255,255,255,.55);color:#fff}
.bpl .btn.ghost:hover{background:rgba(255,255,255,.14)}
.bpl .btn:focus-visible,.bpl .tile:focus-visible{outline:3px solid var(--pulse);outline-offset:3px}

/* VIAL + RINGS */
.bpl .stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:380px}
.bpl .ring{position:absolute;width:260px;height:260px;border-radius:50%;border:2px solid rgba(94,234,212,.55);opacity:0;animation:ring 3.6s infinite}
.bpl .ring:nth-child(2){animation-delay:1.2s}
.bpl .ring:nth-child(3){animation-delay:2.4s}
@keyframes ring{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.bpl .vial{position:relative;width:190px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35));animation:rise 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{transform:translateY(40px) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}

/* ECG */
.bpl .ecg{position:absolute;left:0;right:0;bottom:34px;height:110px;z-index:1;width:100%}
.bpl .ecg path{fill:none;stroke:#5eead4;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 4s ease-in-out infinite}
@keyframes draw{0%{stroke-dashoffset:1000;opacity:1}55%{stroke-dashoffset:0;opacity:1}85%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1000;opacity:0}}

/* SECTIONS */
.bpl section{padding:88px 0}
.bpl h2{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.1;margin:0 0 18px;color:var(--ink)}
.bpl .about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.bpl .about p{font-size:18px;margin:0 0 16px;max-width:560px}
.bpl .quote{background:var(--teal);color:#fff;border-radius:18px;padding:48px 40px;font-family:'Fraunces',Georgia,serif;font-size:clamp(24px,3vw,34px);line-height:1.25;position:relative}
.bpl .quote small{display:block;margin-top:20px;font-family:'Figtree',sans-serif;font-size:15px;color:#cdeee8}

.bpl .use{background:var(--mint)}
.bpl .use .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.bpl .use .item{background:#fff;border-radius:14px;padding:28px 24px;border-bottom:4px solid var(--teal)}
.bpl .use h3{margin:0 0 8px;font-size:20px;color:var(--ink)}
.bpl .use p{margin:0;font-size:15.5px}

.bpl .explore .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.bpl .tile{display:flex;justify-content:space-between;align-items:center;padding:30px 28px;background:#fff;border:1px solid #d7e8e4;border-bottom:3px solid var(--teal);border-radius:10px;color:var(--ink);font-weight:600;font-size:20px;transition:transform .2s,background .2s,color .2s}
.bpl .tile span{font-size:14px;font-weight:500;color:var(--deep);transition:color .2s}
.bpl .tile:hover{transform:translateY(-4px);background:var(--teal);color:#fff}
.bpl .tile:hover span{color:#fff}

.bpl .cta{background:var(--ink);color:#fff;text-align:center;padding:80px 0}
.bpl .cta h2{color:#fff}
.bpl .cta p{max-width:560px;margin:0 auto 30px;color:#bfe6df;font-size:18px}

@media (max-width:900px){
.bpl .hero{padding:64px 0 130px}
.bpl .hero .wrap,.bpl .about .wrap{grid-template-columns:1fr}
.bpl .stage{min-height:300px}
.bpl .vial{width:150px}
.bpl .ring{width:200px;height:200px}
.bpl .use .grid{grid-template-columns:1fr 1fr}
.bpl .explore .grid{grid-template-columns:1fr 1fr}
.bpl section{padding:64px 0}
}
@media (max-width:560px){
.bpl .use .grid,.bpl .explore .grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
.bpl *{animation:none!important;transition:none!important}
.bpl .ecg path{stroke-dashoffset:0}
.bpl .ring{opacity:.4}
}
