/* ==========================================================================
   Pharmazon — v11 interactive components
   ========================================================================== */

/* ---------- partner clinics: compact two-row band ---------- */
.pc{display:grid;grid-template-columns:minmax(300px,.7fr) 1.3fr;align-items:center;gap:clamp(28px,4vw,64px);padding:clamp(48px,5vw,72px) 0 clamp(48px,5vw,72px) var(--pz-edge);overflow:hidden;color:var(--pb-text)}
.pc-title{font-family:var(--pz-ui);font-weight:500;font-size:clamp(26px,2.4vw,38px);line-height:1.08;letter-spacing:-.035em;margin-bottom:12px}
.pc-sub{font-family:var(--pz-body);font-size:16px;line-height:1.55;color:var(--pb-soft);margin-bottom:20px;max-width:36ch}
.pc-copy .pb-tag{margin-bottom:16px}
.pc-rails{display:grid;gap:12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 100%);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 100%)}
.pc-row{overflow:hidden}
.pc-track{display:flex;gap:12px;width:max-content;animation:pc-slide 40s linear infinite}
.pc-row--rev .pc-track{animation-direction:reverse;animation-duration:46s}
.pc-rails:hover .pc-track{animation-play-state:paused}
@keyframes pc-slide{to{transform:translateX(-50%)}}
.pc-tile{flex:none;width:clamp(180px,15vw,240px);height:clamp(84px,7vw,104px);display:grid;place-items:center;padding:14px 26px;border-radius:12px;background:#fff;box-shadow:0 1px 0 rgba(2,61,84,.06), 0 18px 34px -28px rgba(2,61,84,.45);transition:transform .7s var(--pz-expo), box-shadow .7s var(--pz-expo)}
.pc-tile img{max-height:58px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .5s, opacity .5s}
.pc-tile:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(2,61,84,.06), 0 26px 40px -24px rgba(2,61,84,.5)}
.pc-tile:hover img{filter:none;opacity:1}

/* ---------- why cards with imagery ---------- */
.pb-hz__card{padding:0;min-height:clamp(440px,60vh,520px)}
.pb-hz__card::after{display:none}
.pb-hz__img{position:relative;margin:0;height:46%;min-height:190px;overflow:hidden;background:#0b4a60}
.pb-hz__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.6s var(--pz-expo), filter .6s;filter:saturate(.85)}
.pb-hz__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,61,84,0) 40%,rgba(2,61,84,.55));mix-blend-mode:multiply}
.pb-hz__card:hover .pb-hz__img img{transform:scale(1.12);filter:saturate(1)}
.pb-hz__body{position:relative;flex:1;display:flex;flex-direction:column;padding:24px 28px 30px}
.pb-hz__body .pb-hz__ic{position:absolute;top:-29px;right:24px;margin:0;background:#C3DE9A;color:var(--pb-petrol);box-shadow:0 14px 28px -12px rgba(0,0,0,.5)}
.pb-hz__card--lime .pb-hz__ic{background:var(--pb-petrol);color:#C3DE9A}
.pb-hz__body h3{margin:14px 0 10px}
.pb-hz__card--lime .pb-hz__img::after{background:linear-gradient(180deg,rgba(195,222,154,0) 40%,rgba(195,222,154,.5))}

/* ---------- four steps: stacking cards ---------- */
.sk{position:relative;display:grid;gap:0}
.sk-card{position:sticky;top:calc(110px + var(--i) * 22px);display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:clamp(420px,58vh,540px);margin-bottom:clamp(20px,3vh,32px);border-radius:var(--pb-r);overflow:hidden;box-shadow:0 -18px 50px -30px rgba(2,61,84,.35);transform-origin:top center;will-change:transform}
.sk-card.pb-block--mint{background:var(--pb-mint)}
.sk-card.pb-block--sage{background:var(--pb-sage)}
.sk-card.pb-block--lime{background:var(--pb-lime)}
.sk-card.pb-block--petrol{background:var(--pb-petrol);color:#EAF1EE}
.sk-copy{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,3.4vw,56px)}
.sk-n{font-family:var(--pz-ui);font-weight:500;font-size:clamp(96px,10vw,170px);line-height:.8;letter-spacing:-.07em;color:rgba(2,61,84,.14)}
.pb-block--petrol .sk-n{color:rgba(195,222,154,.25)}
.sk-copy h3{font-family:var(--pz-ui);font-weight:500;font-size:clamp(34px,3.4vw,54px);letter-spacing:-.045em;line-height:1;margin-bottom:14px}
.sk-lede{font-family:var(--pz-body);font-size:clamp(17px,1.3vw,19px);line-height:1.55;color:var(--pb-soft);max-width:38ch}
.pb-block--petrol .sk-lede{color:rgba(234,241,238,.78)}
.pb-block--petrol .pb-rx{color:rgba(234,241,238,.7);border-bottom-color:rgba(234,241,238,.2)}
.sk-note{display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(2,61,84,.12);font-family:var(--pz-ui);font-size:14.5px;font-weight:500;color:var(--pb-text)}
.sk-note svg{flex:none;width:22px;height:22px;padding:4px;border-radius:7px;background:var(--pb-petrol);color:#C3DE9A}
.pb-block--petrol .sk-note{color:#F2EFE6;border-top-color:rgba(234,241,238,.16)}
.pb-block--petrol .sk-note svg{background:#C3DE9A;color:var(--pb-petrol)}
.sk-img{position:relative;margin:12px;border-radius:var(--pb-r-sm);overflow:hidden;background:#d9e3df}
.sk-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}

/* ---------- journey: winding path ---------- */
.jr{margin-top:clamp(64px,7vw,104px)}
.jr-head{display:grid;grid-template-columns:1.1fr .9fr;gap:20px 64px;align-items:end;margin-bottom:clamp(28px,3vw,44px)}
.jr-head .pb-lede{justify-self:end}
.jr-title{font-family:var(--pz-ui);font-weight:500;font-size:clamp(32px,3.4vw,54px);letter-spacing:-.045em;line-height:1.02;color:var(--pb-text)}
.jr-title span{color:var(--pb-mute)}
.jr-map{position:relative;height:clamp(560px,52vw,680px);border-radius:var(--pb-r);background:linear-gradient(180deg,#F3F6F2,#EAF3EE);overflow:hidden}
.jr-map::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(2,61,84,.08) 1.2px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent)}
.jr-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.jr-base{fill:none;stroke:rgba(2,61,84,.14);stroke-width:2;stroke-dasharray:2 8;stroke-linecap:round}
.jr-line{fill:none;stroke:var(--pb-teal);stroke-width:3;stroke-linecap:round}
.jr-van{position:absolute;left:0;top:0;z-index:3;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;display:grid;place-items:center;background:var(--pb-petrol);color:#C3DE9A;box-shadow:0 0 0 6px rgba(195,222,154,.45), 0 16px 30px -12px rgba(2,61,84,.6);will-change:transform}
.jr-van svg{width:20px;height:20px}
.jr-nodes{position:absolute;inset:0}
.jr-node{position:absolute;width:clamp(170px,15vw,220px);transform:translateX(-50%);text-align:center}
.jr-dot{position:relative;display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:18px;background:#fff;color:var(--pb-mute);box-shadow:0 0 0 1px rgba(2,61,84,.1), 0 14px 26px -18px rgba(2,61,84,.5);transition:background-color .6s, color .6s, transform .8s var(--pz-expo), box-shadow .6s}
.jr-dot svg{width:24px;height:24px}
.jr-dot em{position:absolute;top:-9px;right:-9px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;font-style:normal;font-family:var(--pz-ui);font-size:11px;font-weight:700;color:var(--pb-mute);box-shadow:0 0 0 1px rgba(2,61,84,.12);transition:background-color .6s, color .6s}
.jr-node b{display:block;font-family:var(--pz-ui);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--pb-text);margin-bottom:6px;opacity:.55;transition:opacity .6s}
.jr-node p{font-family:var(--pz-body);font-size:14px;line-height:1.5;color:var(--pb-soft);opacity:.55;transition:opacity .6s}
.jr-node.is-on .jr-dot{background:var(--pb-petrol);color:#C3DE9A;transform:translateY(-4px) scale(1.06);box-shadow:0 0 0 6px rgba(1,150,138,.14), 0 20px 34px -16px rgba(2,61,84,.6)}
.jr-node.is-on .jr-dot em{background:#C3DE9A;color:var(--pb-petrol)}
.jr-node.is-on b, .jr-node.is-on p{opacity:1}

/* ---------- solutions: expanding panels ---------- */
.xps{display:flex;gap:12px;height:clamp(460px,46vw,580px)}
.xp{position:relative;flex:1;min-width:0;border-radius:var(--pb-r);overflow:hidden;color:var(--pb-text);transition:flex-grow 1s var(--pz-expo)}
.xp.is-open{flex-grow:2.6}
.xp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.6s var(--pz-expo), filter .8s;filter:saturate(.8)}
.xp.is-open .xp-img{transform:scale(1);filter:saturate(1)}
.xp-shade{position:absolute;inset:0;transition:opacity .8s}
.xp--mint .xp-shade{background:linear-gradient(0deg,#E1F1EC 30%,rgba(225,241,236,.75) 55%,rgba(225,241,236,.2))}
.xp--sage .xp-shade{background:linear-gradient(0deg,#E8EFDD 30%,rgba(232,239,221,.75) 55%,rgba(232,239,221,.2))}
.xp--petrol{color:#EAF1EE}
.xp--petrol .xp-shade{background:linear-gradient(0deg,#023D54 30%,rgba(2,61,84,.78) 55%,rgba(2,61,84,.25))}
.xp:not(.is-open) .xp-shade{opacity:.96}
.xp.is-open .xp-shade{background-size:100% 100%}
.xp-label{position:absolute;left:24px;bottom:26px;display:flex;flex-direction:column;gap:10px;transition:opacity .5s, transform .8s var(--pz-expo)}
.xp-label span{font-family:var(--pz-ui);font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--pb-soft)}
.xp--petrol .xp-label span{color:rgba(234,241,238,.6)}
.xp-label b{font-family:var(--pz-ui);font-weight:500;font-size:clamp(26px,2.2vw,34px);letter-spacing:-.04em;writing-mode:vertical-rl;transform:rotate(180deg)}
.xp.is-open .xp-label{opacity:0;transform:translateY(20px);pointer-events:none}
.xp-body{position:absolute;left:clamp(24px,2.6vw,40px);right:clamp(24px,2.6vw,40px);bottom:clamp(24px,2.6vw,40px);display:flex;flex-direction:column;align-items:flex-start;opacity:0;transform:translateY(30px);transition:opacity .5s, transform .9s var(--pz-expo)}
.xp.is-open .xp-body{opacity:1;transform:none;transition-delay:.25s}
.xp-body b{font-family:var(--pz-ui);font-weight:500;font-size:clamp(34px,3.4vw,54px);letter-spacing:-.045em;line-height:1;margin-bottom:14px}
.xp-text{font-family:var(--pz-body);font-size:17px;line-height:1.55;color:var(--pb-soft);max-width:44ch;margin-bottom:22px}
.xp--petrol .xp-text{color:rgba(234,241,238,.78)}
.xp--petrol .pb-rx{color:rgba(234,241,238,.7);border-bottom-color:rgba(234,241,238,.2)}
.xp--petrol .pb-more{color:#F2EFE6}

/* ---------- specialties hover text ---------- */
.pz-scard__body{transition:transform .8s var(--pz-expo)}
.pz-scard__more{display:block;max-height:0;opacity:0;overflow:hidden;transition:max-height .8s var(--pz-expo), opacity .5s, margin .8s var(--pz-expo)}
.pz-scard__more > span:first-child{display:block;font-family:var(--pz-body);font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.88);margin-bottom:16px}
.pz-scard__btn{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px;border-radius:10px;background:#fff;color:var(--pb-text);font-family:var(--pz-ui);font-size:13.5px;font-weight:600}
.pz-scard__btn svg{width:14px;height:14px;transition:transform .6s var(--pz-expo)}
.pz-scard:hover .pz-scard__btn svg{transform:translateX(4px)}
.pz-scard:hover .pz-scard__more{max-height:220px;opacity:1;margin-top:12px}
.pz-scard::after{transition:background .8s}
.pz-scard:hover::after{background:linear-gradient(180deg,rgba(2,47,65,.05) 20%,rgba(2,47,65,.55) 50%,rgba(2,47,65,.95) 100%)}
.pz-scard:hover .pz-scard__go{display:none}

/* ---------- team: bigger, full width ---------- */
.ed--team .pz-cf{height:clamp(480px,44vw,640px)}
.ed--team .pz-cf__card{width:clamp(280px,26vw,420px)}

/* ---------- reviews: branded sources ---------- */
.rv{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:12px}
.rv-sources{display:grid;gap:12px;align-content:start}
.rv-src{position:relative;display:grid;gap:14px;text-align:left;padding:24px 26px;border-radius:var(--pb-r);background:#fff;box-shadow:0 0 0 1.5px transparent;transition:box-shadow .5s, transform .7s var(--pz-expo), background-color .5s}
.rv-src:hover{transform:translateY(-3px)}
.rv-src[aria-selected="false"]{background:rgba(255,255,255,.55)}
.rv-src--google[aria-selected="true"]{box-shadow:0 0 0 1.5px #4285F4, 0 24px 44px -30px rgba(66,133,244,.6)}
.rv-src--tp[aria-selected="true"]{box-shadow:0 0 0 1.5px #00B67A, 0 24px 44px -30px rgba(0,182,122,.6)}
.rv-src__top{display:flex;align-items:center;gap:10px;font-family:var(--pz-ui);font-size:15px;font-weight:600;color:var(--pb-text)}
.rv-logo{width:22px;height:22px}
.rv-src__score{display:flex;align-items:center;gap:14px}
.rv-src__score strong{font-family:var(--pz-ui);font-weight:500;font-size:clamp(46px,4vw,62px);letter-spacing:-.05em;line-height:1;color:var(--pb-text)}
.rv-src__meta{font-family:var(--pz-body);font-size:14.5px;color:var(--pb-soft)}
.rv-src__meta b{color:#00B67A}
.rv-gstars{color:#FBBC05;font-size:18px;letter-spacing:.08em}
.rv-tpstars{display:inline-flex;gap:3px}
.rv-tpstars i{width:22px;height:22px;background:#00B67A;-webkit-mask:none;position:relative}
.rv-tpstars i::after{content:"★";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-style:normal;font-size:15px}
.rv-joined{display:flex;align-items:center;gap:14px;padding:18px 24px;border-radius:var(--pb-r);background:var(--pb-petrol);color:rgba(234,241,238,.8);font-family:var(--pz-ui);font-size:14px}
.rv-joined b{color:#fff}
.rv-joined .pb-faces{margin:0}
.rv-joined .pb-faces span{width:40px;height:40px;border-color:var(--pb-petrol)}
.rv-stage{position:relative;display:grid;grid-template-rows:1fr auto;padding:clamp(26px,3vw,44px);border-radius:var(--pb-r);background:#fff;min-height:420px}
.rv-q{grid-area:1/1;margin:0;opacity:0;visibility:hidden;display:flex;flex-direction:column;gap:18px}
.rv-q.is-on{opacity:1;visibility:visible}
.rv-q__head{display:flex;align-items:center;gap:14px;font-family:var(--pz-ui)}
.rv-q__head b{display:block;font-size:17px;font-weight:600;color:var(--pb-text)}
.rv-q__head small{display:block;font-size:13.5px;color:var(--pb-soft)}
.rv-q__logo{width:26px;height:26px;margin-left:auto}
.rv-av{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:var(--pz-ui);font-size:15px;font-weight:700;color:#fff}
.rv-av--g{background:linear-gradient(135deg,#4285F4,#34A853)}
.rv-av--tp{background:#00B67A}
.rv-q blockquote{font-family:var(--pz-body);font-size:clamp(21px,1.9vw,29px);line-height:1.45;letter-spacing:-.01em;color:var(--pb-text)}
.rv-nav{grid-row:2;display:flex;align-items:center;gap:14px;padding-top:22px;margin-top:22px;border-top:1px solid var(--pb-line)}
.rv-nav .ed-arrow{box-shadow:inset 0 0 0 1.5px rgba(2,61,84,.2);border-radius:var(--pb-r-sm);color:var(--pb-text)}
.rv-nav .ed-arrow:hover{background:var(--pb-petrol);color:#fff}
.rv-count{font-family:var(--pz-ui);font-size:13px;font-weight:600;letter-spacing:.16em;color:var(--pb-mute)}
.rv-count b{color:var(--pb-text)}
.rv-prog{flex:1;max-width:200px;margin-left:auto;height:2px;border-radius:2px;background:rgba(2,61,84,.1);overflow:hidden}
.rv-prog i{display:block;height:100%;background:var(--pb-petrol);transform-origin:left;transform:scaleX(var(--p,0))}
.rv[data-src="tp"] .rv-prog i{background:#00B67A}
.rv[data-src="google"] .rv-prog i{background:#4285F4}
#reviews .pb-awards{margin-top:12px}

/* ---------- faq premium ---------- */
.fq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,110px);align-items:start}
.fq-aside{position:sticky;top:110px}
.fq-card{margin-top:34px;padding:clamp(26px,2.6vw,36px);border-radius:var(--pb-r);background:var(--pb-petrol);color:#EAF1EE;position:relative;overflow:hidden}
.fq-card::before{content:"";position:absolute;right:-40%;top:-50%;width:90%;height:120%;border-radius:50%;background:radial-gradient(closest-side,rgba(1,150,138,.4),transparent)}
.fq-card > *{position:relative}
.fq-card__k{font-family:var(--pz-ui);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#C3DE9A;margin-bottom:12px}
.fq-card__t{font-family:var(--pz-body);font-size:17px;line-height:1.5;color:rgba(234,241,238,.85);margin-bottom:22px}
.fq-card__links{display:grid;gap:10px;margin-bottom:24px}
.fq-card__links a{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.07);font-family:var(--pz-ui);font-size:15px;font-weight:500;color:#fff;transition:background-color .4s, transform .6s var(--pz-expo)}
.fq-card__links a:hover{background:rgba(255,255,255,.13);transform:translateX(4px)}
.fq-card__links svg{flex:none;width:36px;height:36px;padding:9px;border-radius:10px;background:#C3DE9A;color:var(--pb-petrol)}
.fq-card__links small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(234,241,238,.55)}
.pb-btn--lime{background:#C3DE9A;color:var(--pb-petrol)}
.pb-btn--lime:hover{background:#D3E8B0}
.fq-list{display:grid;gap:10px}
.fq-item{border-radius:var(--pb-r);background:#fff;transition:background-color .5s, box-shadow .6s}
.fq-item:hover{background:#FAFCFA}
.fq-item.is-open{background:var(--pb-mint);box-shadow:0 24px 44px -34px rgba(2,61,84,.45)}
.fq-q{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;text-align:left;padding:24px 26px}
.fq-n{font-family:var(--pz-ui);font-size:13px;font-weight:600;letter-spacing:.14em;color:var(--pb-mute);transition:color .4s}
.fq-item.is-open .fq-n{color:var(--pb-teal)}
.fq-t{font-family:var(--pz-ui);font-size:clamp(17px,1.35vw,20px);font-weight:500;letter-spacing:-.02em;line-height:1.35;color:var(--pb-text)}
.fq-ico{position:relative;width:40px;height:40px;border-radius:12px;background:#fff;transition:background-color .4s, transform .7s var(--pz-expo)}
.fq-ico::before,.fq-ico::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.8px;margin:-.9px 0 0 -7px;background:var(--pb-text);border-radius:2px;transition:transform .6s var(--pz-expo), background-color .4s}
.fq-ico::after{transform:rotate(90deg)}
.fq-item.is-open .fq-ico{background:var(--pb-petrol);transform:rotate(180deg)}
.fq-item.is-open .fq-ico::before,.fq-item.is-open .fq-ico::after{background:#C3DE9A}
.fq-item.is-open .fq-ico::after{transform:rotate(0)}
.fq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--pz-expo)}
.fq-a > div{overflow:hidden;padding:0 26px 0 calc(26px + 20px + 2.4ch);font-family:var(--pz-body);font-size:16.5px;line-height:1.65;color:var(--pb-soft)}
.fq-item.is-open .fq-a{grid-template-rows:1fr}
.fq-item.is-open .fq-a > div{padding-bottom:26px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pc{grid-template-columns:1fr;padding-right:0}
  .jr-head{grid-template-columns:1fr}
  .jr-head .pb-lede{justify-self:start}
  .jr-map{height:auto;padding:24px 20px}
  .jr-svg, .jr-van{display:none}
  .jr-nodes{position:relative;display:grid;gap:22px}
  .jr-node{position:relative;left:auto !important;top:auto !important;transform:none;width:auto;display:grid;grid-template-columns:64px 1fr;gap:4px 18px;text-align:left}
  .jr-dot{grid-row:span 2;margin:0}
  .jr-node b, .jr-node p{opacity:1}
  .sk-card{grid-template-columns:1fr;position:relative;top:auto}
  .sk-img{min-height:260px}
  .xps{flex-direction:column;height:auto}
  .xp{min-height:360px}
  .xp-label{display:none}
  .xp-body{opacity:1;transform:none}
  .rv{grid-template-columns:1fr}
  .rv-sources{grid-template-columns:1fr 1fr}
  .rv-joined{grid-column:1 / -1}
  .fq-grid{grid-template-columns:1fr}
  .fq-aside{position:static}
}
@media (max-width:640px){
  .rv-sources{grid-template-columns:1fr}
  .fq-a > div{padding-left:26px}
  .pz-scard__more{max-height:none;opacity:1;margin-top:10px}
  .pz-scard__more > span:first-child{display:none}
}
.sk-card{--dim:0}
.sk-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#022F41;opacity:var(--dim);pointer-events:none;z-index:3}
.ed--team .pz-cf{height:clamp(500px,46vw,700px)}
.ed--team .pz-cf__card{width:clamp(280px,29vw,460px)}

/* ---------- v11.1 fixes ---------- */
/* team: stage height derived from card size, heading always on top */
.ed--team{padding-top:clamp(64px,6vw,96px) !important;padding-bottom:clamp(56px,5vw,80px) !important}
.ed--team .ed-head{position:relative;z-index:6}
.ed--team .pz-cf{--cfw:clamp(240px,21vw,360px);height:calc(var(--cfw) * 1.25 + 44px);margin-top:clamp(28px,3vw,44px)}
.ed--team .pz-cf__card{width:var(--cfw)}
.ed--team .pz-cf__bar{margin-top:6px}

/* review sources: soft brand tints */
.rv-src--google{background:#F1F6FE}
.rv-src--tp{background:#ECF7F1}
.rv-src[aria-selected="false"]{opacity:.78}
.rv-src--google[aria-selected="false"]{background:#F6F9FE}
.rv-src--tp[aria-selected="false"]{background:#F3FAF6}
.rv-src[aria-selected="false"]:hover{opacity:1}

/* awards: calm white panel with logo tiles (no lime band / divider lines) */
#reviews .pb-awards{background:#fff;gap:12px;grid-template-columns:1.2fr repeat(4,1fr)}
#reviews .pb-awards__t .pb-tag::before{background:var(--pb-teal)}
.pb-aw{border-left:0;padding:18px 18px 20px;border-radius:12px;background:var(--pb-porcelain);transition:transform .7s var(--pz-expo), box-shadow .7s var(--pz-expo), background-color .4s}
.pb-aw:hover{transform:translateY(-4px);background:#fff;box-shadow:0 0 0 1px rgba(2,61,84,.08), 0 22px 40px -28px rgba(2,61,84,.45)}
.pb-aw img{mix-blend-mode:normal;height:44px}

/* CTA band: deep petrol so it separates from the white FAQ */
.pb-band{background:var(--pb-petrol);position:relative;overflow:hidden}
.pb-band::before{content:"";position:absolute;right:-12%;top:-120%;width:46%;height:320%;border-radius:50%;background:radial-gradient(closest-side,rgba(1,150,138,.4),transparent);pointer-events:none}
.pb-band > *{position:relative}
.pb-band__t{color:#F2EFE6}
.pb-band .pb-btn{background:#C3DE9A;color:var(--pb-petrol)}
.pb-band .pb-btn:hover{background:#D3E8B0}
.pb-band .pb-btn--ghost{background:transparent;color:#F2EFE6;box-shadow:inset 0 0 0 1.5px rgba(242,239,230,.35)}
.pb-band .pb-btn--ghost:hover{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1.5px #F2EFE6}
/* FAQ opens on porcelain so the change is visible */
#faq{border-top:0}
@media (max-width:1100px){ #reviews .pb-awards{grid-template-columns:1fr 1fr} }

/* studio credit */
.pz-credit{color:inherit;text-decoration:none;border-bottom:1px solid rgba(234,241,238,.35);padding-bottom:1px;transition:border-color .4s, color .4s}
.pz-credit:hover{color:#C3DE9A;border-color:#C3DE9A}

/* ---------- sticky header: tinted frosted glass ----------
   Once the page scrolls, the bar becomes a mint-tinted pane of frosted glass
   that keeps its colour over any section: deep blur, a bright top edge. */
.pz-hd.is-condensed .pz-hd__bar{
  background:linear-gradient(180deg,rgba(232,244,239,.9) 0%,rgba(214,236,229,.86) 100%);
  border-color:rgba(255,255,255,.75);
  -webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(2,61,84,.07), 0 18px 40px -24px rgba(2,61,84,.35);
}

/* ---------- journey v2: glowing road, a van that steers, a live step label ---------- */
.jr-line{stroke:url(#jr-grad);stroke-width:3.5}
.jr-glow{fill:none;stroke:#3FB8B0;stroke-width:14;stroke-linecap:round;opacity:.16;filter:blur(6px)}
.jr-base{stroke:rgba(2,61,84,.16);stroke-dasharray:1 9;stroke-width:2.4}
.jr-van{width:auto;height:auto;margin:0;border-radius:0;background:none;box-shadow:none;display:block;color:inherit}
.jr-van__body{position:absolute;left:-23px;top:-23px;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--pb-petrol);color:#C3DE9A;
  box-shadow:0 0 0 7px rgba(195,222,154,.38), 0 18px 32px -12px rgba(2,61,84,.65);will-change:transform}
.jr-van__body svg{width:21px;height:21px}
.jr-tag{position:absolute;left:0;top:-62px;white-space:nowrap;padding:7px 12px;border-radius:99px;background:#fff;
  font-family:var(--pz-ui);font-size:12.5px;font-weight:600;color:var(--pb-text);box-shadow:0 12px 26px -16px rgba(2,61,84,.55)}
.jr-tag::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--pb-teal);vertical-align:1px;animation:jr-live 1.6s ease-in-out infinite}
@keyframes jr-live{50%{opacity:.25}}
.jr-node b, .jr-node p{opacity:.35}
.jr-node.is-on .jr-dot{background:#E1F1EC;color:var(--pb-teal);transform:none;box-shadow:0 0 0 1px rgba(1,150,138,.25), 0 14px 26px -18px rgba(2,61,84,.5)}
.jr-node.is-on .jr-dot em{background:var(--pb-teal);color:#fff}
.jr-node.is-on b, .jr-node.is-on p{opacity:.8}
.jr-node.is-now .jr-dot{background:var(--pb-petrol);color:#C3DE9A;transform:translateY(-4px) scale(1.08);box-shadow:0 0 0 7px rgba(1,150,138,.14), 0 22px 36px -16px rgba(2,61,84,.6)}
.jr-node.is-now .jr-dot::after{content:"";position:absolute;inset:-8px;border-radius:22px;border:1.5px solid var(--pb-teal);animation:jr-ping 1.8s var(--pz-expo) infinite}
@keyframes jr-ping{0%{opacity:.7;transform:scale(.9)}100%{opacity:0;transform:scale(1.25)}}
.jr-node.is-now .jr-dot em{background:#C3DE9A;color:var(--pb-petrol)}
.jr-node.is-now b, .jr-node.is-now p{opacity:1}
@media (max-width:1100px){.jr-tag{display:none}}

/* ---------- spacing rhythm ----------
   One consistent beat between sections; where two neighbours share the same
   background there is no colour change to mark the break, so the gap closes up. */
.pb, .ed{padding-top:clamp(64px,6vw,96px);padding-bottom:clamp(64px,6vw,96px)}
.ed--team{padding-top:clamp(64px,6vw,96px) !important;padding-bottom:clamp(64px,6vw,96px) !important}
#reviews{padding-bottom:clamp(40px,3.6vw,56px)}
#reviews + #faq{padding-top:clamp(40px,3.6vw,56px)}

/* ---------- partnership panels: photos stay clear, colour only where the text sits ---------- */
.xp-img{filter:none}
.xp--mint .xp-shade{background:linear-gradient(0deg,#E1F1EC 0%,#E1F1EC 26%,rgba(225,241,236,.82) 40%,rgba(225,241,236,0) 64%)}
.xp--sage .xp-shade{background:linear-gradient(0deg,#E8EFDD 0%,#E8EFDD 26%,rgba(232,239,221,.82) 40%,rgba(232,239,221,0) 64%)}
.xp--petrol .xp-shade{background:linear-gradient(0deg,#023D54 0%,#023D54 26%,rgba(2,61,84,.82) 40%,rgba(2,61,84,0) 64%)}
.xp:not(.is-open) .xp-shade{opacity:1}
.xp:not(.is-open) .xp-img{filter:saturate(.85)}

/* header switch on pages that belong to neither side */
.pz-aud2.is-none i{opacity:0}
