/* BioSante homepage v6 - scoped to .bs-homepage (index.html only) */
:root{--bs-img-hero:none;--bs-img-about:url(../assets/home/about-lab.webp);--bs-img-science:url(../assets/home/science.webp);--bs-img-quality:none;--bs-img-leadership:url(../assets/home/leadership.webp)}
.bs-homepage{--n:#063e68;--b:#078bd1;--t:#0b9b91;--g:#15956f;--lb:#eef8fd;--vl:#f7fbfd;--tx:#46607a;color:var(--tx);background:#fff;overflow:hidden}
.bs-homepage *{box-sizing:border-box}
.bs-homepage h1,.bs-homepage h2,.bs-homepage h3{color:var(--n);margin:0;line-height:1.1;letter-spacing:-.02em}
.bs-homepage p{margin:0}
.bs-w{width:min(1280px,calc(100% - 2*clamp(18px,4vw,64px)));margin-inline:auto}
.bs-sec{padding:clamp(44px,5.5vw,76px) 0}.bs-alt{background:var(--lb)}
.bs-eye{display:block;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--g);margin-bottom:12px}
.bs-h2{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:800;margin-bottom:16px}
.bs-p{font-size:clamp(.95rem,1.05vw,1.05rem);line-height:1.7;margin-bottom:14px;max-width:560px}
.bs-i{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.bs-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:50px;font-weight:600;font-size:.9rem;text-decoration:none;border:1.5px solid var(--b);color:var(--b);background:#fff;transition:transform .3s,box-shadow .3s,background .3s,color .3s}
.bs-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.bs-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,139,209,.2)}.bs-btn:hover svg{transform:translateX(4px)}
.bs-btn.is-solid{background:linear-gradient(90deg,var(--n),var(--g));border-color:transparent;color:#fff}
.bs-btn.is-white{background:#fff;color:var(--n);border-color:#fff}
.bs-homepage a:focus-visible{outline:3px solid var(--g);outline-offset:3px}
/* hero */
.bs-home-hero{position:relative;padding:clamp(36px,5vw,72px) 0 clamp(36px,4.5vw,64px);background:radial-gradient(60% 80% at 78% 45%,#fff 0,rgba(255,255,255,0) 70%),radial-gradient(40% 60% at 90% 10%,rgba(21,149,111,.16),transparent),linear-gradient(135deg,#e6f4fb,#f7fbfd 55%,#eaf7f2)}
.bs-hero-in{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:24px}
.bs-home-hero h1{font-size:clamp(2.3rem,4.6vw,4rem);font-weight:800;margin:6px 0 22px}.bs-home-hero h1 .b{color:var(--b)}.bs-home-hero h1 .g{color:var(--g)}
.bs-home-hero .bs-p{font-size:clamp(1rem,1.2vw,1.15rem);max-width:600px;margin-bottom:28px}
.bs-cta{display:flex;flex-wrap:wrap;gap:12px}
.bs-hero-vis{position:relative;min-height:clamp(300px,34vw,470px);display:grid;place-items:center;background-image:var(--bs-img-hero);background-size:cover;background-position:center;border-radius:28px}
.bs-hero-vis:before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 30%,rgba(255,255,255,.2) 70%,transparent);border:1px solid rgba(7,139,209,.12)}
.bs-leaves{position:absolute;inset:auto 0 4% 0;width:100%;height:55%;pointer-events:none}
.bs-script{position:absolute;top:2%;right:0;font:italic 600 clamp(1.1rem,2vw,1.7rem)/1.1 Georgia,"Brush Script MT",serif;color:var(--n);transform:rotate(-8deg);text-align:left}
.bs-bottle{position:relative;z-index:2;width:clamp(140px,15vw,215px);aspect-ratio:.8;margin-top:-6%;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 22px 26px rgba(6,62,104,.22))}
.bs-bottle:before{content:"";width:62%;height:17%;border-radius:10px 10px 4px 4px;background:linear-gradient(90deg,#dfe8ef,#fff 40%,#cfdbe5)}
.bs-bottle .bd{flex:1;width:100%;margin-top:-2px;border-radius:22% 22% 14% 14%/12% 12% 10% 10%;background:linear-gradient(90deg,#d9e5ee,#fff 35%,#f4f8fb 65%,#cddae5);display:grid;place-items:center;text-align:center;padding:10px}
.bs-bottle img{width:34%;height:auto}.bs-bottle b{display:block;color:var(--n);font-size:clamp(.95rem,1.5vw,1.4rem);line-height:1.1}.bs-bottle b i{color:var(--b);font-style:normal}.bs-bottle small{display:block;font-size:clamp(.45rem,.7vw,.65rem);line-height:1.3;color:var(--n);font-weight:600}
.bs-cap{position:absolute;z-index:3;width:clamp(38px,4vw,58px);height:clamp(15px,1.6vw,23px);border-radius:20px;background:linear-gradient(#ead9bc,#cdb48c);box-shadow:0 4px 8px rgba(0,0,0,.15)}
/* about */
.bs-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.bs-photo{position:relative;min-height:clamp(240px,26vw,360px);border-radius:24px;box-shadow:0 18px 44px rgba(6,62,104,.16);border:6px solid #fff;overflow:hidden;transition:transform .5s;background-size:cover;background-position:center}
.bs-photo:hover{transform:scale(1.02)}
.bs-photo-lab{background-image:var(--bs-img-about),radial-gradient(circle at 20% 25%,rgba(255,255,255,.9) 0 6%,transparent 7%),radial-gradient(circle at 78% 18%,rgba(255,255,255,.7) 0 9%,transparent 10%),radial-gradient(circle at 60% 70%,rgba(7,139,209,.35),transparent 45%),linear-gradient(135deg,#bfe3f5,#6fb8dc 55%,#0b9b91)}
.bs-photo-lab .big{position:absolute;right:8%;bottom:6%;width:46%;height:70%;color:rgba(255,255,255,.55);stroke-width:1}
.bs-trust{position:absolute;left:5%;top:50%;transform:translateY(-50%);display:grid;gap:4px;background:#fff;border-radius:16px;padding:10px 14px;box-shadow:0 14px 34px rgba(6,62,104,.18)}
.bs-trust span{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:600;color:var(--n);padding:7px 0}
.bs-trust .bs-i{width:34px;height:34px;padding:7px;border-radius:50%;background:linear-gradient(135deg,var(--g),var(--t));color:#fff;stroke-width:2}
/* focus */
.bs-focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.bs-focus-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border-radius:14px;box-shadow:0 6px 20px rgba(6,62,104,.07);font-weight:600;font-size:.88rem;line-height:1.35;color:var(--n);transition:transform .35s,box-shadow .35s}
.bs-focus-card .bs-i{width:34px;height:34px;color:var(--b);transition:transform .35s}.bs-focus-card:nth-child(even) .bs-i{color:var(--g)}
.bs-focus-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(6,62,104,.14)}.bs-focus-card:hover .bs-i{transform:scale(1.12) rotate(-4deg)}
/* product */
.bs-prod{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(20px,4vw,60px)}
.bs-prod-vis{position:relative;min-height:clamp(280px,30vw,400px);display:grid;place-items:center;background:radial-gradient(circle at 50% 55%,#fff 35%,var(--vl) 70%,transparent 72%)}
.bs-prod-vis .bs-bottle{width:clamp(150px,16vw,225px)}
.bs-prod h2{font-size:clamp(2rem,3.2vw,2.8rem)}.bs-prod .bs-p{color:var(--b);font-size:clamp(1rem,1.2vw,1.2rem)}
.bs-fmt{display:flex;align-items:center;gap:12px;margin:18px 0 22px;color:var(--n);font-size:.9rem}.bs-fmt small{display:block;color:var(--tx);font-size:.82rem}
.bs-fmt .bs-i{width:34px;height:34px;color:var(--b)}
/* science */
.bs-photo-sci{min-height:clamp(220px,24vw,330px);background-image:var(--bs-img-science),linear-gradient(90deg,transparent 55%,rgba(21,149,111,.5)),radial-gradient(circle at 25% 30%,rgba(255,255,255,.75),transparent 28%),repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 2px,transparent 2px 38px),linear-gradient(160deg,#9fd7ee,#2b8fc2 60%,#0b6d8f)}
.bs-photo-sci b,.bs-photo-lead b{position:absolute;right:7%;top:50%;transform:translateY(-50%);color:#fff;font-size:clamp(1.2rem,2.2vw,2rem);line-height:1.15;text-align:left}
.bs-steps{display:flex;flex-wrap:wrap;gap:6px 8px;margin:6px 0 20px;padding:0;list-style:none;counter-reset:s}
.bs-steps li{font-size:.76rem;font-weight:600;color:var(--n);background:var(--lb);border-radius:20px;padding:5px 12px}.bs-steps li:not(:last-child):after{content:"\2192";margin-left:8px;color:var(--g)}
/* quality + markets */
.bs-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bs-feat{position:relative;overflow:hidden;border-radius:20px;padding:clamp(22px,2.6vw,36px);background:linear-gradient(135deg,#f3fafe,#e8f5fb);min-height:250px;box-shadow:0 8px 26px rgba(6,62,104,.07);transition:transform .35s,box-shadow .35s}
.bs-feat:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(6,62,104,.13)}
.bs-feat>*{position:relative;z-index:1;max-width:58%}.bs-feat h3{font-size:clamp(1.5rem,2vw,1.9rem);font-weight:800;margin-bottom:12px}.bs-feat .bs-p{font-size:.92rem;margin-bottom:18px}
.bs-feat:before{content:"";position:absolute;right:0;top:0;bottom:0;width:44%;background:var(--bs-img-quality),linear-gradient(135deg,transparent 18%,rgba(7,139,209,.5)),radial-gradient(circle at 60% 60%,#7cc8e8,#2b8fc2);background-size:cover;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}
.bs-feat .shield{position:absolute;right:30%;top:16px;width:46px;height:46px;color:var(--g);max-width:none}
.bs-feat.is-map:before{clip-path:none;background:radial-gradient(circle,rgba(7,139,209,.45) 1.6px,transparent 2px) 0 0/11px 11px;-webkit-mask:radial-gradient(ellipse 70% 60% at 70% 50%,#000 30%,transparent 75%);mask:radial-gradient(ellipse 70% 60% at 70% 50%,#000 30%,transparent 75%);width:60%}
/* leadership */
.bs-lead{position:relative;overflow:hidden;border-radius:20px;padding:clamp(24px,3vw,42px);min-height:230px;display:flex;align-items:center;background:linear-gradient(90deg,#eef8fd 35%,transparent 70%),var(--bs-img-leadership),radial-gradient(circle at 85% 50%,#fff,#5bb3e4 35%,#0a5f9e 80%);background-size:auto,cover,auto;background-position:center}
.bs-lead>div{max-width:min(520px,60%);position:relative;z-index:2}.bs-lead h2{font-size:clamp(1.8rem,2.6vw,2.3rem);margin-bottom:12px}
.bs-people{position:absolute;right:26%;bottom:0;height:78%;width:34%;opacity:.5;filter:blur(1.5px)}
.bs-lead .bs-script{color:#fff;top:auto;bottom:18%;right:7%;font-size:clamp(1.3rem,2.4vw,2.2rem);transform:rotate(-8deg)}
/* partner cta */
.bs-cta-band{padding:clamp(34px,4vw,50px) 0;background:linear-gradient(100deg,#0a6bb0,#0b9b91 60%,#2fae63);color:#fff}
.bs-cta-in{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,40px);flex-wrap:wrap}.bs-cta-in .bs-i{width:clamp(56px,6vw,76px);height:clamp(56px,6vw,76px);stroke-width:1.3}
.bs-cta-in h2{color:#fff;font-size:clamp(1.6rem,2.4vw,2.1rem);margin-bottom:8px}.bs-cta-in p{margin-bottom:16px;opacity:.92}
/* testimonials */
.bs-test{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);align-items:center}
.bs-ph-quote{border:2px dashed #b7d8ea;border-radius:18px;padding:30px;background:var(--vl);color:var(--tx);min-height:140px;display:grid;place-content:center;text-align:center;gap:6px}.bs-ph-quote b{color:var(--n)}
/* contact strip */
.bs-contact{background:#fff;border-top:1px solid #e3edf5;padding:26px 0}.bs-ct{display:grid;grid-template-columns:repeat(4,1fr)}
.bs-ct>div{display:flex;gap:14px;padding:6px 20px;font-size:.84rem;line-height:1.55}.bs-ct>div+div{border-left:1px solid #dbe6ef}.bs-ct b{display:block;color:var(--n);font-size:.92rem}.bs-ct a{color:var(--tx);text-decoration:none}.bs-ct a:hover{color:var(--b)}.bs-ct .bs-i{color:var(--n);width:30px;height:30px}
/* motion */
.bs-js .bs-fade{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}.bs-js .bs-fade.bs-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.bs-js .bs-fade{opacity:1;transform:none;transition:none}.bs-homepage *{transition:none!important}}
/* responsive */
@media(max-width:1024px){.bs-focus-grid{grid-template-columns:repeat(2,1fr)}.bs-ct{grid-template-columns:1fr 1fr;row-gap:16px}.bs-ct>div:nth-child(3){border-left:0}.bs-feat>*{max-width:62%}}
@media(max-width:860px){.bs-hero-in,.bs-two,.bs-prod,.bs-duo,.bs-test{grid-template-columns:1fr}.bs-hero-vis{order:-1;min-height:300px}.bs-prod-vis{order:-1}.bs-lead>div{max-width:100%}.bs-people,.bs-lead .bs-script{display:none}}
@media(max-width:560px){.bs-focus-grid,.bs-ct{grid-template-columns:1fr}.bs-ct>div+div{border-left:0;border-top:1px solid #dbe6ef;padding-top:14px}.bs-cta .bs-btn{width:100%;justify-content:center}.bs-feat>*{max-width:100%}.bs-feat:before{opacity:.25}.bs-trust{left:50%;transform:translate(-50%,-50%);width:86%}.bs-photo-lab .big{display:none}.bs-cta-in{text-align:center;justify-content:center}}
.bs-cta .bs-btn{padding:12px clamp(14px,1.4vw,22px);font-size:clamp(.78rem,.9vw,.88rem);white-space:nowrap}
@media(min-width:861px){.bs-hero-in{grid-template-columns:1.15fr .85fr}}
.bs-feat .bs-p{max-width:100%}
/* v7: hero banner image */
.bs-home-hero{background:#eaf4fa url(../assets/home/hero-banner.webp) right center/cover no-repeat;min-height:clamp(440px,39vw,640px);display:flex;align-items:center}
.bs-home-hero .bs-hero-in{grid-template-columns:minmax(0,.5fr) 1fr;width:min(1280px,calc(100% - 2*clamp(18px,4vw,64px)))}
.bs-home-hero .bs-hero-vis{display:none}
@media(max-width:860px){
.bs-home-hero{background:linear-gradient(135deg,#e6f4fb,#f7fbfd);display:block}
.bs-home-hero .bs-hero-in{grid-template-columns:1fr}
.bs-home-hero .bs-hero-vis{display:block;order:-1;min-height:0;aspect-ratio:3/2;border-radius:20px;background:url(../assets/home/hero-banner.webp) 100% center/cover no-repeat;box-shadow:0 14px 34px rgba(6,62,104,.14)}
.bs-home-hero .bs-hero-vis:before{display:none}
}
@media(min-width:861px){
.bs-home-hero{padding:clamp(28px,3vw,48px) 0}
.bs-home-hero h1{font-size:clamp(2rem,3.5vw,3.5rem);margin:4px 0 16px}
.bs-home-hero .bs-p{font-size:clamp(.92rem,1.05vw,1.05rem);max-width:min(480px,100%);margin-bottom:20px}
.bs-home-hero .bs-hero-in{grid-template-columns:minmax(0,.47fr) 1fr}
.bs-home-hero .bs-cta{gap:10px}
.bs-home-hero .bs-btn{padding:11px 16px;font-size:.8rem}
}
@media(min-width:1200px){.bs-home-hero .bs-hero-in{grid-template-columns:minmax(0,560px) 1fr}.bs-home-hero .bs-p{max-width:500px}.bs-home-hero .bs-btn{padding:11px 15px;font-size:.78rem}.bs-home-hero .bs-cta{flex-wrap:nowrap;gap:8px}}
/* v8: Infecta-25 box image */
.bs-prod-vis{min-height:0;background:none;display:block}
.bs-prod-img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 18px 44px rgba(6,62,104,.16);transition:transform .5s}
.bs-prod-img:hover{transform:scale(1.02)}
/* v9: about photo */
.bs-photo-lab{background-position:center 30%}
@media(max-width:560px){.bs-photo-lab{min-height:320px}.bs-trust{top:auto;bottom:10px;left:50%;transform:translateX(-50%);width:92%;grid-template-columns:repeat(3,1fr);gap:2px;padding:8px 6px}.bs-trust span{flex-direction:column;text-align:center;font-size:.66rem;padding:2px;gap:4px}}
/* v10: science + quality photos */
.bs-photo-sci{min-height:0;aspect-ratio:2.4/1;background-position:center;background-size:cover}
.bs-photo-sci b{text-shadow:0 2px 14px rgba(3,56,101,.45)}
.bs-feat.is-q{background:#f3fafe}
.bs-feat.is-q:before{inset:0;width:auto;clip-path:none;background:url(../assets/home/quality.webp) right center/cover no-repeat}
.bs-feat.is-q .shield{right:auto;left:min(56%,calc(100% - 140px));top:20px}
@media(max-width:860px){.bs-photo-sci{aspect-ratio:1.7/1}.bs-photo-sci b{font-size:clamp(1rem,4.6vw,1.5rem)}}
@media(max-width:560px){.bs-feat.is-q:before{opacity:.35}.bs-feat.is-q .shield{display:none}}
@media(min-width:561px){.bs-feat.is-q>*{max-width:46%}.bs-feat.is-q .shield{left:auto;right:12%;top:18px}}
@media(min-width:561px) and (max-width:1100px){.bs-feat.is-q>*{max-width:52%}}
@media(max-width:1100px){.bs-duo{grid-template-columns:1fr}}
@media(min-width:561px) and (max-width:1100px){.bs-feat.is-q>*{max-width:46%}.bs-feat{min-height:260px}}
/* v11: leadership image + testimonial slider */
.bs-lead{min-height:clamp(240px,22vw,300px);background:linear-gradient(90deg,rgba(6,62,104,.82) 0,rgba(6,62,104,.6) 34%,rgba(6,62,104,0) 62%),var(--bs-img-leadership) right center/cover no-repeat,#0a5f9e}
.bs-lead h2,.bs-lead .bs-p,.bs-lead .bs-eye{color:#fff}.bs-lead .bs-eye{opacity:.85}
.bs-lead>div{max-width:min(520px,46%)}
@media(max-width:860px){.bs-lead{background:linear-gradient(180deg,rgba(6,62,104,.85),rgba(6,62,104,.6)),var(--bs-img-leadership) 78% center/cover no-repeat,#0a5f9e}.bs-lead>div{max-width:100%}}
.bs-slider{position:relative;padding:0 52px;min-width:0}
.bs-sl-view{overflow:hidden;border-radius:18px}
.bs-sl-track{display:flex;transition:transform .8s cubic-bezier(.4,0,.2,1);touch-action:pan-y}
.bs-sl-slide{flex:0 0 100%;margin:0;padding:clamp(22px,2.6vw,34px);background:#fff;border:1px solid #dbe9f3;border-radius:18px;box-shadow:0 10px 30px rgba(6,62,104,.1);min-height:230px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.bs-sl-stars{color:#f5b301;letter-spacing:3px;font-size:1.05rem}
.bs-sl-slide blockquote{margin:0}.bs-sl-slide p{font-size:clamp(.95rem,1.1vw,1.05rem);line-height:1.7;color:var(--n)}
.bs-sl-slide figcaption{display:flex;align-items:center;gap:12px}.bs-sl-slide b{display:block;color:var(--n);font-size:.92rem}.bs-sl-slide small{color:var(--b);font-weight:600;font-size:.78rem}
.bs-sl-av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--b),var(--g));color:#fff;font-weight:700;font-size:.85rem;flex:none}
.bs-sl-btn{position:absolute;top:calc(50% - 22px);width:38px;height:38px;border-radius:50%;border:1px solid #cfe2ee;background:#fff;color:var(--n);display:grid;place-items:center;cursor:pointer;transition:background .3s,color .3s,transform .3s;padding:0}
.bs-sl-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bs-sl-btn:hover{background:var(--n);color:#fff;transform:scale(1.06)}.bs-sl-btn.is-prev{left:0}.bs-sl-btn.is-next{right:0}
.bs-sl-btn:focus-visible,.bs-sl-dots button:focus-visible{outline:3px solid var(--g);outline-offset:2px}
.bs-sl-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}.bs-sl-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#c4d9e8;cursor:pointer;transition:background .3s,width .3s}.bs-sl-dots button[aria-current=true]{background:var(--g);width:24px;border-radius:6px}
@media(max-width:560px){.bs-slider{padding:0}.bs-sl-btn{display:none}.bs-sl-slide{min-height:0}}
@media(prefers-reduced-motion:reduce){.bs-sl-track{transition:none}}
