/* ==========================================================================
   Pharmazon — motion, transitions & refinements (v10)
   ========================================================================== */

/* ---------- seamless section transitions: body colour morph ---------- */
.pz-morph main > section[data-bg]{background:transparent !important}
.pz-morph body, body.pz{transition:none}
.pz-morph .pb--petrol .pb-glow{opacity:var(--glow,0);transition:opacity 1.2s}

/* ---------- consistent rhythm ---------- */
.pb, .ed{padding-top:clamp(72px,7.5vw,112px);padding-bottom:clamp(72px,7.5vw,112px)}
.ed--spec, .ed--team{padding-left:0;padding-right:0}
.pb-head, .ed-head{margin-bottom:clamp(32px,3.6vw,52px)}

/* ---------- font audit fixes ---------- */
.pz-foot2 a, .pz-foot2 li, .pz-foot2 h4, .pz-gphc-badge, .pz-gphc-badge b, .pz-cf__name, .pz-scard, .pb-sol, .pb-block figcaption{font-family:var(--pz-ui)}
.pb-sol p, .pb-step p{font-family:var(--pz-body)}

/* ---------- word reveals ---------- */
[data-words] .wd{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .1em .26em .03em;margin:0 -.1em -.26em -.03em}
[data-words] .wd > i{display:inline-block;font-style:normal;will-change:transform}
[data-words] em .wd > i{font-style:italic}
.pz-js [data-words]:not(.is-split){visibility:hidden}

/* ---------- photo reveals ---------- */
.pz-js [data-wipe]{clip-path:inset(0 0 100% 0 round var(--pb-r-sm))}
.pz-js [data-wipe].is-wiped{clip-path:inset(0 0 0% 0 round var(--pb-r-sm));transition:clip-path 1.3s var(--pz-expo)}
.pz-js [data-wipe] img{transform:scale(1.18);transition:transform 1.8s var(--pz-expo)}
.pz-js [data-wipe].is-wiped img{transform:scale(1)}

/* ---------- trusted by clinics ---------- */
.pb-logos{background:#fff;padding-top:clamp(64px,6vw,96px);padding-bottom:clamp(56px,5vw,80px)}
.pb-logos__head{display:grid;grid-template-columns:1.2fr .8fr;gap:20px 72px;align-items:end;margin-bottom:clamp(36px,4vw,56px)}
.pb-logos__side{justify-self:end;max-width:420px;display:grid;gap:18px;justify-items:start}
.pb-h2--md{font-size:clamp(32px,3.4vw,54px)}
.pb-logos__rail{margin:0 calc(var(--pz-edge) * -1);padding:clamp(22px,2.4vw,34px) 0;border-top:1px solid var(--pb-line);border-bottom:1px solid var(--pb-line)}
.pb-logos__rail .pz-marquee__track{gap:clamp(64px,7vw,120px);animation-duration:46s}
.pb-logos__rail .pz-marquee__track img{height:clamp(54px,5vw,76px);max-width:240px;filter:grayscale(1) contrast(1.05);opacity:.62;transition:filter .5s, opacity .5s, transform .7s var(--pz-expo)}
.pb-logos__rail .pz-marquee__track img:hover{filter:none;opacity:1;transform:scale(1.06)}

/* intro trust strip without logos */
.pb-trust{justify-content:center}

/* ---------- why: pinned horizontal showcase ---------- */
.pb-hz{padding:0;overflow:hidden}
.pb-hz__pin{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(320px,.78fr) 1.22fr;align-items:center;gap:clamp(32px,4vw,72px);padding:clamp(80px,9vh,120px) 0 clamp(80px,9vh,120px) var(--pz-edge)}
.pb-hz__intro .pb-lede{margin-top:20px}
.pb-hz__meter{display:flex;align-items:center;gap:18px;margin-top:44px}
.pb-hz__count{font-family:var(--pz-ui);font-size:13px;font-weight:600;letter-spacing:.16em;color:rgba(234,241,238,.55);font-variant-numeric:tabular-nums}
.pb-hz__count b{color:#C3DE9A}
.pb-hz__bar{position:relative;flex:1;max-width:220px;height:2px;border-radius:2px;background:rgba(234,241,238,.14);overflow:hidden}
.pb-hz__bar i{position:absolute;inset:0;background:#C3DE9A;transform-origin:left;transform:scaleX(var(--p,0))}
.pb-hz__viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 92%,transparent)}
.pb-hz__track{display:flex;gap:16px;width:max-content;padding:10px 0 10px 4%;will-change:transform}
.pb-hz__card{position:relative;flex:none;width:clamp(290px,24vw,380px);min-height:clamp(380px,52vh,460px);display:flex;flex-direction:column;padding:32px 30px 34px;border-radius:var(--pb-r);background:rgba(234,241,238,.06);border:1px solid rgba(234,241,238,.1);color:#EAF1EE;overflow:hidden;transition:transform .8s var(--pz-expo), background-color .5s, border-color .5s}
.pb-hz__card::after{content:attr(data-n);position:absolute;right:-6px;bottom:-34px;font-family:var(--pz-ui);font-weight:500;font-size:190px;line-height:1;letter-spacing:-.08em;color:currentColor;opacity:.06;pointer-events:none}
.pb-hz__card:hover{transform:translateY(-10px);border-color:rgba(195,222,154,.4)}
.pb-hz__n{font-family:var(--pz-ui);font-size:12px;font-weight:600;letter-spacing:.18em;color:#C3DE9A}
.pb-hz__ic{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;margin:28px 0 auto;background:rgba(195,222,154,.12);color:#C3DE9A;transition:transform .8s var(--pz-expo), background-color .5s}
.pb-hz__ic svg{width:26px;height:26px}
.pb-hz__card:hover .pb-hz__ic{transform:rotate(-8deg) scale(1.08)}
.pb-hz__card h3{font-family:var(--pz-ui);font-size:clamp(22px,1.9vw,28px);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:40px 0 10px;color:#F2EFE6}
.pb-hz__card p{font-family:var(--pz-body);font-size:15.5px;line-height:1.55;color:rgba(234,241,238,.72)}
.pb-hz__card--lime{background:#C3DE9A;border-color:#C3DE9A;color:var(--pb-text)}
.pb-hz__card--lime .pb-hz__n{color:var(--pb-petrol)}
.pb-hz__card--lime .pb-hz__ic{background:rgba(2,61,84,.1);color:var(--pb-petrol)}
.pb-hz__card--lime h3{color:var(--pb-text)}
.pb-hz__card--lime p{color:rgba(11,51,67,.75)}
.pb-hz__card--mint{background:rgba(225,241,236,.14)}
.pb-hz__card--teal{background:#0A6E6A;border-color:#0A6E6A}

/* ---------- steps: premium hover ---------- */
.pb-step{transition:transform .8s var(--pz-expo), box-shadow .8s var(--pz-expo)}
.pb-step:hover{transform:translateY(-8px);box-shadow:0 34px 60px -40px rgba(2,61,84,.5)}
.pb-step .pb-rx{position:relative}
.pb-step .pb-rx::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .9s var(--pz-expo)}
.pb-step:hover .pb-rx::after{transform:scaleX(1)}
.pb-step h3{transition:transform .7s var(--pz-expo)}
.pb-step:hover h3{transform:translateX(6px)}

/* ---------- solutions: premium hover ---------- */
.pb-sol{transition:transform .8s var(--pz-expo), box-shadow .8s var(--pz-expo), background-color .5s}
.pb-sol:hover{transform:translateY(-8px);box-shadow:0 36px 64px -42px rgba(2,61,84,.55)}
.pb-sol .pb-photo{overflow:hidden}
.pb-sol .pb-photo img{will-change:transform}
.pb-block--mint.pb-sol:hover{background:#D6ECE5}
.pb-block--sage.pb-sol:hover{background:#DFE9D0}
.pb-block--petrol.pb-sol:hover{background:#034A66}
.pb-more{position:relative}
.pb-more::after{content:"";position:absolute;left:0;right:26px;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--pz-expo)}
a:hover > .pb-more::after, .pb-more:hover::after{transform:scaleX(1)}

/* ---------- team: refined coverflow + hover ---------- */
.pz-cf__card{transition:box-shadow .8s var(--pz-expo)}
.pz-cf__card img{transition:transform 1.2s var(--pz-expo), filter .6s}
.pz-cf__hover{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px 24px 24px;background:linear-gradient(180deg,rgba(2,47,65,0),rgba(2,47,65,.92) 38%);color:#F2EFE6;transform:translateY(101%);transition:transform .8s var(--pz-expo)}
.pz-cf__hover b{display:block;font-family:var(--pz-ui);font-size:20px;font-weight:600;letter-spacing:-.02em}
.pz-cf__hover small{display:block;font-family:var(--pz-ui);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#CFE3B1;margin:4px 0 12px}
.pz-cf__hover p{font-family:var(--pz-body);font-size:14.5px;line-height:1.5;color:rgba(242,239,230,.82)}
.pz-cf__card.is-center:hover .pz-cf__hover{transform:none}
.pz-cf__card.is-center:hover img{transform:scale(1.06)}
.pz-cf__card.is-center:hover .pz-cf__name{opacity:0}
.pz-cf__name{transition:opacity .4s}
.pz-cf__card.is-center:hover{box-shadow:0 60px 100px -40px rgba(2,61,84,.55)}
.pz-cf__card:not(.is-center):hover{filter:grayscale(.3) brightness(.95) !important}

/* ---------- reviews band ---------- */
.pb-band{display:flex;justify-content:space-between;align-items:center;gap:20px 40px;flex-wrap:wrap;margin-top:12px;padding:clamp(24px,2.6vw,36px) clamp(24px,2.6vw,40px);border-radius:var(--pb-r);background:#fff}
.pb-band__t{font-family:var(--pz-ui);font-weight:500;font-size:clamp(22px,2vw,30px);letter-spacing:-.035em;color:var(--pb-text);max-width:28ch;line-height:1.15}
.pb-band .pb-actions{margin-top:0}
.pb-rv{margin-bottom:0}

/* hero live dot in caption */
.pz-h__live{width:8px;height:8px;border-radius:50%;background:var(--pb-teal);box-shadow:0 0 0 0 rgba(1,150,138,.5);animation:pz-ping2 2.2s infinite}
@keyframes pz-ping2{0%{box-shadow:0 0 0 0 rgba(1,150,138,.45)}100%{box-shadow:0 0 0 10px rgba(1,150,138,0)}}

@media (max-width:1100px){
  .pb-logos__head{grid-template-columns:1fr}
  .pb-logos__side{justify-self:start}
  .pb-hz__pin{grid-template-columns:1fr;min-height:0;padding-right:var(--pz-edge)}
  .pb-hz__viewport{overflow-x:auto;-webkit-mask-image:none;mask-image:none;margin-right:calc(var(--pz-edge) * -1)}
  .pb-hz__track{padding-left:0;padding-right:var(--pz-edge)}
}
@media (max-width:640px){
  .pb-hz__card{width:78vw;min-height:340px}
}
@media (prefers-reduced-motion:reduce){
  .pz-js [data-wipe]{clip-path:none}
  .pz-js [data-wipe] img{transform:none}
  .pz-js [data-words]:not(.is-split){visibility:visible}
}
.pz-js .pb-step:hover [data-wipe].is-wiped img, .pz-js a:hover [data-wipe].is-wiped img{transform:scale(1.05);transition:transform 1.2s var(--pz-expo)}
[data-words] .wd{color:inherit}
